> > 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 -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios