[Buildroot] [RFC] Some additions to the package/linux/Makefile.in

Ulf Samuelsson ulf at atmel.com
Fri Jul 20 13:58:48 UTC 2007


Here is some additions to the Linux support.
The basic changes are:
* Selection of Linux kernel using KConfig
	BR2_DOWNLOAD_LINUX26_VERSION
	BR2_LINUX26_VERSION
* Change of result to 
	LINUX26_KERNEL:=
	$(BINARIES_DIR)/$(PROJECT)-linux-$(LINUX26_VERSION)-$(DATE).gz
* A small bug fix
-LINUX_VERSION:=$(LINUX_VERSION)
+LINUX_VERSION:=$(LINUX26_VERSION)
* The kernel is always built in $(PROJECT_BUILD_DIR)
  even if it is the same version as the LINUX_HEADERS_VERSION
* Added some test to printout Makefile variable
  which will probably be removed a little later.

This builds at least the x86 bzImage if the std configuratio is used.
zImage is too large.
vmlinux builds with errors, but I think this is because the 
original Makefile.in is flawed.

The original seems to have a problems when LINUX_HEADERS_VERSION
is the same as LINUX26_VERSION

Comments?


Index: target/linux/Makefile.in
===================================================================
--- target/linux/Makefile.in	(revision 19180)
+++ target/linux/Makefile.in	(arbetskopia)
@@ -13,10 +13,25 @@
 # Version of Linux after applying any patches
 LINUX26_VERSION=2.6.19.2
 else
+
+ifeq ($(DOWNLOAD_LINUX26_VERSION),)
+DOWNLOAD_LINUX26_VERSION:=$(strip $(subst ",,
$(BR2_DOWNLOAD_LINUX26_VERSION)))
+#"))
+endif
+ifeq ($(DOWNLOAD_LINUX26_VERSION),)
 DOWNLOAD_LINUX26_VERSION=$(LINUX_HEADERS_VERSION)
+endif
+
+ifeq	($(LINUX26_VERSION),)
+LINUX26_VERSION:=$(strip $(subst ",,$(BR2_LINUX26_VERSION)))
+#"))
+endif
+ifeq ($(LINUX26_VERSION),)
 LINUX26_VERSION=$(LINUX_HEADERS_VERSION)
 endif
 
+endif
+
 LINUX26_SOURCE=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2
 LINUX26_BZCAT:=$(BZCAT)
 LINUX26_SITE=http://ftp.kernel.org/pub/linux/kernel/v2.6
@@ -35,6 +50,7 @@
 #"))
 endif
 endif
+
 ifndef LINUX26_FORMAT
 ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),)
 LINUX26_FORMAT=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT)))
@@ -55,13 +71,14 @@
 endif
 
 # File name for the Linux kernel binary
-LINUX26_KERNEL=
$(BINARIES_DIR)/linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH)
+LINUX26_KERNEL:=
$(BINARIES_DIR)/$(PROJECT)-linux-$(LINUX26_VERSION)-$(DATE).gz
+#LINUX26_KERNEL=
$(BINARIES_DIR)/linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH)
 
 # Version of Linux AFTER patches
 LINUX26_DIR=$(PROJECT_BUILD_DIR)/linux-$(LINUX26_VERSION)
 
 # for packages that need it
-LINUX_VERSION:=$(LINUX_VERSION)
+LINUX_VERSION:=$(LINUX26_VERSION)
 LINUX_DIR=$(LINUX26_DIR)
 LINUX_KERNEL=$(LINUX26_KERNEL)
 
@@ -83,7 +100,6 @@
 		sleep 5; \
 	fi;
 
-ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION)))
 $(DL_DIR)/$(LINUX26_SOURCE):
 	 $(WGET) -P $(DL_DIR) $(LINUX26_SITE)/$(LINUX26_SOURCE)
 
@@ -99,7 +115,6 @@
 $(LINUX26_DIR)/.patched: $(LINUX26_DIR)/.unpacked
 	toolchain/patch-kernel.sh $(LINUX26_DIR) $(LINUX26_PATCH_DIR)
 	touch $@
-endif # ($(LINUX26_VERSION),$(LINUX_HEADERS_VERSION))
 
 $(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.patched $(LINUX26_KCONFIG)
 	cp -dpf $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
@@ -166,3 +181,29 @@
 	rm -rf $(LINUX26_DIR)
 
 endif
+
+
+linux-test:
+	@echo	"BR2_PACKAGE_LINUX" $(BR2_PACKAGE_LINUX)
+	@echo	"LINUX_HEADERS_VERSION" $(LINUX_HEADERS_VERSION)
+	@echo	"BR2_DOWNLOAD_LINUX26_VERSION" $(BR2_DOWNLOAD_LINUX26_VERSION)
+	@echo	"DOWNLOAD_LINUX26_VERSION" $(DOWNLOAD_LINUX26_VERSION)
+	@echo	"BR2_LINUX26_VERSION" $(BR2_LINUX26_VERSION)
+	@echo	"LINUX26_VERSION" $(LINUX26_VERSION)
+	@echo	"LINUX26_SITE" $(LINUX26_SITE)
+	@echo	"LINUX26_DIR" $(LINUX26_DIR)
+	@echo	"LINUX26_SOURCE" $(LINUX26_SOURCE)
+	@echo	"BR2_PACKAGE_LINUX_FORMAT" $(BR2_PACKAGE_LINUX_FORMAT)
+	@echo	"LINUX26_FORMAT" $(LINUX26_FORMAT)
+	@echo	"BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION"
$(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION)
+	@echo	"BR2_CUSTOM_LINUX26_VERSION" $(BR2_CUSTOM_LINUX26_VERSION)
+	@echo	"BR2_CUSTOM_LINUX26_RC_PATCH" $(BR2_CUSTOM_LINUX26_RC_PATCH)
+	@echo	"BR2_LINUX_BSP_PATCH" $(BR2_LINUX_BSP_PATCH)
+	@echo	"BR2_LINUX26_VERSION" $(BR2_LINUX26_VERSION)
+	@echo	"BR2_LINUX26_RC_PATCH" $(BR2_LINUX26_RC_PATCH)
+	@echo	"BR2_PACKAGE_LINUX26_KCONFIG" $(BR2_PACKAGE_LINUX_KCONFIG)
+	@echo	"LINUX26_KCONFIG" $(LINUX26_KCONFIG)
+	@echo	"BR2_LINUX_BIN_CUSTOM" $(BR2_LINUX_BIN_CUSTOM)
+	@echo	"BR2_PACKAGE_LINUX_FORMAT" $(BR2_PACKAGE_LINUX_FORMAT)
+	@echo	"BR2_LINUX_IN_ROOTFS" $(BR2_LINUX_IN_ROOTFS)
+	@echo	"BR2_LINUX_2_6_22_1" $(BR2_LINUX_2_6_22_1)


Best Regards
Ulf Samuelsson






More information about the buildroot mailing list