[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