[LinuxBIOS] buildrom configurations for serengeti-cheetah 64-bit
Myles Watson
myles at pel.cs.byu.edu
Mon Oct 29 17:24:38 CET 2007
> > 2. It would be nice to be able to set the ROM size if you have a larger
> > one than comes standard with the platform
>
> This is hard to do in v2, and I'm not sure how we could get around it,
> because it would involve in-place SED fu and other such things that I'm
> not 100% sure we want to be doing (and supporting). This would be easier
> for v3, and if its not easier for v3, now is the time to make it easier.
Too bad.
>
> Comments below:
>
> >diff -urN buildrom-devel.org/packages/kernel/kernel.inc buildrom-
> devel/packages/kernel/kernel.inc
> >--- buildrom-devel.org/packages/kernel/kernel.inc 2007-10-25
> 16:06:51.000000000 -0600
> >+++ buildrom-devel/packages/kernel/kernel.inc 2007-10-25
> 16:50:04.000000000 -0600
> >@@ -41,25 +41,26 @@
> > @ touch $@
>
> > $(KERNEL_SRC_DIR)/.config: $(KERNEL_STAMP_DIR)/.patched
> >+ @ echo $(KERNEL_CONFIG)
> > @ cat $(KERNEL_CONFIG) | sed -e
> s:^CONFIG_LOCALVERSION=.*:CONFIG_LOCALVERSION=\"$(ROM_VERSION)\": >
> $(KERNEL_SRC_DIR)/.config
>
> What are we echoing here?
I was debugging the build and forgot to remove it
>
> >-$(KERNEL_SRC_DIR)/arch/i386/boot/bzImage: $(KERNEL_SRC_DIR)/.config
> >+$(KERNEL_SRC_DIR)/arch/$(UCLIBC_ARCH)/boot/bzImage:
> $(KERNEL_SRC_DIR)/.config
>
> Throughout, I'll vote for LAB_ARCH or TARGET_ARCH over UCLIBC_ARCH.
Either one is fine with me. UCLIBC_ARCH was already there.
>
> > @ echo "Building kernel..."
> >- @ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=i386 \
> >+ @ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=$(UCLIBC_ARCH) \
> > KERNEL_CC="$(CC)" KERNEL_LD="$(LD)" > $(KERNEL_BUILD_LOG) 2>&1
>
> >-$(OUTPUT_DIR)/bzImage: $(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
> >+$(OUTPUT_DIR)/bzImage:
> $(KERNEL_SRC_DIR)/arch/$(UCLIBC_ARCH)/boot/bzImage
> > @ install -d $(OUTPUT_DIR)
> > @ install -m 0644 $< $@
>
> >-$(OUTPUT_DIR)/vmlinux: $(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
> >+$(OUTPUT_DIR)/vmlinux:
> $(KERNEL_SRC_DIR)/arch/$(UCLIBC_ARCH)/boot/bzImage
> > @ install -d $(OUTPUT_DIR)
> > @ install -m 0644 $(KERNEL_SRC_DIR)/vmlinux $@
>
> >$(KERNEL_STAMP_DIR)/.headers: $(KERNEL_SRC_DIR)/.config
> $(STAGING_DIR)/host/bin/unifdef
> > @ echo "Installing kernel headers..."
> > @( export PATH=$(PATH):$(STAGING_DIR)/host/bin; \
> >- $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=i386 \
> >+ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=$(UCLIBC_ARCH) \
> > INSTALL_HDR_PATH=$(STAGING_DIR)/ headers_install >
> $(KERNEL_INSTALL_LOG) 2>&1)
> > @ touch $@
>
> >diff -urN buildrom-devel.org/packages/kernel/serengeti_cheetah-kernel.mk
> buildrom-devel/packages/kernel/serengeti_cheetah-kernel.mk
> >--- buildrom-devel.org/packages/kernel/serengeti_cheetah-kernel.mk
> 2007-10-24 12:05:13.000000000 -0600
> >+++ buildrom-devel/packages/kernel/serengeti_cheetah-kernel.mk
2007-10-
> 25 16:59:06.000000000 -0600
> >@@ -2,10 +2,10 @@
>
> > KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
> > KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
> >-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah
> >+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah-
> x86_64
>
> This obviously would need to be addressed as discussed above.
Yes.
>
> >-#TINY_DIR=$(PACKAGE_DIR)/kernel/patches/tiny
> >-#KERNEL_PATCHES += $(shell ls $(TINY_DIR)/*.patch)
> >+TINY_DIR=$(PACKAGE_DIR)/kernel/patches/tiny-2.6.18.1
> >+KERNEL_PATCHES += $(shell ls $(TINY_DIR)/*.patch)
>
> This seems to be your local stuff - we would want to make sure that this
> gets fixed right - tiny should match the kernel in question.
Yes. Ward downloads the tiny patches in his s2882, but I didn't see other
sets at the same location.
>
> > $(SOURCE_DIR)/$(KERNEL_SOURCE):
>
> <snip defconfig>
>
> diff -urN buildrom-devel.org/packages/uclibc/uclibc.mk buildrom-
> devel/packages/uclibc/uclibc.mk
> --- buildrom-devel.org/packages/uclibc/uclibc.mk 2007-10-24
> 15:16:38.000000000 -0600
> +++ buildrom-devel/packages/uclibc/uclibc.mk 2007-10-26
> 08:48:56.000000000 -0600
> @@ -26,13 +26,14 @@
> @ touch $@
>
> $(UCLIBC_SRC_DIR)/.config: $(UCLIBC_STAMP_DIR)/.unpacked
> >- @ cp $(PACKAGE_DIR)/uclibc/conf/defconfig $(UCLIBC_SRC_DIR)/.config
> >+ @ cp $(PACKAGE_DIR)/uclibc/conf/defconfig-$(UCLIBC_ARCH)
> $(UCLIBC_SRC_DIR)/.config
>
> > $(UCLIBC_SRC_DIR)/lib/libc.a: $(UCLIBC_SRC_DIR)/.config
> > @ echo "Building uclibc..."
> >+ @ echo $(UCLIBC_ARCH)
> > @ ( unset CFLAGS; unset LDFLAGS; \
> > $(MAKE) -C $(UCLIBC_SRC_DIR) TARGET_ARCH="$(UCLIBC_ARCH)" \
> >- CC="$(CC) $(CROSS_CFLAGS)" LD="$(LD) $(CROSS_LDFLAGS)" \
> >+ CC="$(CC)" LD="$(LD)" \
>
> Hmm - does uclibc do the right thing w.r.t flags now? If now, we'll need
> an
> ifdef to set teh right CC and LD flags.
It doesn't work without me messing with it.
Busybox also seems to have some problems, but I got tired of messing with it
knowing that I'd need to go back and do it cleanly later.
Myles
More information about the coreboot
mailing list