Alexandre Belloni | 95442bb | 2013-06-07 12:13:46 +0200 | [diff] [blame] | 1 | ################################################################################ |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 2 | # |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 3 | # Linux kernel target |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 4 | # |
Alexandre Belloni | 95442bb | 2013-06-07 12:13:46 +0200 | [diff] [blame] | 5 | ################################################################################ |
Alexandre Belloni | 7027040 | 2013-06-05 23:53:25 +0000 | [diff] [blame] | 6 | |
Jerzy Grzegorek | e0d9d33 | 2013-07-20 08:52:43 +0200 | [diff] [blame] | 7 | LINUX_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) |
Luca Ceresoli | 67f1836 | 2012-05-17 19:33:09 +0200 | [diff] [blame] | 8 | LINUX_LICENSE = GPLv2 |
| 9 | LINUX_LICENSE_FILES = COPYING |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 10 | |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 11 | # Compute LINUX_SOURCE and LINUX_SITE from the configuration |
Rafal Fabich | 73da2ff | 2013-02-23 19:03:30 +0100 | [diff] [blame] | 12 | ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 13 | LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) |
Arnout Vandecappelle (Essensium/Mind) | 579fea2 | 2013-01-09 12:12:44 +0000 | [diff] [blame] | 14 | LINUX_SITE = $(patsubst %/,%,$(dir $(LINUX_TARBALL))) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 15 | LINUX_SOURCE = $(notdir $(LINUX_TARBALL)) |
Rafal Fabich | 73da2ff | 2013-02-23 19:03:30 +0100 | [diff] [blame] | 16 | else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_LOCAL),y) |
| 17 | LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH)) |
| 18 | LINUX_SITE_METHOD = local |
Thomas Petazzoni | 205fb19 | 2011-07-11 22:46:11 +0200 | [diff] [blame] | 19 | else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) |
Thomas De Schampheleire | 63ecded | 2013-09-02 22:07:54 +0200 | [diff] [blame] | 20 | LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) |
Thomas Petazzoni | 205fb19 | 2011-07-11 22:46:11 +0200 | [diff] [blame] | 21 | LINUX_SITE_METHOD = git |
Thomas De Schampheleire | 63ecded | 2013-09-02 22:07:54 +0200 | [diff] [blame] | 22 | else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_HG),y) |
| 23 | LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) |
| 24 | LINUX_SITE_METHOD = hg |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 25 | else |
Raúl Sánchez Siles | 98b5cc3 | 2013-05-11 01:40:36 +0000 | [diff] [blame] | 26 | LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz |
Thomas Petazzoni | f45f775 | 2011-07-11 22:46:16 +0200 | [diff] [blame] | 27 | # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order |
| 28 | # to use the $(word) function. We support versions such as 3.1, |
| 29 | # 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. |
Gustavo Zacarias | 80d7b68 | 2011-10-24 11:54:03 -0300 | [diff] [blame] | 30 | ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.) |
| 31 | LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/ |
| 32 | else |
| 33 | LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x/ |
| 34 | endif |
Thomas Petazzoni | f45f775 | 2011-07-11 22:46:16 +0200 | [diff] [blame] | 35 | # release candidates are in testing/ subdir |
| 36 | ifneq ($(findstring -rc,$(LINUX_VERSION)),) |
Peter Korsgaard | ea7f5ff | 2011-07-14 16:38:07 +0200 | [diff] [blame] | 37 | LINUX_SITE := $(LINUX_SITE)testing/ |
Thomas Petazzoni | f45f775 | 2011-07-11 22:46:16 +0200 | [diff] [blame] | 38 | endif # -rc |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 39 | endif |
| 40 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 41 | LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) |
| 42 | |
| 43 | LINUX_INSTALL_IMAGES = YES |
Yann E. MORIN | ca80782 | 2014-02-08 17:26:05 +0100 | [diff] [blame] | 44 | LINUX_DEPENDENCIES += host-kmod |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 45 | |
Maxime Ripard | 902609f | 2012-07-30 14:32:46 +0200 | [diff] [blame] | 46 | ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y) |
| 47 | LINUX_DEPENDENCIES += host-uboot-tools |
| 48 | endif |
| 49 | |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 50 | LINUX_MAKE_FLAGS = \ |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 51 | HOSTCC="$(HOSTCC)" \ |
| 52 | HOSTCFLAGS="$(HOSTCFLAGS)" \ |
| 53 | ARCH=$(KERNEL_ARCH) \ |
| 54 | INSTALL_MOD_PATH=$(TARGET_DIR) \ |
Martin Hicks | d10e46f | 2011-02-01 12:13:00 -0500 | [diff] [blame] | 55 | CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ |
Peter Korsgaard | cc34519 | 2013-09-10 21:54:59 +0200 | [diff] [blame] | 56 | DEPMOD=$(HOST_DIR)/sbin/depmod |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 57 | |
| 58 | # Get the real Linux version, which tells us where kernel modules are |
| 59 | # going to be installed in the target filesystem. |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 60 | LINUX_VERSION_PROBED = $(shell $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease) |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 61 | |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 62 | ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y) |
Peter Korsgaard | 309c2f5 | 2012-12-21 08:39:14 +0100 | [diff] [blame] | 63 | KERNEL_DTS_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 64 | else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y) |
Thomas Petazzoni | 82d2a47 | 2013-06-05 06:21:09 +0000 | [diff] [blame] | 65 | KERNEL_DTS_NAME = $(basename $(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))) |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 66 | endif |
| 67 | |
Peter Korsgaard | 0ffdc16 | 2013-04-15 08:55:53 +0200 | [diff] [blame] | 68 | ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT)$(KERNEL_DTS_NAME),y) |
| 69 | $(error No kernel device tree source specified, check your \ |
| 70 | BR2_LINUX_KERNEL_USE_INTREE_DTS / BR2_LINUX_KERNEL_USE_CUSTOM_DTS settings) |
| 71 | endif |
| 72 | |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 73 | ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y) |
| 74 | ifneq ($(words $(KERNEL_DTS_NAME)),1) |
| 75 | $(error Kernel with appended device tree needs exactly one DTS source.\ |
| 76 | Check BR2_LINUX_KERNEL_INTREE_DTS_NAME or BR2_LINUX_KERNEL_CUSTOM_DTS_PATH.) |
| 77 | endif |
| 78 | endif |
| 79 | |
Peter Korsgaard | 309c2f5 | 2012-12-21 08:39:14 +0100 | [diff] [blame] | 80 | KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME)) |
| 81 | |
Martin Hicks | e2ed6c8 | 2011-03-21 13:39:43 -0400 | [diff] [blame] | 82 | ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 83 | LINUX_IMAGE_NAME=$(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME)) |
Martin Hicks | e2ed6c8 | 2011-03-21 13:39:43 -0400 | [diff] [blame] | 84 | else |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 85 | ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 86 | LINUX_IMAGE_NAME=uImage |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 87 | else ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y) |
| 88 | LINUX_IMAGE_NAME=uImage |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 89 | else ifeq ($(BR2_LINUX_KERNEL_BZIMAGE),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 90 | LINUX_IMAGE_NAME=bzImage |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 91 | else ifeq ($(BR2_LINUX_KERNEL_ZIMAGE),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 92 | LINUX_IMAGE_NAME=zImage |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 93 | else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y) |
| 94 | LINUX_IMAGE_NAME=zImage |
Maxime Ripard | 18e752d | 2012-07-30 14:32:48 +0200 | [diff] [blame] | 95 | else ifeq ($(BR2_LINUX_KERNEL_CUIMAGE),y) |
| 96 | LINUX_IMAGE_NAME=cuImage.$(KERNEL_DTS_NAME) |
| 97 | else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y) |
| 98 | LINUX_IMAGE_NAME=simpleImage.$(KERNEL_DTS_NAME) |
| 99 | else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y) |
| 100 | LINUX_IMAGE_NAME=linux.bin |
Thomas Petazzoni | b626dc0 | 2010-09-01 15:26:24 +0200 | [diff] [blame] | 101 | else ifeq ($(BR2_LINUX_KERNEL_VMLINUX_BIN),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 102 | LINUX_IMAGE_NAME=vmlinux.bin |
Thomas Petazzoni | 71c0502 | 2010-12-05 21:53:23 +0100 | [diff] [blame] | 103 | else ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 104 | LINUX_IMAGE_NAME=vmlinux |
Kelvin Cheung | c1485d5 | 2011-09-20 17:01:26 +0800 | [diff] [blame] | 105 | else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ),y) |
| 106 | LINUX_IMAGE_NAME=vmlinuz |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 107 | endif |
Martin Hicks | e2ed6c8 | 2011-03-21 13:39:43 -0400 | [diff] [blame] | 108 | endif |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 109 | |
Julien Boibessot | 8215e19 | 2013-03-13 11:13:24 +0000 | [diff] [blame] | 110 | LINUX_KERNEL_UIMAGE_LOADADDR=$(call qstrip,$(BR2_LINUX_KERNEL_UIMAGE_LOADADDR)) |
| 111 | ifneq ($(LINUX_KERNEL_UIMAGE_LOADADDR),) |
| 112 | LINUX_MAKE_FLAGS+=LOADADDR="$(LINUX_KERNEL_UIMAGE_LOADADDR)" |
| 113 | endif |
| 114 | |
Thomas Petazzoni | 84c4a10 | 2010-12-05 21:53:26 +0100 | [diff] [blame] | 115 | # Compute the arch path, since i386 and x86_64 are in arch/x86 and not |
| 116 | # in arch/$(KERNEL_ARCH). Even if the kernel creates symbolic links |
| 117 | # for bzImage, arch/i386 and arch/x86_64 do not exist when copying the |
| 118 | # defconfig file. |
| 119 | ifeq ($(KERNEL_ARCH),i386) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 120 | KERNEL_ARCH_PATH=$(LINUX_DIR)/arch/x86 |
Thomas Petazzoni | 84c4a10 | 2010-12-05 21:53:26 +0100 | [diff] [blame] | 121 | else ifeq ($(KERNEL_ARCH),x86_64) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 122 | KERNEL_ARCH_PATH=$(LINUX_DIR)/arch/x86 |
Thomas Petazzoni | 84c4a10 | 2010-12-05 21:53:26 +0100 | [diff] [blame] | 123 | else |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 124 | KERNEL_ARCH_PATH=$(LINUX_DIR)/arch/$(KERNEL_ARCH) |
Thomas Petazzoni | 84c4a10 | 2010-12-05 21:53:26 +0100 | [diff] [blame] | 125 | endif |
| 126 | |
Thomas Petazzoni | 71c0502 | 2010-12-05 21:53:23 +0100 | [diff] [blame] | 127 | ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 128 | LINUX_IMAGE_PATH=$(LINUX_DIR)/$(LINUX_IMAGE_NAME) |
Kelvin Cheung | c1485d5 | 2011-09-20 17:01:26 +0800 | [diff] [blame] | 129 | else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ),y) |
| 130 | LINUX_IMAGE_PATH=$(LINUX_DIR)/$(LINUX_IMAGE_NAME) |
Thomas Petazzoni | 71c0502 | 2010-12-05 21:53:23 +0100 | [diff] [blame] | 131 | else |
Thomas Petazzoni | 9665263 | 2010-09-07 15:08:07 +0200 | [diff] [blame] | 132 | ifeq ($(KERNEL_ARCH),avr32) |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 133 | LINUX_IMAGE_PATH=$(KERNEL_ARCH_PATH)/boot/images/$(LINUX_IMAGE_NAME) |
Thomas Petazzoni | 9665263 | 2010-09-07 15:08:07 +0200 | [diff] [blame] | 134 | else |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 135 | LINUX_IMAGE_PATH=$(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME) |
Thomas Petazzoni | 9665263 | 2010-09-07 15:08:07 +0200 | [diff] [blame] | 136 | endif |
Thomas Petazzoni | 71c0502 | 2010-12-05 21:53:23 +0100 | [diff] [blame] | 137 | endif # BR2_LINUX_KERNEL_VMLINUX |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 138 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 139 | define LINUX_DOWNLOAD_PATCHES |
| 140 | $(if $(LINUX_PATCHES), |
| 141 | @$(call MESSAGE,"Download additional patches")) |
| 142 | $(foreach patch,$(filter ftp://% http://%,$(LINUX_PATCHES)),\ |
Alvaro G. M | 0a4856c | 2012-03-16 14:42:53 +0100 | [diff] [blame] | 143 | $(call DOWNLOAD,$(patch))$(sep)) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 144 | endef |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 145 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 146 | LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 147 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 148 | define LINUX_APPLY_PATCHES |
| 149 | for p in $(LINUX_PATCHES) ; do \ |
Thomas Petazzoni | 55b0a37 | 2010-12-05 21:53:18 +0100 | [diff] [blame] | 150 | if echo $$p | grep -q -E "^ftp://|^http://" ; then \ |
Thomas Petazzoni | 59a326b | 2011-08-31 23:35:04 +0200 | [diff] [blame] | 151 | support/scripts/apply-patches.sh $(@D) $(DL_DIR) `basename $$p` ; \ |
Thomas Petazzoni | 55b0a37 | 2010-12-05 21:53:18 +0100 | [diff] [blame] | 152 | elif test -d $$p ; then \ |
Thomas Petazzoni | 59a326b | 2011-08-31 23:35:04 +0200 | [diff] [blame] | 153 | support/scripts/apply-patches.sh $(@D) $$p linux-\*.patch ; \ |
Thomas Petazzoni | 55b0a37 | 2010-12-05 21:53:18 +0100 | [diff] [blame] | 154 | else \ |
Thomas Petazzoni | 59a326b | 2011-08-31 23:35:04 +0200 | [diff] [blame] | 155 | support/scripts/apply-patches.sh $(@D) `dirname $$p` `basename $$p` ; \ |
Thomas Petazzoni | 55b0a37 | 2010-12-05 21:53:18 +0100 | [diff] [blame] | 156 | fi \ |
| 157 | done |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 158 | endef |
| 159 | |
| 160 | LINUX_POST_PATCH_HOOKS += LINUX_APPLY_PATCHES |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 161 | |
| 162 | |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 163 | ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 164 | KERNEL_SOURCE_CONFIG = $(KERNEL_ARCH_PATH)/configs/$(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 165 | else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y) |
Yann E. MORIN | ca80782 | 2014-02-08 17:26:05 +0100 | [diff] [blame] | 166 | KERNEL_SOURCE_CONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)) |
| 167 | endif |
| 168 | |
| 169 | ifeq ($(call KCONFIG_GET_OPT,CONFIG_KERNEL_LZO,$(KERNEL_SOURCE_CONFIG)),y) |
| 170 | LINUX_DEPENDENCIES += host-lzop |
| 171 | endif |
| 172 | ifeq ($(call KCONFIG_GET_OPT,CONFIG_RD_LZO,$(KERNEL_SOURCE_CONFIG)),y) |
| 173 | LINUX_DEPENDENCIES += host-lzop |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 174 | endif |
| 175 | |
| 176 | define LINUX_CONFIGURE_CMDS |
Yann E. MORIN | 0a541c8 | 2014-01-28 21:11:23 +0100 | [diff] [blame] | 177 | $(INSTALL) -m 0644 $(KERNEL_SOURCE_CONFIG) $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 178 | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) buildroot_defconfig |
Thomas Petazzoni | 84c4a10 | 2010-12-05 21:53:26 +0100 | [diff] [blame] | 179 | rm $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig |
Yann E. MORIN | 72189e5 | 2013-07-14 00:27:30 +0200 | [diff] [blame] | 180 | $(if $(BR2_arm)$(BR2_armeb), |
| 181 | $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config)) |
Thomas Petazzoni | ed23c92 | 2013-12-29 18:33:45 +0100 | [diff] [blame] | 182 | $(if $(BR2_TARGET_ROOTFS_CPIO), |
| 183 | $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config)) |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 184 | # As the kernel gets compiled before root filesystems are |
Arnout Vandecappelle (Essensium/Mind) | 13a3afc | 2011-09-06 23:16:09 +0200 | [diff] [blame] | 185 | # built, we create a fake cpio file. It'll be |
| 186 | # replaced later by the real cpio archive, and the kernel will be |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 187 | # rebuilt using the linux26-rebuild-with-initramfs target. |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 188 | $(if $(BR2_TARGET_ROOTFS_INITRAMFS), |
Arnout Vandecappelle (Essensium/Mind) | 13a3afc | 2011-09-06 23:16:09 +0200 | [diff] [blame] | 189 | touch $(BINARIES_DIR)/rootfs.cpio |
Arnout Vandecappelle (Essensium/Mind) | 13a3afc | 2011-09-06 23:16:09 +0200 | [diff] [blame] | 190 | $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,\"$(BINARIES_DIR)/rootfs.cpio\",$(@D)/.config) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 191 | $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config) |
Valentine Barshak | 391c82e | 2012-10-10 03:34:56 +0400 | [diff] [blame] | 192 | $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config)) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 193 | $(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),, |
| 194 | $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config) |
| 195 | $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config)) |
eric.le.bihan.dev@free.fr | 937a954 | 2014-02-07 14:21:32 +0100 | [diff] [blame] | 196 | $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV), |
| 197 | $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)) |
Anders Darander | aaef2ca | 2013-12-16 11:53:20 +0100 | [diff] [blame] | 198 | $(if $(BR2_PACKAGE_KTAP), |
| 199 | $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config) |
| 200 | $(call KCONFIG_ENABLE_OPT,CONFIG_EVENT_TRACING,$(@D)/.config) |
| 201 | $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config) |
| 202 | $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config)) |
Maxime Ripard | 90759a6 | 2012-03-23 16:49:53 +0100 | [diff] [blame] | 203 | $(if $(BR2_PACKAGE_SYSTEMD), |
eric.le.bihan.dev@free.fr | 2c66e44 | 2014-02-07 14:21:34 +0100 | [diff] [blame] | 204 | $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config) |
eric.le.bihan.dev@free.fr | 4c10eed | 2014-02-24 10:25:42 +0100 | [diff] [blame] | 205 | $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config) |
| 206 | $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config) |
| 207 | $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config) |
| 208 | $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config) |
| 209 | $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config)) |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 210 | $(if $(BR2_LINUX_KERNEL_APPENDED_DTB), |
| 211 | $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config)) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 212 | yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig |
| 213 | endef |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 214 | |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 215 | ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 216 | ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),) |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 217 | define LINUX_BUILD_DTB |
Peter Korsgaard | 309c2f5 | 2012-12-21 08:39:14 +0100 | [diff] [blame] | 218 | $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTBS) |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 219 | endef |
| 220 | define LINUX_INSTALL_DTB |
Peter Korsgaard | 3cab8aa | 2013-04-14 19:31:30 +0200 | [diff] [blame] | 221 | # dtbs moved from arch/<ARCH>/boot to arch/<ARCH>/boot/dts since 3.8-rc1 |
Peter Korsgaard | ef34705 | 2012-12-21 09:07:45 +0100 | [diff] [blame] | 222 | cp $(addprefix \ |
| 223 | $(KERNEL_ARCH_PATH)/boot/$(if $(wildcard \ |
| 224 | $(addprefix $(KERNEL_ARCH_PATH)/boot/dts/,$(KERNEL_DTBS))),dts/),$(KERNEL_DTBS)) \ |
Maxime Ripard | dd1aa62 | 2012-12-19 22:48:09 +0000 | [diff] [blame] | 225 | $(BINARIES_DIR)/ |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 226 | endef |
Maxime Ripard | 88d350c | 2013-02-14 04:27:54 +0000 | [diff] [blame] | 227 | define LINUX_INSTALL_DTB_TARGET |
Peter Korsgaard | 3cab8aa | 2013-04-14 19:31:30 +0200 | [diff] [blame] | 228 | # dtbs moved from arch/<ARCH>/boot to arch/<ARCH>/boot/dts since 3.8-rc1 |
Maxime Ripard | 88d350c | 2013-02-14 04:27:54 +0000 | [diff] [blame] | 229 | cp $(addprefix \ |
| 230 | $(KERNEL_ARCH_PATH)/boot/$(if $(wildcard \ |
| 231 | $(addprefix $(KERNEL_ARCH_PATH)/boot/dts/,$(KERNEL_DTBS))),dts/),$(KERNEL_DTBS)) \ |
| 232 | $(TARGET_DIR)/boot/ |
| 233 | endef |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 234 | endif |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 235 | endif |
| 236 | |
Arnout Vandecappelle (Essensium/Mind) | a1cfe20 | 2013-01-08 11:23:56 +0000 | [diff] [blame] | 237 | ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y) |
| 238 | # dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1 |
| 239 | define LINUX_APPEND_DTB |
| 240 | if [ -e $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb ]; then \ |
| 241 | cat $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb; \ |
| 242 | else \ |
| 243 | cat $(KERNEL_ARCH_PATH)/boot/dts/$(KERNEL_DTS_NAME).dtb; \ |
| 244 | fi >> $(KERNEL_ARCH_PATH)/boot/zImage |
| 245 | endef |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 246 | ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y) |
Maxime Ripard | ae86a3c | 2013-06-07 15:21:43 +0200 | [diff] [blame] | 247 | # We need to generate a new u-boot image that takes into |
| 248 | # account the extra-size added by the device tree at the end |
| 249 | # of the image. To do so, we first need to retrieve both load |
| 250 | # address and entry point for the kernel from the already |
| 251 | # generate uboot image before using mkimage -l. |
Arnout Vandecappelle | 13ae007 | 2013-11-07 00:12:35 +0100 | [diff] [blame] | 252 | LINUX_APPEND_DTB += $(sep) MKIMAGE_ARGS=`$(MKIMAGE) -l $(LINUX_IMAGE_PATH) |\ |
Maxime Ripard | ae86a3c | 2013-06-07 15:21:43 +0200 | [diff] [blame] | 253 | sed -n -e 's/Image Name:[ ]*\(.*\)/-n \1/p' -e 's/Load Address:/-a/p' -e 's/Entry Point:/-e/p'`; \ |
Arnout Vandecappelle | 13ae007 | 2013-11-07 00:12:35 +0100 | [diff] [blame] | 254 | $(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux \ |
Maxime Ripard | ae86a3c | 2013-06-07 15:21:43 +0200 | [diff] [blame] | 255 | -T kernel -C none $${MKIMAGE_ARGS} \ |
| 256 | -d $(KERNEL_ARCH_PATH)/boot/zImage $(LINUX_IMAGE_PATH); |
Arnout Vandecappelle (Essensium/Mind) | a1cfe20 | 2013-01-08 11:23:56 +0000 | [diff] [blame] | 257 | endif |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 258 | endif |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 259 | |
Thomas Petazzoni | 4944e8c | 2010-06-13 19:18:34 +0200 | [diff] [blame] | 260 | # Compilation. We make sure the kernel gets rebuilt when the |
| 261 | # configuration has changed. |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 262 | define LINUX_BUILD_CMDS |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 263 | $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS), |
| 264 | cp $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH) $(KERNEL_ARCH_PATH)/boot/dts/) |
Maxime Ripard | ae86a3c | 2013-06-07 15:21:43 +0200 | [diff] [blame] | 265 | $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME) |
Peter Korsgaard | ce03b89 | 2011-07-07 23:40:09 +0200 | [diff] [blame] | 266 | @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 267 | $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 268 | fi |
Maxime Ripard | 69fc497 | 2012-07-30 14:32:45 +0200 | [diff] [blame] | 269 | $(LINUX_BUILD_DTB) |
Maxime Ripard | 978928e | 2012-07-30 14:32:47 +0200 | [diff] [blame] | 270 | $(LINUX_APPEND_DTB) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 271 | endef |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 272 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 273 | |
Thomas Petazzoni | eff25f4 | 2011-07-05 21:53:54 +0200 | [diff] [blame] | 274 | ifeq ($(BR2_LINUX_KERNEL_INSTALL_TARGET),y) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 275 | define LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 276 | install -m 0644 -D $(LINUX_IMAGE_PATH) $(TARGET_DIR)/boot/$(LINUX_IMAGE_NAME) |
Maxime Ripard | 88d350c | 2013-02-14 04:27:54 +0000 | [diff] [blame] | 277 | $(LINUX_INSTALL_DTB_TARGET) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 278 | endef |
Thomas Petazzoni | eff25f4 | 2011-07-05 21:53:54 +0200 | [diff] [blame] | 279 | endif |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 280 | |
Thomas De Schampheleire | 707d44d | 2012-05-15 08:18:25 +0000 | [diff] [blame] | 281 | |
| 282 | define LINUX_INSTALL_HOST_TOOLS |
| 283 | # Installing dtc (device tree compiler) as host tool, if selected |
| 284 | if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ |
| 285 | $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/usr/bin/dtc ; \ |
| 286 | fi |
| 287 | endef |
| 288 | |
| 289 | |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 290 | define LINUX_INSTALL_IMAGES_CMDS |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 291 | cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR) |
Reuben Dowle | 2355354 | 2013-03-27 23:01:15 +0000 | [diff] [blame] | 292 | $(LINUX_INSTALL_DTB) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 293 | endef |
| 294 | |
| 295 | define LINUX_INSTALL_TARGET_CMDS |
| 296 | $(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET) |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 297 | # Install modules and remove symbolic links pointing to build |
| 298 | # directories, not relevant on the target |
Peter Korsgaard | ce03b89 | 2011-07-07 23:40:09 +0200 | [diff] [blame] | 299 | @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ |
Peter Korsgaard | 3f81723 | 2013-09-11 13:21:53 +0200 | [diff] [blame] | 300 | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 301 | rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ |
| 302 | rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 303 | fi |
Thomas De Schampheleire | 707d44d | 2012-05-15 08:18:25 +0000 | [diff] [blame] | 304 | $(LINUX_INSTALL_HOST_TOOLS) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 305 | endef |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 306 | |
Jérôme Pouiller | 741cbcc | 2013-09-03 10:45:41 +0200 | [diff] [blame] | 307 | include $(sort $(wildcard linux/linux-ext-*.mk)) |
Thomas De Schampheleire | 3011d23 | 2011-09-17 22:22:51 +0200 | [diff] [blame] | 308 | |
Arnout Vandecappelle (Essensium/Mind) | e1502eb | 2012-07-03 00:07:32 +0200 | [diff] [blame] | 309 | $(eval $(generic-package)) |
Thomas Petazzoni | 487e21c | 2010-04-03 18:46:46 +0200 | [diff] [blame] | 310 | |
Thomas Petazzoni | f18c516 | 2012-05-04 05:40:53 +0000 | [diff] [blame] | 311 | ifeq ($(BR2_LINUX_KERNEL),y) |
| 312 | linux-menuconfig linux-xconfig linux-gconfig linux-nconfig linux26-menuconfig linux26-xconfig linux26-gconfig linux26-nconfig: dirs linux-configure |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 313 | $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) \ |
Peter Korsgaard | c1ce30f | 2010-12-27 22:50:18 +0100 | [diff] [blame] | 314 | $(subst linux-,,$(subst linux26-,,$@)) |
Thomas Petazzoni | 9af0ee8 | 2011-07-11 22:46:08 +0200 | [diff] [blame] | 315 | rm -f $(LINUX_DIR)/.stamp_{built,target_installed,images_installed} |
Thomas Petazzoni | 4944e8c | 2010-06-13 19:18:34 +0200 | [diff] [blame] | 316 | |
Thomas Petazzoni | f18c516 | 2012-05-04 05:40:53 +0000 | [diff] [blame] | 317 | linux-savedefconfig linux26-savedefconfig: dirs linux-configure |
Jean-Christophe PLAGNIOL-VILLARD | f5777ce | 2011-08-22 21:28:47 +0200 | [diff] [blame] | 318 | $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) \ |
| 319 | $(subst linux-,,$(subst linux26-,,$@)) |
| 320 | |
Thomas De Schampheleire | 0900c12 | 2011-10-14 16:56:56 +0200 | [diff] [blame] | 321 | ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y) |
Thomas Petazzoni | f18c516 | 2012-05-04 05:40:53 +0000 | [diff] [blame] | 322 | linux-update-config linux26-update-config: linux-configure $(LINUX_DIR)/.config |
Thomas De Schampheleire | 0900c12 | 2011-10-14 16:56:56 +0200 | [diff] [blame] | 323 | cp -f $(LINUX_DIR)/.config $(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE) |
| 324 | |
| 325 | linux-update-defconfig linux26-update-defconfig: linux-savedefconfig |
| 326 | cp -f $(LINUX_DIR)/defconfig $(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE) |
| 327 | else |
| 328 | linux-update-config linux26-update-config: ; |
| 329 | linux-update-defconfig linux26-update-defconfig: ; |
| 330 | endif |
Thomas Petazzoni | f18c516 | 2012-05-04 05:40:53 +0000 | [diff] [blame] | 331 | endif |
Thomas De Schampheleire | 0900c12 | 2011-10-14 16:56:56 +0200 | [diff] [blame] | 332 | |
Arnout Vandecappelle (Essensium/Mind) | 13a3afc | 2011-09-06 23:16:09 +0200 | [diff] [blame] | 333 | # Support for rebuilding the kernel after the cpio archive has |
| 334 | # been generated in $(BINARIES_DIR)/rootfs.cpio. |
| 335 | $(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LINUX_DIR)/.stamp_images_installed $(BINARIES_DIR)/rootfs.cpio |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 336 | @$(call MESSAGE,"Rebuilding kernel with initramfs") |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 337 | # Build the kernel. |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 338 | $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME) |
Nathan Ford | 1ac04c3 | 2013-07-31 11:47:36 -0400 | [diff] [blame] | 339 | $(LINUX_APPEND_DTB) |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 340 | # Copy the kernel image to its final destination |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 341 | cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR) |
Stephan Hoffmann | aaed42d | 2012-03-17 10:46:55 +0100 | [diff] [blame] | 342 | # If there is a .ub file copy it to the final destination |
Markus Kaindl | c9ccdf8 | 2012-03-21 02:19:04 +0100 | [diff] [blame] | 343 | test ! -f $(LINUX_IMAGE_PATH).ub || cp $(LINUX_IMAGE_PATH).ub $(BINARIES_DIR) |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 344 | $(Q)touch $@ |
| 345 | |
| 346 | # The initramfs building code must make sure this target gets called |
| 347 | # after it generated the initramfs list of files. |
Thomas Petazzoni | af52661 | 2011-07-11 22:46:07 +0200 | [diff] [blame] | 348 | linux-rebuild-with-initramfs linux26-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_initramfs_rebuilt |
Thomas Petazzoni | f507921 | 2010-06-13 19:19:38 +0200 | [diff] [blame] | 349 | |
Thomas Petazzoni | af5dc83 | 2010-07-29 15:40:28 +0200 | [diff] [blame] | 350 | # Checks to give errors that the user can understand |
Peter Korsgaard | 3e5e39a | 2010-09-28 14:43:25 +0200 | [diff] [blame] | 351 | ifeq ($(filter source,$(MAKECMDGOALS)),) |
Thomas Petazzoni | af5dc83 | 2010-07-29 15:40:28 +0200 | [diff] [blame] | 352 | ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) |
| 353 | ifeq ($(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG)),) |
| 354 | $(error No kernel defconfig name specified, check your BR2_LINUX_KERNEL_DEFCONFIG setting) |
| 355 | endif |
| 356 | endif |
| 357 | |
| 358 | ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y) |
| 359 | ifeq ($(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)),) |
| 360 | $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE setting) |
| 361 | endif |
Peter Korsgaard | 3e5e39a | 2010-09-28 14:43:25 +0200 | [diff] [blame] | 362 | endif |
| 363 | |
| 364 | endif |