@@ -206,34 +206,53 @@ $(build)/$(BOARD)/$(LINUX_IMAGE_FILE).bundled: \
206
206
@touch $@ # force a timestamp update
207
207
@sha256sum "$@" | tee -a "$(HASHES)"
208
208
209
- # modifydefconfig target allows us edit current in tree defconfig config
210
- # under linux decompressed+patched directory and put it back in git tree
211
- # to check changes with git difftool
212
- # useful for development cycle of linux kernel version bumps.
213
- linux.modifydefconfig :
209
+ # modify_defconfig_menuconfig target allows us edit current in tree defconfig config
210
+ # under linux decompressed+patched directory through menuconfig
211
+ # and put it back in git tree to check changes with git difftool iteratively
212
+ # Useful for development cycle of linux kernel version bumps in defconfig stored format .
213
+ linux.modify_defconfig_in_place :
214
214
cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" && \
215
215
$(MAKE) \
216
216
-C "$(build)/$(linux_base_dir)" \
217
217
O="$(build)/$(linux_dir)" \
218
218
ARCH="$(LINUX_ARCH)" \
219
+ CROSS_COMPILE="$(CROSS)" \
219
220
menuconfig && \
220
221
$(MAKE) \
221
222
-C "$(build)/$(linux_base_dir)" \
222
223
O="$(build)/$(linux_dir)" \
223
224
ARCH="$(LINUX_ARCH)" \
224
- savedefconfig && \
225
- mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
225
+ CROSS_COMPILE="$(CROSS)" \
226
+ savedefconfig \
227
+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
228
+
229
+ linux.modify_and_save_oldconfig_in_place:
230
+ mkdir -p "$(build)/$(linux_dir)" \
231
+ && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
232
+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
233
+ O="$(build)/$(linux_dir)" \
234
+ ARCH="$(LINUX_ARCH)" \
235
+ CROSS_COMPILE="$(CROSS)" \
236
+ menuconfig \
237
+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
238
+ O="$(build)/$(linux_dir)" \
239
+ ARCH="$(LINUX_ARCH)" \
240
+ CROSS_COMPILE="$(CROSS)" \
241
+ olddefconfig \
242
+ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
226
243
227
- # generateoldconfig target allows us to copy current in git tree defconfig
244
+ # generate_old_config target allows us to copy current in git tree defconfig
228
245
# into decompressed linux directory's .config file. This permits
229
246
# us to edit that .config file and remove unneeded stuff prior
230
- # of calling saveconfig target from heads main directory (cd -)
231
- linux.generateoldconfig:
247
+ # of calling save_defconfig target from heads main directory (cd -)
248
+ # to store it where the board expects it stored and used from.
249
+ linux.generate_old_config:
232
250
mkdir -p "$(build)/$(linux_dir)" \
233
251
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
234
252
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
235
253
O="$(build)/$(linux_dir)" \
236
254
ARCH="$(LINUX_ARCH)" \
255
+ CROSS_COMPILE="$(CROSS)" \
237
256
olddefconfig \
238
257
&& echo "" \
239
258
&& echo "You can now edit $(build)/$(linux_dir)/.config" \
@@ -243,6 +262,15 @@ linux.generateoldconfig:
243
262
&& echo "" \
244
263
&& echo "To save chances in git tree for review, type:" \
245
264
&& echo "make BOARD=XYZ linux.saveconfig"
265
+ linux.generate_and_save-versioned-oldconfig:
266
+ mkdir -p "$(build)/$(linux_dir)" \
267
+ && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
268
+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
269
+ O="$(build)/$(linux_dir)" \
270
+ ARCH="$(LINUX_ARCH)" \
271
+ CROSS_COMPILE="$(CROSS)" \
272
+ olddefconfig \
273
+ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)_oldconfig_$(CONFIG_LINUX_VERSION)"
246
274
247
275
# menuconfig target allows us to easily reconfigure this Linux kernel
248
276
# Afterwards make linux.saveconfig to generate a minimal config from it
@@ -251,14 +279,48 @@ linux.menuconfig:
251
279
-C "$(build)/$(linux_base_dir)" \
252
280
O="$(build)/$(linux_dir)" \
253
281
ARCH="$(LINUX_ARCH)" \
282
+ CROSS_COMPILE="$(CROSS)" \
254
283
menuconfig \
255
284
285
+ #Add some tooling to permit us to keep track of what we currently use.
286
+ # regenerate_and_save_defconfig: regenerate a defconfig from current board linux config and overwrites it
287
+ # regenerate_and_save_versioned_defconfig : same as avove but doesn't overwrite: writes it in seperate versioned file
288
+ linux.regenerate_and_save_defconfig:
289
+ mkdir -p "$(build)/$(linux_dir)" \
290
+ && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
291
+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
292
+ O="$(build)/$(linux_dir)" \
293
+ ARCH="$(LINUX_ARCH)" \
294
+ CROSS_COMPILE="$(CROSS)" \
295
+ savedefconfig \
296
+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
297
+ linux.regenerate_and_save_versioned_defconfig:
298
+ mkdir -p "$(build)/$(linux_dir)" \
299
+ && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
300
+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
301
+ O="$(build)/$(linux_dir)" \
302
+ ARCH="$(LINUX_ARCH)" \
303
+ savedefconfig \
304
+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
305
+
256
306
# The config file in the repo is stored as a "defconfig" format
257
307
# which only includes the options that have changed from the defaults.
258
- linux.saveconfig:
308
+ # Here dave_defconfig takes .config under extracted linux dir and save it back to where board expects it
309
+ linux.save_defconfig:
310
+ $(MAKE) \
311
+ -C "$(build)/$(linux_base_dir)" \
312
+ O="$(build)/$(linux_dir)" \
313
+ ARCH="$(LINUX_ARCH)" \
314
+ CROSS_COMPILE="$(CROSS)" \
315
+ savedefconfig \
316
+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
317
+ #Same as above, but instead of overwriting the board's expected file, we store it in a file versioned by kernel version
318
+ linux.save_versioned_defconfig:
259
319
$(MAKE) \
260
320
-C "$(build)/$(linux_base_dir)" \
261
321
O="$(build)/$(linux_dir)" \
262
322
ARCH="$(LINUX_ARCH)" \
263
- savedefconfig
264
- mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
323
+ CROSS_COMPILE="$(CROSS)" \
324
+ savedefconfig \
325
+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
326
+
0 commit comments