- 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