diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/Config.in | 371 | ||||
-rw-r--r-- | target/linux/Config.in.advanced | 501 | ||||
-rw-r--r-- | target/linux/Config.in.experimental | 346 | ||||
-rw-r--r-- | target/linux/Makefile.in.advanced | 438 |
4 files changed, 1286 insertions, 370 deletions
diff --git a/target/linux/Config.in b/target/linux/Config.in index 4402381bb..c79fca2dd 100644 --- a/target/linux/Config.in +++ b/target/linux/Config.in @@ -1,28 +1,6 @@ #comment "Linux kernel options" -config BR2_PACKAGE_LINUX - bool "linux kernel" - depends on BR2_KERNEL_LINUX - default y - help - The Linux kernel. - http://www.kernel.org/ - - Note: Requires kernel-headers >= 2.6.19 since the other - kernel headers are just that (headers) and not full - kernels. This is a feature. - -config BR2_PACKAGE_LINUX_EXPERIMENTAL_CONFIG - bool "linux kernel experimental configuration" - depends on BR2_PACKAGE_LINUX - depends on BR2_TARGET_ATMEL - default n - help - More advanced configuration (in development) - - - -if ! BR2_PACKAGE_LINUX_EXPERIMENTAL_CONFIG +if BR2_KERNEL_LINUX config BR2_PACKAGE_LINUX_KCONFIG string ".config file" depends on BR2_PACKAGE_LINUX @@ -53,350 +31,3 @@ config BR2_PACKAGE_LINUX_FORMAT board-imposed value by passing LINUX26_FORMAT=<string> to make. endif - -if BR2_PACKAGE_LINUX_EXPERIMENTAL_CONFIG - -choice - prompt "Linux Kernel Version" - depends on BR2_PACKAGE_LINUX - default BR2_LINUX_2_6_22_1 if !BR2_avr32 - default BR2_LINUX_2_6_22_10 if BR2_avr32 - help - Select the specific Linux version you want to use - -config BR2_LINUX_2_6_SNAP - bool "The latest snapshot for the stable Linux kernel" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.x-git# - -config BR2_LINUX_2_6_MM - bool "With latest -mm patch for the stable Linux kernel" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.x-rc#-mm# - -config BR2_LINUX_2_6_STABLE - bool "The latest stable Linux kernel (2.6.22.1)" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.22.1 - -config BR2_LINUX_2_6_22_10 - bool "Linux 2.6.22.10" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.22.10 - -config BR2_LINUX_2_6_22_1 - bool "Linux 2.6.22.1" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.22.1 - -config BR2_LINUX_2_6_22 - bool "Linux 2.6.22" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.22 - -config BR2_LINUX_2_6_21_6 - bool "Linux 2.6.21.6" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.21.6 - -config BR2_LINUX_2_6_21_1 - bool "Linux 2.6.21.1" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.21.1 - -config BR2_LINUX_2_6_21 - bool "Linux 2.6.21" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.21 - -config BR2_LINUX_2_6_20_4 - bool "Linux 2.6.20.4" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.20.4 - -config BR2_LINUX_2_6_20 - bool "Linux 2.6.20" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.20 - -config BR2_LINUX_2_6_19_2 - bool "Linux 2.6.19.2" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.19.2 - -config BR2_LINUX_2_6_19 - bool "Linux 2.6.19" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.19 - -config BR2_LINUX_2_6_18 - bool "Linux 2.6.18" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.18 - -config BR2_LINUX_2_6_17 - bool "Linux 2.6.17" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.17 - -config BR2_LINUX_2_6_16 - bool "Linux 2.6.16" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.16 - -config BR2_LINUX_2_6_15 - bool "Linux 2.6.15" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.15 - -config BR2_LINUX_2_6_23 - bool "Linux 2.6.23" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.23 - -config BR2_LINUX_CUSTOM - bool "Linux <custom> version" - depends BR2_PACKAGE_LINUX - help - Linux <your selection> - -endchoice - -config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION - string "Linux Tarball version" - depends on BR2_LINUX_CUSTOM - default "linux-2.6.22" - -config BR2_CUSTOM_LINUX26_VERSION - string "Linux Version" - depends on BR2_LINUX_CUSTOM - default "linux-2.6.22-version" - -config BR2_CUSTOM_LINUX26_RC_PATCH - string "RC patch (if needed)" - depends on BR2_LINUX_CUSTOM - default "patch-2.6.22-rc6-mm1.bz2" - -menu "Patches" - depends on BR2_PACKAGE_LINUX - -config BR2_LINUX_BSP_PATCH - string "Additional patch to apply (supply full path)" - default "" - -endmenu - -config BR2_DOWNLOAD_LINUX26_VERSION - string #"Selected Tarball:" - default "2.6.15" if BR2_LINUX_2_6_15 - default "2.6.16" if BR2_LINUX_2_6_16 - default "2.6.17" if BR2_LINUX_2_6_17 - default "2.6.18" if BR2_LINUX_2_6_18 - default "2.6.19" if BR2_LINUX_2_6_19 - default "2.6.19.2" if BR2_LINUX_2_6_19_2 - default "2.6.20" if BR2_LINUX_2_6_20 - default "2.6.20.4" if BR2_LINUX_2_6_20_4 - default "2.6.21" if BR2_LINUX_2_6_21 - default "2.6.21.1" if BR2_LINUX_2_6_21_1 - default "2.6.21.6" if BR2_LINUX_2_6_21_6 - default "2.6.22" if BR2_LINUX_2_6_22 - default "2.6.22.1" if BR2_LINUX_2_6_22_1 - default "2.6.22.10" if BR2_LINUX_2_6_22_10 - default "2.6.22" if BR2_LINUX_2_6_23_RC1 - default "2.6.22" if BR2_LINUX_2_6_SNAP - default "2.6.22" if BR2_LINUX_2_6_MM - default $(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION) if BR2_LINUX_CUSTOM - -config BR2_LINUX26_VERSION - string #"Selected Version:" - default "2.6.15" if BR2_LINUX_2_6_15 - default "2.6.16" if BR2_LINUX_2_6_16 - default "2.6.17" if BR2_LINUX_2_6_17 - default "2.6.18" if BR2_LINUX_2_6_18 - default "2.6.19" if BR2_LINUX_2_6_19 - default "2.6.19.2" if BR2_LINUX_2_6_19_2 - default "2.6.20" if BR2_LINUX_2_6_20 - default "2.6.20.4" if BR2_LINUX_2_6_20_4 - default "2.6.21" if BR2_LINUX_2_6_21 - default "2.6.21.1" if BR2_LINUX_2_6_21_1 - default "2.6.21.6" if BR2_LINUX_2_6_21_6 - default "2.6.22" if BR2_LINUX_2_6_22 - default "2.6.22.1" if BR2_LINUX_2_6_22_1 - default "2.6.22.10" if BR2_LINUX_2_6_22_10 - default "2.6.22" if BR2_LINUX_2_6_23_RC1 - default "2.6.22" if BR2_LINUX_2_6_SNAP - default "2.6.22" if BR2_LINUX_2_6_MM - default $(BR2_CUSTOM_LINUX26_VERSION) if BR2_LINUX_CUSTOM - -config BR2_LINUX26_RC_PATCH - string #"Selected Patch:" - default "" if BR2_LINUX_2_6_15 - default "" if BR2_LINUX_2_6_16 - default "" if BR2_LINUX_2_6_17 - default "" if BR2_LINUX_2_6_18 - default "" if BR2_LINUX_2_6_19 - default "" if BR2_LINUX_2_6_19_2 - default "" if BR2_LINUX_2_6_20 - default "" if BR2_LINUX_2_6_20_4 - default "" if BR2_LINUX_2_6_21 - default "" if BR2_LINUX_2_6_21_1 - default "" if BR2_LINUX_2_6_21_6 - default "" if BR2_LINUX_2_6_22 - default "" if BR2_LINUX_2_6_22_1 - default "" if BR2_LINUX_2_6_22_10 - default "patch-2.6.23-rc1.bz2" if BR2_LINUX_2_6_23_RC1 - default $(BR2_CUSTOM_LINUX26_RC_PATCH) if BR2_LINUX_CUSTOM - -choice - prompt "Linux Kernel Configuration" - depends on BR2_PACKAGE_LINUX - default BR2_PACKAGE_LINUX_USE_KCONFIG - help - Select the way to configure the Linux - -config BR2_PACKAGE_LINUX_USE_KCONFIG - bool ".config file" - depends on BR2_PACKAGE_LINUX - help - kernel's .config to use to build a kernel for the target. - - If the above setting is empty, you can change the default - board-imposed value by passing LINUX26_KCONFIG=<path> to - make. - -config BR2_LINUX26_DEFCONFIG - bool "Run make <board>_defconfig " - depends BR2_PACKAGE_LINUX - help - Configure Linux by make <board>_defconfig - -config BR2_LINUX_CUSTOMIZE - bool "Run make ARCH=$(ARCH) xconfig before build" - depends BR2_PACKAGE_LINUX - help - Configure Linux by make xconfig -endchoice - -config BR2_PACKAGE_LINUX_KCONFIG - string ".config file" - depends on BR2_PACKAGE_LINUX_USE_KCONFIG - default "$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(LINUX26_VERSION).config" - help - kernel's .config to use to build a kernel for the target. - - If the above setting is empty, you can change the default - board-imposed value by passing LINUX26_KCONFIG=<path> to - make. - -choice - prompt "kernel binary format" - depends on BR2_PACKAGE_LINUX - default BR2_LINUX_BIN_UIMAGE - help - Select the specific Linux binary type you want to use - -config BR2_LINUX_BIN_BZIMAGE - bool "bzImage" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.19.2 - -config BR2_LINUX_BIN_UIMAGE - bool "uImage" - depends BR2_PACKAGE_LINUX - help - Build uImage binary - -config BR2_LINUX_BIN_VMLINUX - bool "vmlinux" - depends BR2_PACKAGE_LINUX - help - Build vmlinux binary - -config BR2_LINUX_BIN_ZIMAGE - bool "zImage" - depends BR2_PACKAGE_LINUX - help - Linux 2.6.19.2 - -config BR2_LINUX_BIN_CUSTOM - bool "<custom> Linux binary" - depends BR2_PACKAGE_LINUX - help - Build custom Linux binary format -endchoice - -config BR2_LINUX_BIN_CUSTOM_BIN - string "custom kernel binary format" - depends on BR2_LINUX_BIN_CUSTOM - default "" - help - Which Linux binary format? - -config BR2_PACKAGE_LINUX_FORMAT - string #"kernel binary format" - depends on BR2_PACKAGE_LINUX - default "bzImage" if BR2_LINUX_BIN_BZIMAGE - default "uImage" if BR2_LINUX_BIN_UIMAGE - default "vmlinux" if BR2_LINUX_BIN_VMLINUX - default "zImage" if BR2_LINUX_BIN_ZIMAGE - default $(BR2_LINUX_BIN_CUSTOM_BIN) if BR2_LINUX_BIN_CUSTOM - help - kernel binary format. - Popular values include: - - bzImage - - zImage - - vmlinux - - zImage - - xipImage - and other, architecture dependant formats. - - Note that the default format is supposed to be set by your - board-description, if any. - i386 and compatible default to bzImage if nothing was given - above. - If the above setting is empty, you can change the default - board-imposed value by passing LINUX26_FORMAT=<string> to - make. - -comment "Destinations for linux kernel binaries" - depends on BR2_PACKAGE_LINUX - -config BR2_LINUX_IN_ROOTFS - bool "Copy kernel to root file system" - depends BR2_PACKAGE_LINUX - default n - help - Copy kernel to <root>/boot directory - -menuconfig BR2_LINUX_COPY - bool "Secondary Copy" - depends on BR2_PACKAGE_LINUX - default y - -config BR2_LINUX_COPYTO - string "also copy the image to..." - depends BR2_LINUX_COPY - default "/tftpboot" - help - Copy kernel to secondary location - -endif diff --git a/target/linux/Config.in.advanced b/target/linux/Config.in.advanced new file mode 100644 index 000000000..3b3085a22 --- /dev/null +++ b/target/linux/Config.in.advanced @@ -0,0 +1,501 @@ +if BR2_KERNEL_LINUX_ADVANCED +# --- "Linux kernel options" +# This file exports the following symbols for use by Makefile's +# +# BR2_PACKAGE_LINUX +# +# BR2_KERNEL_SITE +# BR2_DOWNLOAD_LINUX26_VERSION +# BR2_LINUX26_VERSION +# +# BR2_KERNEL_PATCH_SITE +# BR2_KERNEL_PATCH +# +# BR2_LINUX26_CUSTOM +# BR2_CUSTOM_LINUX26_PATCH_SITE +# BR2_CUSTOM_LINUX26_PATCH +# +# BR2_LINUX_BSP_PATCH +# +# BR2_PACKAGE_LINUX_USE_KCONFIG +# BR2_PACKAGE_LINUX_USE_DEFCONFIG +# BR2_PACKAGE_LINUX_USE_XCONFIG +# BR2_PACKAGE_LINUX_KCONFIG +# +# BR2_PACKAGE_LINUX_FORMAT +# +# BR2_LINUX_COPYTO_ROOTFS +# BR2_LINUX_COPYTO_TFTPBOOT +# BR2_LINUX_COPYTO +# +# --------------------------------------------------------------------------- +# --- These 'constants' requires regular maintenance, so put them first +config BR2_KERNEL_PATCH_LEVEL + string + default "1" if BR2_LINUX_2_6_23 && BR2_KERNEL_ADD_LATEST_MINORPATCH + default "10" if BR2_LINUX_2_6_22 && BR2_KERNEL_ADD_LATEST_MINORPATCH + default "7" if BR2_LINUX_2_6_21 && BR2_KERNEL_ADD_LATEST_MINORPATCH + default "20" if BR2_LINUX_2_6_20 && BR2_KERNEL_ADD_LATEST_MINORPATCH + default "$(BR2_KERNEL_MINORLEVEL)" if BR2_KERNEL_ADD_MINORPATCH + +config BR2_KERNEL_CURRENT_VERSION + string + default "2.6.23.1" + +config BR2_KERNEL_NEXT_VERSION + string + default "2.6.24" if BR2_LINUX_2_6_23 + default "2.6.23" if BR2_LINUX_2_6_22 + default "2.6.22" if BR2_LINUX_2_6_21 + default "2.6.21" if BR2_LINUX_2_6_20 + +config BR2_KERNEL_THIS_VERSION + string + default "2.6.23" if BR2_LINUX_2_6_23 + default "2.6.22" if BR2_LINUX_2_6_22 + default "2.6.21" if BR2_LINUX_2_6_21 + default "2.6.20" if BR2_LINUX_2_6_20 + +config LINUX26_LATEST_RC_VERSION + string + default "2.6.23" if BR2_KERNEL_ADD_LATEST_RC_PATCH + +config LINUX26_LATEST_MM_VERSION + string + default "2.6.23-mm1" if BR2_KERNEL_ADD_LATEST_MM_PATCH + +config LINUX26_LATEST_GIT_VERSION + string + default "2.6.23-git3" if BR2_KERNEL_ADD_LATEST_SNAPSHOT + +config BR2_KERNEL_SITE + string + default "http://ftp.kernel.org/pub/linux/kernel/v2.6/" + +config BR2_MM_PATCH_SITE + string + default "http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6" + +config BR2_MM_PATCH_DIR + string + default "$(BR2_DOWNLOAD_LINUX26_VERSION)/$(LINUX26_LATEST_MM_VERSION)" if BR2_KERNEL_ADD_LATEST_MM_PATCH + default "$(BR2_DOWNLOAD_LINUX26_VERSION)/$(BR2_LINUX26_MM_VERSION)" if BR2_KERNEL_ADD_MM_PATCH + +config BR2_RC_MM_PATCH_DIR + string + default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)/2.6.$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)" + +config BR2_KERNEL_PATCH_SITE + string + default "http://ftp.kernel.org/pub/linux/kernel/v2.6/" if BR2_KERNEL_ADD_MINORPATCH + default "http://ftp.kernel.org/pub/linux/kernel/v2.6/testing/" if BR2_KERNEL_ADD_RC_PATCH || BR2_KERNEL_ADD_LATEST_RC_PATCH + default "http://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/" if BR2_KERNEL_ADD_SNAPSHOT || BR2_KERNEL_ADD_LATEST_SNAPSHOT + default "$(BR2_MM_PATCH_SITE)/$(BR2_MM_PATCH_DIR)/" if BR2_KERNEL_ADD_MM_PATCH || BR2_KERNEL_ADD_LATEST_MM_PATCH + default $(BR2_CUSTOM_LINUX26_PATCH_SITE) if BR2_LINUX26_CUSTOM + +config BR2_LINUX26_RC_VERSION + string + default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)" if BR2_KERNEL_ADD_RC_PATCH + +config BR2_LINUX26_SNAPSHOT_VERSION + string + default "$(BR2_KERNEL_THIS_VERSION)-git$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_SNAPSHOT + +config BR2_LINUX26_RC_SNAPSHOT_VERSION + string + default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-git$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_SNAPSHOT + +config BR2_LINUX26_MM_VERSION + string + default "$(BR2_KERNEL_THIS_VERSION)-mm$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_MM_PATCH + +config BR2_LINUX26_RC_MM_VERSION + string + default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_MM_PATCH + +# --------------------------------------------------------------------------- + +choice + prompt "Linux Kernel Version" + default BR2_LINUX_2_6_22_10 if BR2_avr32 + default BR2_LINUX_2_6_22_1 if !BR2_avr32 && BR2_TARGET_ATMEL + default BR2_LINUX_2_6_22 if !BR2_TARGET_ATMEL + help + Select the specific Linux version you want to use + +config BR2_LINUX_2_6_STABLE + bool "The latest stable Linux kernel (2.6.23)" + help + Linux 2.6.23 + +config BR2_LINUX_2_6_23 + bool "Linux 2.6.23" + select BR2_KERNEL_BASE + help + Linux 2.6.23 + +config BR2_LINUX_2_6_22_10 + bool "Linux 2.6.22.10" + select BR2_KERNEL_PREPATCHED + help + Linux 2.6.22.10 + +config BR2_LINUX_2_6_22_1 + bool "Linux 2.6.22.1" + select BR2_KERNEL_PREPATCHED + help + Linux 2.6.22.1 + +config BR2_LINUX_2_6_22 + bool "Linux 2.6.22" + select BR2_KERNEL_LATEST + select BR2_KERNEL_BASE + help + Linux 2.6.22 + +config BR2_LINUX_2_6_21_7 + bool "Linux 2.6.21.7" + select BR2_KERNEL_PREPATCHED + help + Linux 2.6.21.1 + +config BR2_LINUX_2_6_21_5 + bool "Linux 2.6.21.5" + select BR2_KERNEL_PREPATCHED + help + Linux 2.6.21.5 + +config BR2_LINUX_2_6_21 + bool "Linux 2.6.21" + select BR2_KERNEL_BASE + help + Linux 2.6.21 + +config BR2_LINUX_2_6_20 + bool "Linux 2.6.20" + select BR2_KERNEL_BASE + help + Linux 2.6.20 + +config BR2_LINUX26_CUSTOM + bool "Linux <custom> version" + help + Linux <your selection> + +endchoice + +if BR2_LINUX26_CUSTOM +config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION + string "Linux Tarball version" + default "linux-2.6.22" + help + Specify any .tar.bz2 file + +config BR2_CUSTOM_LINUX26_VERSION + string "Linux Version" + default "linux-2.6.22-version" + help + Specify what the linux version will be called + +config BR2_CUSTOM_LINUX26_PATCH + string "patch name" + default "patch-2.6.22-rc6-mm1.bz2" + help + Specify a patch to be downloaded + +config BR2_CUSTOM_LINUX26_PATCH_SITE + string "patch site" + default "http://" + help + Specify from where the patch will be downloaded. + +endif + +# ----------------------------------------------- + +menu "Patches" + depends on BR2_PACKAGE_LINUX + +choice + prompt "Add a patch to the Linux Kernel" + depends on BR2_PACKAGE_LINUX + depends on !BR2_KERNEL_PREPATCHED + default BR2_KERNEL_ADD_NO_PATCH + help + Select a patch to add to the Linux kernel + +config BR2_KERNEL_ADD_NO_PATCH + bool "Do not add a patch" + +config BR2_KERNEL_ADD_LATEST_MINORPATCH + bool "Add _latest_ '.#' minor patch" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_MINORPATCH + bool "Add a '.#' minor patch" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_LATEST_RC_PATCH + bool "Add _latest_ '-rc#' patch" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_RC_PATCH + bool "Add an '-rc#' patch" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_LATEST_SNAPSHOT + bool "Add _latest_ 'snapshot' patch" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_SNAPSHOT + bool "Add a 'snapshot' patch (linux-2.6.X-rc#-git#)" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_LATEST_MM_PATCH + bool "Add latest '-mm' patch for the stable linux kernel" + select BR2_KERNEL_ADD_PATCH + +config BR2_KERNEL_ADD_MM_PATCH + bool "Add an '-mm#' patch for the stable linux kernel" + select BR2_KERNEL_ADD_PATCH + +endchoice + +config BR2_KERNEL_ADD_PATCH + bool + default n + + +config BR2_KERNEL_MINORLEVEL + string "patch level" + default "" + depends on BR2_KERNEL_ADD_MINORPATCH + +config BR2_KERNEL_RC_LEVEL + string "-rc patch Level" + default "" + depends on BR2_KERNEL_ADD_RC_PATCH || BR2_KERNEL_ADD_SNAPSHOT + +config BR2_KERNEL_GIT_LEVEL + string "-git patch Level" + default "" + depends on BR2_KERNEL_ADD_SNAPSHOT + +config BR2_KERNEL_MM_LEVEL + string "-mm patch Level" + default "" + depends on BR2_KERNEL_ADD_MM_PATCH + +config BR2_LINUX_BSP_PATCH + string "Additional patch to apply (from \$(DL_DIR))" + default "" + help + Apply a patch located in \$(DL_DIR). + You need to download or create this before + enable this option + +config BR2_KERNEL_PATCH + string + default "patch-$(BR2_DOWNLOAD_LINUX26_VERSION).$(BR2_KERNEL_PATCH_LEVEL).bz2" if BR2_KERNEL_ADD_MINORPATCH || BR2_KERNEL_ADD_LATEST_MINORPATCH + default "patch-$(LINUX26_LATEST_RC_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_RC_PATCH + default "patch-$(BR2_LINUX26_RC_VERSION).bz2" if BR2_KERNEL_ADD_RC_PATCH + default "patch-$(LINUX26_LATEST_GIT_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_SNAPSHOT + default "patch-$(BR2_LINUX26_SNAPSHOT_VERSION).bz2" if BR2_KERNEL_ADD_SNAPSHOT + default "$(LINUX26_LATEST_MM_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_MM_PATCH + default "$(BR2_LINUX26_MM_VERSION).bz2" if BR2_KERNEL_ADD_MM_PATCH + default $(BR2_CUSTOM_LINUX26_PATCH) if BR2_LINUX26_CUSTOM + +endmenu + +# ----------------------------------------------- + +config BR2_KERNEL_PREPATCHED + bool + default n + +config BR2_KERNEL_BASE + bool + default n + +config BR2_KERNEL_LATEST + bool + default n + +config BR2_DOWNLOAD_LINUX26_VERSION + string + default "$(BR2_KERNEL_THIS_VERSION)" if BR2_KERNEL_BASE + default "2.6.21.5" if BR2_LINUX_2_6_21_5 + default "2.6.21.7" if BR2_LINUX_2_6_21_7 + default "2.6.22.1" if BR2_LINUX_2_6_22_1 + default "2.6.22.10" if BR2_LINUX_2_6_22_10 + default "$(BR2_KERNEL_CURRENT_VERSION)"if BR2_LINUX_2_6_STABLE + default "$(BR2_DEFAULT_KERNEL_HEADERS)" if BR2_KERNEL_LINUX_HEADERS_VERSION + default $(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION) if BR2_LINUX26_CUSTOM + +config BR2_LINUX26_VERSION + string + default "$(BR2_KERNEL_THIS_VERSION).$(BR2_KERNEL_PATCH_LEVEL)" if BR2_KERNEL_BASE && BR2_KERNEL_ADD_MINORPATCH + default "$(LINUX26_LATEST_RC_VERSION)" if BR2_KERNEL_ADD_LATEST_RC_PATCH + default "$(LINUX26_LATEST_MM_VERSION)" if BR2_KERNEL_ADD_LATEST_MM_PATCH + default "$(LINUX26_LATEST_GIT_VERSION)" if BR2_KERNEL_ADD_LATEST_SNAPSHOT + default "$(BR2_LINUX26_RC_VERSION)" if BR2_KERNEL_BASE && BR2_KERNEL_ADD_RC_PATCH + default "$(BR2_LINUX26_SNAPSHOT_VERSION)" if BR2_KERNEL_BASE && BR2_KERNEL_ADD_SNAPSHOT + default "$(BR2_LINUX26_MM_VERSION)" if BR2_KERNEL_BASE && BR2_KERNEL_ADD_MM_PATCH + default "$(BR2_KERNEL_THIS_VERSION)" if BR2_KERNEL_BASE && ! BR2_KERNEL_ADD_PATCH + default "2.6.21.5" if BR2_LINUX_2_6_21_5 + default "2.6.21.7" if BR2_LINUX_2_6_21_7 + default "2.6.22.1" if BR2_LINUX_2_6_22_1 + default "2.6.22.10" if BR2_LINUX_2_6_22_10 + default "$(BR2_KERNEL_CURRENT_VERSION)"if BR2_LINUX_2_6_STABLE + default $(BR2_CUSTOM_LINUX26_VERSION) if BR2_LINUX26_CUSTOM + +menu "Linux Kernel Configuration" + +choice + prompt "Linux Kernel Configuration" + depends on BR2_PACKAGE_LINUX + default BR2_PACKAGE_LINUX_USE_KCONFIG + help + Select the way to configure the Linux + +config BR2_PACKAGE_LINUX_USE_KCONFIG + bool ".config file" + depends on BR2_PACKAGE_LINUX + help + kernel's .config to use to build a kernel for the target. + + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_KCONFIG=<path> to + make. + +config BR2_PACKAGE_LINUX_USE_DEFCONFIG + bool "Run make <board>_defconfig " + depends BR2_PACKAGE_LINUX + help + Configure Linux by make <board>_defconfig + +config BR2_PACKAGE_LINUX_USE_XCONFIG + bool "Run make ARCH=$(ARCH) xconfig before build" + depends BR2_PACKAGE_LINUX + help + Configure Linux by make xconfig +endchoice + +config BR2_PACKAGE_LINUX_KCONFIG + string ".config file" + depends on BR2_PACKAGE_LINUX_USE_KCONFIG + default "$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX26_VERSION).config" + help + kernel's .config to use to build a kernel for the target. + + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_KCONFIG=<path> to + make. + +endmenu + +choice + prompt "kernel binary format" + depends on BR2_PACKAGE_LINUX + default BR2_LINUX_BIN_UIMAGE + help + Select the specific Linux binary type you want to use + +config BR2_LINUX_BIN_BZIMAGE + bool "bzImage" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19.2 + +config BR2_LINUX_BIN_UIMAGE + bool "uImage" + depends BR2_PACKAGE_LINUX + help + Build uImage binary + +config BR2_LINUX_BIN_VMLINUX + bool "vmlinux" + depends BR2_PACKAGE_LINUX + help + Build vmlinux binary + +config BR2_LINUX_BIN_ZIMAGE + bool "zImage" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19.2 + +config BR2_LINUX_BIN_CUSTOM + bool "<custom> Linux binary" + depends BR2_PACKAGE_LINUX + help + Build custom Linux binary format +endchoice + +config BR2_LINUX_BIN_CUSTOM_BIN + string "custom kernel binary format" + depends on BR2_LINUX_BIN_CUSTOM + default "" + help + Which Linux binary format? + +config BR2_PACKAGE_LINUX_FORMAT + string #"kernel binary format" + depends on BR2_PACKAGE_LINUX + default "bzImage" if BR2_LINUX_BIN_BZIMAGE + default "uImage" if BR2_LINUX_BIN_UIMAGE + default "vmlinux" if BR2_LINUX_BIN_VMLINUX + default "zImage" if BR2_LINUX_BIN_ZIMAGE + default $(BR2_LINUX_BIN_CUSTOM_BIN) if BR2_LINUX_BIN_CUSTOM + help + kernel binary format. + Popular values include: + - bzImage + - zImage + - vmlinux + - zImage + - xipImage + and other, architecture dependant formats. + + Note that the default format is supposed to be set by your + board-description, if any. + i386 and compatible default to bzImage if nothing was given + above. + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_FORMAT=<string> to + make. + +menu "Destinations for linux kernel binaries" + +config BR2_LINUX_COPYTO_ROOTFS + bool "Copy kernel to root file system" + depends BR2_PACKAGE_LINUX + default n + help + Copy kernel to <root>/boot directory + +config BR2_LINUX_COPYTO_TFTPBOOT + bool "Copy kernel to /tftpboot" + default y if BR2_TARGET_ATMEL + default n if !BR2_TARGET_ATMEL + help + Copy kernel to /tftpboot directory + +config BR2_LINUX_COPYTO + string "Copy kernel to <dir>..." + default "" + help + Copy kernel to secondary location + +endmenu + +config BR2_LINUX_COPY_CONFIGURATION + bool "Copy buildroot configuration to Linux file system" + default y if BR2_TARGET_ATMEL + default n if !BR2_TARGET_ATMEL + help + The configuration files for buildroot, uclibc, busybox and linux + are copied to the "<root>/boot" directory. + +endif + diff --git a/target/linux/Config.in.experimental b/target/linux/Config.in.experimental new file mode 100644 index 000000000..92ffc9e4f --- /dev/null +++ b/target/linux/Config.in.experimental @@ -0,0 +1,346 @@ +if BR2_KERNEL_LINUX_EXPERIMENTAL + +choice + prompt "Linux Kernel Version" + depends on BR2_PACKAGE_LINUX + default BR2_LINUX_2_6_22_1 if !BR2_avr32 + default BR2_LINUX_2_6_22_10 if BR2_avr32 + help + Select the specific Linux version you want to use + +config BR2_LINUX_2_6_SNAP + bool "The latest snapshot for the stable Linux kernel" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.x-git# + +config BR2_LINUX_2_6_MM + bool "With latest -mm patch for the stable Linux kernel" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.x-rc#-mm# + +config BR2_LINUX_2_6_STABLE + bool "The latest stable Linux kernel (2.6.22.1)" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.22.1 + +config BR2_LINUX_2_6_22_10 + bool "Linux 2.6.22.10" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.22.10 + +config BR2_LINUX_2_6_22_1 + bool "Linux 2.6.22.1" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.22.1 + +config BR2_LINUX_2_6_22 + bool "Linux 2.6.22" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.22 + +config BR2_LINUX_2_6_21_6 + bool "Linux 2.6.21.6" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.21.6 + +config BR2_LINUX_2_6_21_1 + bool "Linux 2.6.21.1" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.21.1 + +config BR2_LINUX_2_6_21 + bool "Linux 2.6.21" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.21 + +config BR2_LINUX_2_6_20_4 + bool "Linux 2.6.20.4" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.20.4 + +config BR2_LINUX_2_6_20 + bool "Linux 2.6.20" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.20 + +config BR2_LINUX_2_6_19_2 + bool "Linux 2.6.19.2" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19.2 + +config BR2_LINUX_2_6_19 + bool "Linux 2.6.19" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19 + +config BR2_LINUX_2_6_18 + bool "Linux 2.6.18" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.18 + +config BR2_LINUX_2_6_17 + bool "Linux 2.6.17" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.17 + +config BR2_LINUX_2_6_16 + bool "Linux 2.6.16" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.16 + +config BR2_LINUX_2_6_15 + bool "Linux 2.6.15" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.15 + +config BR2_LINUX_2_6_23 + bool "Linux 2.6.23" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.23 + +config BR2_LINUX_CUSTOM + bool "Linux <custom> version" + depends BR2_PACKAGE_LINUX + help + Linux <your selection> + +endchoice + +config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION + string "Linux Tarball version" + depends on BR2_LINUX_CUSTOM + default "linux-2.6.22" + +config BR2_CUSTOM_LINUX26_VERSION + string "Linux Version" + depends on BR2_LINUX_CUSTOM + default "linux-2.6.22-version" + +config BR2_CUSTOM_LINUX26_RC_PATCH + string "RC patch (if needed)" + depends on BR2_LINUX_CUSTOM + default "patch-2.6.22-rc6-mm1.bz2" + +menu "Patches" + depends on BR2_PACKAGE_LINUX + +config BR2_LINUX_BSP_PATCH + string "Additional patch to apply (supply full path)" + default "" + +endmenu + +config BR2_DOWNLOAD_LINUX26_VERSION + string #"Selected Tarball:" + default "2.6.15" if BR2_LINUX_2_6_15 + default "2.6.16" if BR2_LINUX_2_6_16 + default "2.6.17" if BR2_LINUX_2_6_17 + default "2.6.18" if BR2_LINUX_2_6_18 + default "2.6.19" if BR2_LINUX_2_6_19 + default "2.6.19.2" if BR2_LINUX_2_6_19_2 + default "2.6.20" if BR2_LINUX_2_6_20 + default "2.6.20.4" if BR2_LINUX_2_6_20_4 + default "2.6.21" if BR2_LINUX_2_6_21 + default "2.6.21.1" if BR2_LINUX_2_6_21_1 + default "2.6.21.6" if BR2_LINUX_2_6_21_6 + default "2.6.22" if BR2_LINUX_2_6_22 + default "2.6.22.1" if BR2_LINUX_2_6_22_1 + default "2.6.22.10" if BR2_LINUX_2_6_22_10 + default "2.6.22" if BR2_LINUX_2_6_23_RC1 + default "2.6.22" if BR2_LINUX_2_6_SNAP + default "2.6.22" if BR2_LINUX_2_6_MM + default $(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION) if BR2_LINUX_CUSTOM + +config BR2_LINUX26_VERSION + string #"Selected Version:" + default "2.6.15" if BR2_LINUX_2_6_15 + default "2.6.16" if BR2_LINUX_2_6_16 + default "2.6.17" if BR2_LINUX_2_6_17 + default "2.6.18" if BR2_LINUX_2_6_18 + default "2.6.19" if BR2_LINUX_2_6_19 + default "2.6.19.2" if BR2_LINUX_2_6_19_2 + default "2.6.20" if BR2_LINUX_2_6_20 + default "2.6.20.4" if BR2_LINUX_2_6_20_4 + default "2.6.21" if BR2_LINUX_2_6_21 + default "2.6.21.1" if BR2_LINUX_2_6_21_1 + default "2.6.21.6" if BR2_LINUX_2_6_21_6 + default "2.6.22" if BR2_LINUX_2_6_22 + default "2.6.22.1" if BR2_LINUX_2_6_22_1 + default "2.6.22.10" if BR2_LINUX_2_6_22_10 + default "2.6.22" if BR2_LINUX_2_6_23_RC1 + default "2.6.22" if BR2_LINUX_2_6_SNAP + default "2.6.22" if BR2_LINUX_2_6_MM + default $(BR2_CUSTOM_LINUX26_VERSION) if BR2_LINUX_CUSTOM + +config BR2_LINUX26_RC_PATCH + string #"Selected Patch:" + default "" if BR2_LINUX_2_6_15 + default "" if BR2_LINUX_2_6_16 + default "" if BR2_LINUX_2_6_17 + default "" if BR2_LINUX_2_6_18 + default "" if BR2_LINUX_2_6_19 + default "" if BR2_LINUX_2_6_19_2 + default "" if BR2_LINUX_2_6_20 + default "" if BR2_LINUX_2_6_20_4 + default "" if BR2_LINUX_2_6_21 + default "" if BR2_LINUX_2_6_21_1 + default "" if BR2_LINUX_2_6_21_6 + default "" if BR2_LINUX_2_6_22 + default "" if BR2_LINUX_2_6_22_1 + default "" if BR2_LINUX_2_6_22_10 + default "patch-2.6.23-rc1.bz2" if BR2_LINUX_2_6_23_RC1 + default $(BR2_CUSTOM_LINUX26_RC_PATCH) if BR2_LINUX_CUSTOM + +choice + prompt "Linux Kernel Configuration" + depends on BR2_PACKAGE_LINUX + default BR2_PACKAGE_LINUX_USE_KCONFIG + help + Select the way to configure the Linux + +config BR2_PACKAGE_LINUX_USE_KCONFIG + bool ".config file" + depends on BR2_PACKAGE_LINUX + help + kernel's .config to use to build a kernel for the target. + + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_KCONFIG=<path> to + make. + +config BR2_LINUX26_DEFCONFIG + bool "Run make <board>_defconfig " + depends BR2_PACKAGE_LINUX + help + Configure Linux by make <board>_defconfig + +config BR2_LINUX_CUSTOMIZE + bool "Run make ARCH=$(ARCH) xconfig before build" + depends BR2_PACKAGE_LINUX + help + Configure Linux by make xconfig +endchoice + +config BR2_PACKAGE_LINUX_KCONFIG + string ".config file" + depends on BR2_PACKAGE_LINUX_USE_KCONFIG + default "$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(LINUX26_VERSION).config" + help + kernel's .config to use to build a kernel for the target. + + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_KCONFIG=<path> to + make. + +choice + prompt "kernel binary format" + depends on BR2_PACKAGE_LINUX + default BR2_LINUX_BIN_UIMAGE + help + Select the specific Linux binary type you want to use + +config BR2_LINUX_BIN_BZIMAGE + bool "bzImage" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19.2 + +config BR2_LINUX_BIN_UIMAGE + bool "uImage" + depends BR2_PACKAGE_LINUX + help + Build uImage binary + +config BR2_LINUX_BIN_VMLINUX + bool "vmlinux" + depends BR2_PACKAGE_LINUX + help + Build vmlinux binary + +config BR2_LINUX_BIN_ZIMAGE + bool "zImage" + depends BR2_PACKAGE_LINUX + help + Linux 2.6.19.2 + +config BR2_LINUX_BIN_CUSTOM + bool "<custom> Linux binary" + depends BR2_PACKAGE_LINUX + help + Build custom Linux binary format +endchoice + +config BR2_LINUX_BIN_CUSTOM_BIN + string "custom kernel binary format" + depends on BR2_LINUX_BIN_CUSTOM + default "" + help + Which Linux binary format? + +config BR2_PACKAGE_LINUX_FORMAT + string #"kernel binary format" + depends on BR2_PACKAGE_LINUX + default "bzImage" if BR2_LINUX_BIN_BZIMAGE + default "uImage" if BR2_LINUX_BIN_UIMAGE + default "vmlinux" if BR2_LINUX_BIN_VMLINUX + default "zImage" if BR2_LINUX_BIN_ZIMAGE + default $(BR2_LINUX_BIN_CUSTOM_BIN) if BR2_LINUX_BIN_CUSTOM + help + kernel binary format. + Popular values include: + - bzImage + - zImage + - vmlinux + - zImage + - xipImage + and other, architecture dependant formats. + + Note that the default format is supposed to be set by your + board-description, if any. + i386 and compatible default to bzImage if nothing was given + above. + If the above setting is empty, you can change the default + board-imposed value by passing LINUX26_FORMAT=<string> to + make. + +comment "Destinations for linux kernel binaries" + depends on BR2_PACKAGE_LINUX + +config BR2_LINUX_IN_ROOTFS + bool "Copy kernel to root file system" + depends BR2_PACKAGE_LINUX + default n + help + Copy kernel to <root>/boot directory + +menuconfig BR2_LINUX_COPY + bool "Secondary Copy" + depends on BR2_PACKAGE_LINUX + default y + +config BR2_LINUX_COPYTO + string "also copy the image to..." + depends BR2_LINUX_COPY + default "/tftpboot" + help + Copy kernel to secondary location + +endif diff --git a/target/linux/Makefile.in.advanced b/target/linux/Makefile.in.advanced new file mode 100644 index 000000000..29eace144 --- /dev/null +++ b/target/linux/Makefile.in.advanced @@ -0,0 +1,438 @@ +############################################################################### +# +# Linux kernel 2.6 target (Advanced configuration) +# +############################################################################### +ifneq ($(filter $(TARGETS),linux26),) + +# ----------------------------------------------------------------------------- +# Make sure LINUX_HEADERS_VERSION is defined +ifeq ($(LINUX_HEADERS_VERSION),) +# We did not have headers (this is for real???) +LINUX_HEADERS_VERSION:=2.6.22.1 +endif + +# ----------------------------------------------------------------------------- +# STRATEGY FOR DOWNLOAD_LINUX26_VERSION +# 1. Use definition from user Makefile +# 2. Use definition from Kconfig +# 3. Use Linux Headers version +# 4. Use default (2.6.22.1) +ifeq ($(DOWNLOAD_LINUX26_VERSION),) +ifneq ($(BR2_DOWNLOAD_LINUX26_VERSION),) +DOWNLOAD_LINUX26_VERSION:=$(strip $(subst ",,$(BR2_DOWNLOAD_LINUX26_VERSION))) +#")) +else +DOWNLOAD_LINUX26_VERSION:=$(LINUX_HEADERS_VERSION) +endif +endif + +# ----------------------------------------------------------------------------- +# STRATEGY FOR LINUX26_VERSION +# 1. Use definition from user Makefile +# 2. Use definition from Kconfig +# 3. Use Linux Headers version +# 4. Use default (2.6.22.1) +ifeq ($(LINUX26_VERSION),) +ifneq ($(BR2_LINUX26_VERSION),) +LINUX26_VERSION:=$(strip $(subst ",,$(BR2_LINUX26_VERSION))) +#")) +else +LINUX26_VERSION:=$(LINUX_HEADERS_VERSION) +endif +endif + +ifeq ($(BOARD_PATH),) +BOARD_PATH:=$(strip $(subst ",,$(BR2_BOARD_PATH))) +#")) +endif + +# Version of Linux AFTER patches +LINUX26_DIR:=$(PROJECT_BUILD_DIR)/linux-$(LINUX26_VERSION) + +# for packages that need it +LINUX_VERSION:=$(LINUX26_VERSION) +LINUX_DIR:=$(LINUX26_DIR) + +# ----------------------------------------------------------------------------- +# Define source name and sites +LINUX26_SOURCE:=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2 +LINUX26_SITE:=$(strip $(subst ",,$(BR2_KERNEL_SITE))) +#")) + +LINUX26_PATCH_SOURCE:=$(strip $(subst ",,$(BR2_KERNEL_PATCH))) +#")) +LINUX26_PATCH_SITE:=$(strip $(subst ",,$(BR2_KERNEL_PATCH_SITE))) +#")) + +LINUX26_BSP_PATCH:=$(strip $(subst ",,$(BR2_LINUX_BSP_PATCH))) +#")) + +LINUX26_PATCH_SITE:=$(strip $(subst ",,$(BR2_KERNEL_SITE))) +#")) + +# ------------------------------------ +# kernel patches provided by buildroot +ifeq ($(strip $(LINUX26_PATCH_DIR)),) +LINUX26_PATCH_DIR:=$(BOARD_PATH)/kernel-patches-$(LINUX26_VERSION)/ +endif + +# ----------------------------------------------------------------------------- +# Linux kernel configuration file +# This is used if BR2_PACKAGE_LINUX_USE_KCONFIG is set +# Has to be set by the target/device +# If it is not set by the target/device, then pick the one from .config +ifndef LINUX26_KCONFIG +ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))),) +LINUX26_KCONFIG:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))) +#")) +#")) +else +ifeq ($(BR2_i386),y) +LINUX26_KCONFIG:=$(BOARD_PATH)/linux26.config +else +LINUX26_KCONFIG:=$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(LINUX26_VERSION).config +endif +endif +endif + +# ----------------------------------------------------------------------------- +ifndef LINUX26_FORMAT +ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),) +#")) +LINUX26_FORMAT:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))) +#")) +else +LINUX26_FORMAT:=zImage +endif +endif + +# ----------------------------------------------------------------------------- +# Has to be set by the target/device +ifeq ($(LINUX26_BINLOC),) + +# -------------- +# VMLINUX +ifeq ($(LINUX26_FORMAT),vmlinux) +LINUX26_BINLOC:=$(LINUX26_FORMAT) +KERNEL_EXT:= +endif + +# -------------- +# UIMAGE +ifeq ($(LINUX26_FORMAT),uImage) +ifeq ($(BR2_avr32),y) +LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/images/$(LINUX26_FORMAT) +else +LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT) +endif +KERNEL_EXT:=.gz +endif + +# -------------- +# ZIMAGE +ifeq ($(LINUX26_FORMAT),zImage) +LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT) +KERNEL_EXT:=.z +endif + +# -------------- +# BZIMAGE +ifeq ($(LINUX26_FORMAT),bzImage) +LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT) +KERNEL_EXT:=.bz +endif + +endif + +# ----------------------------------------------------------------------------- +# File name for the Linux kernel binary +LINUX_KERNEL_NAME:=$(BOARD_NAME)-linux-$(LINUX26_VERSION)-$(DATE)$(KERNEL_EXT) + +ifndef LINUX26_KERNEL +LINUX26_KERNEL:=$(BINARIES_DIR)/$(BOARD_NAME)-linux-$(LINUX26_VERSION)-$(DATE)$(KERNEL_EXT) +endif + +# for packages that need it +LINUX_KERNEL:=$(LINUX26_KERNEL) + + +# ----------------------------------------------------------------------------- +LINUX26_BZCAT:=$(BZCAT) + +__LINUX26_NO_PIC=-fPIC -fpic -DPIC -fwrapv -ftrapv +LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \ + ARCH=$(KERNEL_ARCH) \ + CFLAGS_KERNEL="$(filter-out $(__LINUX26_NO_PIC),$(TARGET_CFLAGS))" \ + INSTALL_MOD_PATH=$(TARGET_DIR) \ + CROSS_COMPILE=$(KERNEL_CROSS) \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + LZMA="$(LZMA)" + +# ============================================================================= + +$(LINUX26_KCONFIG): + @if [ ! -f "$(LINUX26_KCONFIG)" ] ; then \ + echo ""; \ + echo "You should create a .config for your kernel"; \ + echo "and install it as $(LINUX26_KCONFIG)"; \ + echo ""; \ + sleep 5; \ + fi +# ============================================================================= +ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION))) +$(DL_DIR)/$(LINUX26_SOURCE): + $(WGET) -P $(DL_DIR) $(LINUX26_SITE)/$(LINUX26_SOURCE) +endif # ($(LINUX26_VERSION),$(LINUX_HEADERS_VERSION)) + +ifneq ($(strip $(LINUX26_PATCH_SOURCE)),) +$(DL_DIR)/$(LINUX26_PATCH_SOURCE): + $(WGET) -P $(DL_DIR) $(LINUX26_PATCH_SITE)/$(LINUX26_PATCH_SOURCE) +endif + +$(LINUX26_DIR)/.unpacked: $(DL_DIR)/$(LINUX26_SOURCE) + rm -rf $(LINUX26_DIR) + @echo "*** Unpacking kernel source" + $(LINUX26_BZCAT) $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) - +ifneq ($(DOWNLOAD_LINUX26_VERSION),$(LINUX26_VERSION)) + # Rename the dir from the downloaded version to the AFTER patch version + mv -f $(PROJECT_BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(LINUX26_DIR) +endif + touch $@ + + +# ----------------------------------------------------------------------------- +LINUX26_TARGETS+=$(LINUX26_KERNEL) + +ifeq ($(BR2_LINUX_COPYTO_ROOTFS),y) +LINUX26_TARGETS+=$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME) +endif + +ifeq ($(BR2_LINUX_COPYTO_TFTPBOOT),y) +LINUX26_TARGETS+=/tftpboot/$(LINUX26_KERNEL_NAME) +endif + +ifneq ($(BR2_LINUX_COPYTO),) +LINUX_COPYTO:=$(strip $(subst ",,$(BR2_LINUX_COPYTO))) +#")) +LINUX26_TARGETS+=$(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME) +endif + +ifneq ($(BR2_LINUX_COPY_CONFIGURATION),) +LINUX26_TARGETS+=$(TARGET_DIR)/boot/buildroot.config +LINUX26_TARGETS+=$(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config +LINUX26_TARGETS+=$(TARGET_DIR)/boot/uclibc.config +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +LINUX26_TARGETS+=$(TARGET_DIR)/boot/busybox.config +endif +endif +# ----------------------------------------------------------------------------- + +$(LINUX26_DIR)/.patched: $(LINUX26_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS) +ifneq ($(LINUX26_PATCH_SOURCE),) + toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_PATCH_SOURCE) +endif +ifneq ($(LINUX26_BSP_PATCH),) + toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_BSP_PATCH) +endif + toolchain/patch-kernel.sh $(LINUX26_DIR) toolchain/kernel-headers \ + linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2} +ifeq ($(BR2_KERNEL_HEADERS_IPMI),y) + toolchain/patch-kernel.sh $(LINUX26_DIR) toolchain/kernel-headers/ipmi \ + linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2} +endif +ifeq ($(BR2_KERNEL_HEADERS_LZMA),y) + toolchain/patch-kernel.sh $(LINUX26_DIR) toolchain/kernel-headers/lzma \ + linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2} +endif +ifeq ($(BR2_KERNEL_HEADERS_RT),y) + toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX_RT_SOURCE) +endif +ifeq ($(BR2_KERNEL_HEADERS_PATCH_DIR),y) + if [ -d $(KERNEL_HEADERS_PATCH_DIR) ] ; then \ + toolchain/patch-kernel.sh $(LINUX26_DIR) $(KERNEL_HEADERS_PATCH_DIR) \ + linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2} \ + fi +endif +ifeq ($(BR2_PACKAGE_OPENSWAN),y) + toolchain/patch-kernel.sh $(LINUX26_DIR) package/openswan \ + linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2} +endif +ifneq ($(LINUX26_PATCH_DIR),) + if [ -d $(LINUX26_PATCH_DIR) ] ; then \ + toolchain/patch-kernel.sh $(LINUX26_DIR) $(LINUX26_PATCH_DIR) linux-$(LINUX26_VERSION)-\*.patch ; \ + fi +endif + touch $@ + +# ----------------------------------------------------------------------------- +$(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.patched $(LINUX26_KCONFIG) +ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y) + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig +endif +ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y) + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig +endif +ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y) + cp -dpf $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config +endif + $(SED) '/CONFIG_AEABI=y/d' $(LINUX26_DIR)/.config +ifeq ($(BR2_ARM_EABI),y) + echo "CONFIG_AEABI=y" >> $(LINUX26_DIR)/.config + $(SED) '/CONFIG_OABI_COMPAT/d' $(LINUX26_DIR)/.config + echo "# CONFIG_OABI_COMPAT is not set" >> $(LINUX26_DIR)/.config +else + echo "# CONFIG_AEABI is not set" >> $(LINUX26_DIR)/.config +endif + $(SED) '/CONFIG_IPV6=y/d' $(LINUX26_DIR)/.config +ifeq ($(BR2_INET_IPV6),y) + echo "CONFIG_IPV6=y" >> $(LINUX26_DIR)/.config +else + echo "# CONFIG_IPV6 is not set" >> $(LINUX26_DIR)/.config +endif + $(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config + $(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config +ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) + echo "CONFIG_INITRAMFS_SOURCE=\"$(INITRAMFS_TARGET)\"" >> \ + $(LINUX26_DIR)/.config + echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config + echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config +else + echo "CONFIG_INITRAMFS_SOURCE=\"\"" >> $(LINUX26_DIR)/.config +endif +ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y) + # precedence for a small initramfs + $(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config + $(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config + echo "CONFIG_INITRAMFS_SOURCE=\"$(BB_INITRAMFS_TARGET)\"" >> \ + $(LINUX26_DIR)/.config + echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config + echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config +endif + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig + touch $@ + +# ----------------------------------------------------------------------------- +$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare + touch $@ + +$(LINUX26_KERNEL): $(INITRAMFS_TARGET) $(BB_INITRAMFS_TARGET) \ + $(LINUX26_DIR)/.depend_done + $(MAKE) $(LINUX26_MAKE_FLAGS) \ + -C $(LINUX26_DIR) $(LINUX26_FORMAT) + cp -dpf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL) + touch -c $@ + +# ----------------------------------------------------------------------------- +$(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.configured + rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION) + rm -f $(TARGET_DIR)/sbin/cardmgr + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \ + DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \ + INSTALL_MOD_PATH=$(TARGET_DIR) modules_install + rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build + rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/source + $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 -b $(TARGET_DIR) $(LINUX_HEADERS_VERSION) + touch -c $@ + +linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed + [ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig + -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured + +linux26-xconfig: $(LINUX26_DIR)/.patched host-sed + [ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig + -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured + +$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL) + mkdir -p $(TARGET_DIR)/boot + cp -dpf $(LINUX26_KERNEL) $(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME) + +$(TARGET_DIR)/boot/buildroot.config: .config + mkdir -p $(TARGET_DIR)/boot + cp -dpf .config $(TARGET_DIR)/boot/buildroot.config + +$(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config: $(LINUX26_DIR)/.config + mkdir -p $(TARGET_DIR)/boot + cp -dpf $(LINUX26_DIR)/.config $(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config + +$(TARGET_DIR)/boot/uclibc.config: .$(UCLIBC_DIR)/.config + mkdir -p $(TARGET_DIR)/boot + cp -dpf $(UCLIBC_DIR)/.config $(TARGET_DIR)/boot/uclibc.config + +$(TARGET_DIR)/boot/busybox.config: $(BUSYBOX_DIR)/.config + mkdir -p $(TARGET_DIR)/boot + cp -dpf .config $(TARGET_DIR)/boot/busybox.config + +/tftpboot/$(LINUX_KERNEL_NAME): $(LINUX26_KERNEL) + mkdir -p /tftpboot + cp -dpf $(LINUX26_KERNEL) /tftpboot/$(LINUX_KERNEL_NAME) + +$(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL) + mkdir -p $(LINUX_COPYTO) + cp -dpf $(LINUX26_KERNEL) $(LINUX_COPYTO)/$(LINUX_KERNEL_NAME) + +linux26: $(LINUX26_TARGETS) + +$(LINUX26_DIR)/.modules_installed: $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep + touch $@ + +linux26-modules: cross-depmod26 $(LINUX26_DIR)/.modules_installed + +linux26-source: $(DL_DIR)/$(LINUX26_SOURCE) + +linux26-unpacked: $(LINUX26_DIR)/.patched + +linux26-config: host-sed $(LINUX26_DIR)/.configured + +linux26-update: + cp -dpf $(LINUX26_DIR)/.config $(LINUX26_KCONFIG) + +# This has been renamed so we do _NOT_ by default run this on 'make clean' +linux26clean: + rm -f $(LINUX26_KERNEL) $(LINUX26_DIR)/.configured + -$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean + +linux26-dirclean: + rm -rf $(LINUX26_DIR) + +linux-status: + @echo PROJECT_BUILD_DIR=$(PROJECT_BUILD_DIR) + @echo BOARD_NAME=$(BOARD_NAME) + @echo BR2_BOARD_PATH=$(BR2_BOARD_PATH) + @echo DOWNLOAD_LINUX26_VERSION=$(DOWNLOAD_LINUX26_VERSION) + @echo LINUX26_VERSION=$(LINUX26_VERSION) + @echo LINUX26_SOURCE=$(LINUX26_SOURCE) + @echo LINUX26_DIR=$(LINUX26_DIR) + @echo TARGETS=$(TARGETS) + @echo LINUX26_HEADERS_PATCH_DIR=$(LINUX26_HEADERS_PATCH_DIR) + @echo LINUX26_BINLOC=$(LINUX26_BINLOC) + @echo LINUX26_FORMAT=$(LINUX26_FORMAT) + @echo LINUX26_KERNEL=$(LINUX26_KERNEL) + @echo BR2_KERNEL_SITE=$(BR2_KERNEL_SITE) + @echo BR2_KERNEL_PATCH_SITE=$(BR2_KERNEL_PATCH_SITE) + @echo BR2_KERNEL_PATCH=$(BR2_KERNEL_PATCH) + @echo BR2_LINUX26_CUSTOM=$(BR2_LINUX26_CUSTOM) + @echo BR2_CUSTOM_LINUX26_PATCH_SITE=$(BR2_CUSTOM_LINUX26_PATCH_SITE) + @echo BR2_CUSTOM_LINUX26_PATCH=$(BR2_CUSTOM_LINUX26_PATCH) + @echo BR2_LINUX_BSP_PATCH=$(BR2_LINUX_BSP_PATCH) + @echo BR2_PACKAGE_LINUX_USE_KCONFIG=$(BR2_PACKAGE_LINUX_USE_KCONFIG) + @echo BR2_PACKAGE_LINUX_USE_DEFCONFIG=$(BR2_PACKAGE_LINUX_USE_DEFCONFIG) + @echo BR2_PACKAGE_LINUX_USE_XCONFIG=$(BR2_PACKAGE_LINUX_USE_XCONFIG) + @echo BR2_PACKAGE_LINUX_KCONFIG=$(BR2_PACKAGE_LINUX_KCONFIG) + @echo BR2_LINUX_COPYTO_ROOTFS=$(BR2_LINUX_COPYTO_ROOTFS) + @echo BR2_LINUX_COPYTO_TFTPBOOT=$(BR2_LINUX_COPYTO_TFTPBOOT=) + @echo BR2_LINUX_COPYTO=$(BR2_LINUX_COPYTO) + @echo BR2_KERNEL_MINORLEVEL=$(BR2_KERNEL_MINORLEVEL) + @echo LINUX26_LATEST_RC_PATCH=$(LINUX26_LATEST_RC_PATCH) + @echo BR2_KERNEL_RC_LEVEL=$(BR2_KERNEL_RC_LEVEL) + @echo LINUX26_LATEST_MM_PATCH=$(LINUX26_LATEST_MM_PATCH) + @echo BR2_KERNEL_MM_LEVEL=$(BR2_KERNEL_MM_LEVEL) + @echo LINUX26_LATEST_GIT_PATCH=$(LINUX26_LATEST_GIT_PATCH) + @echo BR2_KERNEL_GIT_LEVEL=$(BR2_KERNEL_GIT_LEVEL) + + +endif |