source: trunk/openwrt/patches/all/021_install_kernel_modules_and_merge_debwrt_config @ 753

Last change on this file since 753 was 753, checked in by amain, 4 years ago

Splite make modules and modules_install to prevent build breaks

File size: 4.9 KB
Line 
1diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
2index 406fd46..d6f4dfb 100644
3--- a/include/kernel-defaults.mk
4+++ b/include/kernel-defaults.mk
5@@ -105,22 +105,109 @@ define Kernel/SetNoInitramfs
6 endef
7 
8 define Kernel/Configure/Default
9+       @echo
10+       @echo
11+       @echo ">>> Backup LINUX_DIR/.config (keep timestamp)"
12+       @echo ">>> to: $(LINUX_DIR)/.config.org"
13+       -cp -p $(LINUX_DIR)/.config $(LINUX_DIR)/.config.org
14+       rm -f $(LINUX_DIR)/.config
15+       @echo
16+       @echo
17+       @echo
18+       @echo ">>> Linux kernel target config"
19+       @echo ">>> to  :  LINUX_DIR/.config.target"
20+       @echo
21        $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target
22 # copy CONFIG_KERNEL_* settings over to .config.target
23        awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target
24        echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
25        echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
26        echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target
27+       @echo
28+       @echo
29+       @echo ">>> METADATA kconfig"
30+       @echo ">>> from:  TMP_DIR/.packageinfo, TOPDIR/.config"
31+       @echo ">>> to  :  LINUX_DIR/.config.override"
32+       @echo
33        $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
34-       $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set
35+       @echo
36+       @echo
37+       @echo ">>> KCONFIG"
38+       @echo ">>> from:  LINUX_DIR/.config.target, LINUX_DIR/.config.override"
39+       @echo ">>> to  :  LINUX_DIR/.config"
40+       @echo
41+       $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
42+       @echo
43+       @echo
44+       @echo ">>> Kernel oldnoconfig [openwrt] (1ste pass)"
45+       @echo
46+       +$(MAKE) $(KERNEL_MAKEOPTS) oldnoconfig
47+       mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.openwrt
48+       sort $(LINUX_DIR)/.config.openwrt | grep -v '#' > $(LINUX_DIR)/.config.1
49+       @echo
50+       @echo
51+       @echo ">>> Merge DebWrt config with kernel config"
52+       @echo ">>> from: TOPDIR/.config.debwrt, LINUX_DIR/.config.openwrt"
53+       @echo ">>> to  : LINUX_DIR/.config"
54+       @echo
55+       $(SCRIPT_DIR)/kconfig.pl + $(LINUX_DIR)/.config.openwrt $(TOPDIR)/.config.debwrt > $(LINUX_DIR)/.config
56+       @echo
57+       @echo
58+       @echo ">>> Kernel oldnoconfig [debwrt] (2nd pass)"
59+       @echo
60+       +$(MAKE) $(KERNEL_MAKEOPTS) oldnoconfig
61+       sort $(LINUX_DIR)/.config | grep -v '^#' > $(LINUX_DIR)/.config.2
62+       @echo
63+       @echo ">>>    start diff openwrt versus debwrt"
64+       -diff $(LINUX_DIR)/.config.1 $(LINUX_DIR)/.config.2 >$(LINUX_DIR)/.config.diff
65+       cat $(LINUX_DIR)/.config.diff
66+       @echo ">>>    end diff openwrt versus debwrt"
67+       @echo
68+       @echo
69+       @echo ">>> Move LINUX_DIR/.config"
70+       @echo ">>> to: LINUX_DIR/.config.set"
71+       @echo
72+       mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.set
73+       @echo
74+       @echo
75+       @echo ">>> Set no initramfs"
76+       @echo
77        $(call Kernel/SetNoInitramfs)
78        rm -rf $(KERNEL_BUILD_DIR)/modules
79+       @echo
80+       @echo
81+       @echo ">>> Restore LINUX_DIR/.config (preserve timestamp)"
82+       @echo ">>> from: $(LINUX_DIR)/.config.org"
83+       @echo
84+       -cp -p $(LINUX_DIR)/.config.org $(LINUX_DIR)/.config
85+       @echo
86+       @echo
87+       @echo ">>> List temporary .config files"
88+       @echo
89+       find $(LINUX_DIR) -maxdepth 1 -name ".config*" -ls
90+       @echo
91+       @echo
92+       @echo ">>> Update(or keep) LINUX_DIR/.config"
93+       @echo ">>> if LINUX_DIR/.config.set differs from LINUX_DIR/.config.prev"
94+       @echo
95        cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \
96+               echo -e "\n\n*********** UPDATING CONFIG ****************"; \
97                cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \
98                cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \
99        }
100+       @echo
101+       @echo
102+       @echo ">>> Install kernel headers"
103+       @echo
104        $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
105        $(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic
106+       @echo
107+       @echo
108+       @echo ">>> Kernel config diff"
109+       @echo
110+       ls -l $(LINUX_DIR)/.config.set
111+       ls -l $(LINUX_DIR)/.config
112+       -diff $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config
113 endef
114 
115 define Kernel/Configure/Initramfs
116@@ -128,8 +215,19 @@ define Kernel/Configure/Initramfs
117 endef
118 
119 define Kernel/CompileModules/Default
120+       @echo
121+       @echo
122+       @echo ">>> Build and install kernel modules"
123+       @echo
124        rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map
125+       # DebWrt make modules install
126+       -mkdir -p $(TMP_DIR)/modules
127+       # don't merge modules and modules_install into 1 make call!
128        +$(MAKE) $(KERNEL_MAKEOPTS) modules
129+       +$(MAKE) $(KERNEL_MAKEOPTS) modules_install INSTALL_MOD_PATH=$(TMP_DIR)/modules
130+       echo "OPENWRT_LINUX_VERSION=$(LINUX_VERSION)" >> $(TOPDIR)/.openwrt_env
131+       echo "OPENWRT_LINUX_UNAME_VERSION=$(LINUX_UNAME_VERSION)" >> $(TOPDIR)/.openwrt_env
132+       echo "OPENWRT_LINUX_DIR=$(LINUX_DIR)" >> $(TOPDIR)/.openwrt_env
133 endef
134 
135 OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
Note: See TracBrowser for help on using the repository browser.