@@ -206,11 +206,10 @@ $(build)/$(BOARD)/$(LINUX_IMAGE_FILE).bundled: \
206206 @touch $@ # force a timestamp update
207207 @sha256sum "$@" | tee -a "$(HASHES)"
208208
209- # modify_defconfig_menuconfig target allows us edit current in tree defconfig config
209+ # modify_and_save_defconfig_in_place target allows us edit current in tree config
210210# under linux decompressed+patched directory through menuconfig
211211# 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:
212+ linux.modify_and_save_defconfig_in_place:
214213 cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" && \
215214 $(MAKE) \
216215 -C "$(build)/$(linux_base_dir)" \
@@ -226,6 +225,9 @@ linux.modify_defconfig_in_place:
226225 savedefconfig \
227226 && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
228227
228+ # modify_and_save_oldconfig_in_place target allows us edit current in tree config
229+ # under linux decompressed+patched directory through menuconfig
230+ # and put it back in git tree to check changes with git difftool iteratively
229231linux.modify_and_save_oldconfig_in_place:
230232 mkdir -p "$(build)/$(linux_dir)" \
231233 && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
@@ -241,86 +243,59 @@ linux.modify_and_save_oldconfig_in_place:
241243 olddefconfig \
242244 && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
243245
244- # generate_old_config target allows us to copy current in git tree defconfig
245- # into decompressed linux directory's .config file. This permits
246- # us to edit that .config file and remove unneeded stuff prior
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:
246+ #Add some tooling to permit us to keep track of what we currently use.
247+ # save_in_defconfig_format_in_place: regenerate a defconfig from current board linux config and overwrites it
248+ # save_in_versioned_defconfig_format: same as avove but doesn't overwrite: writes it in seperate versioned file
249+ # same for oldconfig
250+ linux.save_in_defconfig_format_in_place:
250251 mkdir -p "$(build)/$(linux_dir)" \
251252 && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
252253 && $(MAKE) -C "$(build)/$(linux_base_dir)" \
253254 O="$(build)/$(linux_dir)" \
254255 ARCH="$(LINUX_ARCH)" \
255256 CROSS_COMPILE="$(CROSS)" \
256- olddefconfig \
257- && echo "" \
258- && echo "You can now edit $(build)/$(linux_dir)/.config" \
259- && echo "Either:" \
260- && echo " Manually through text editor" \
261- && echo " Through make BOARD=XYZ linux.menuconfig" \
262- && echo "" \
263- && echo "To save chances in git tree for review, type:" \
264- && echo "make BOARD=XYZ linux.saveconfig"
265- linux.generate_and_save-versioned-oldconfig:
257+ savedefconfig \
258+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
259+
260+ linux.save_in_versioned_defconfig_format:
266261 mkdir -p "$(build)/$(linux_dir)" \
267262 && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
268263 && $(MAKE) -C "$(build)/$(linux_base_dir)" \
269264 O="$(build)/$(linux_dir)" \
270265 ARCH="$(LINUX_ARCH)" \
271- CROSS_COMPILE="$(CROSS)" \
272- olddefconfig \
273- && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)_oldconfig_$(CONFIG_LINUX_VERSION)"
266+ savedefconfig \
267+ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
274268
275- # menuconfig target allows us to easily reconfigure this Linux kernel
276- # Afterwards make linux.saveconfig to generate a minimal config from it
277- linux.menuconfig:
278- $(MAKE) \
279- -C "$(build)/$(linux_base_dir)" \
269+ linux.save_in_oldconfig_format_in_place:
270+ mkdir -p "$(build)/$(linux_dir)" \
271+ && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
272+ && $(MAKE) -C "$(build)/$(linux_base_dir)" \
280273 O="$(build)/$(linux_dir)" \
281274 ARCH="$(LINUX_ARCH)" \
282275 CROSS_COMPILE="$(CROSS)" \
283- menuconfig \
276+ oldefconfig \
277+ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
284278
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:
279+ linux.save_in_versioned_oldconfig:
289280 mkdir -p "$(build)/$(linux_dir)" \
290281 && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
291282 && $(MAKE) -C "$(build)/$(linux_base_dir)" \
292283 O="$(build)/$(linux_dir)" \
293284 ARCH="$(LINUX_ARCH)" \
294285 CROSS_COMPILE="$(CROSS)" \
295- savedefconfig \
296- && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
297- linux.regenerate_and_save_versioned_defconfig:
286+ oldefconfig \
287+ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)_oldconfig_$(CONFIG_LINUX_VERSION)"
288+
289+ # Prior of attempting to bump kernel version, call make BOARD=xyz linux.save_in_oldconfig_format_in_place
290+ # Then bump board config's CONFIG_LINUX_VERSION. build as usual to extract new linux tarball.
291+ # Then call make BOARD=xyz linux.prompt_for_new_config_options_for_kernel_version_bump
292+ #The following ask new config choice for all new symbols that should be evaluated prior of creating PR
293+ # Tip: Open a browser at https://www.kernelconfig.io/index.html
294+ linux.prompt_for_new_config_options_for_kernel_version_bump:
298295 mkdir -p "$(build)/$(linux_dir)" \
299296 && cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
300297 && $(MAKE) -C "$(build)/$(linux_base_dir)" \
301298 O="$(build)/$(linux_dir)" \
302299 ARCH="$(LINUX_ARCH)" \
303- savedefconfig \
304- && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
305-
306- # The config file in the repo is stored as a "defconfig" format
307- # which only includes the options that have changed from the defaults.
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:
319- $(MAKE) \
320- -C "$(build)/$(linux_base_dir)" \
321- O="$(build)/$(linux_dir)" \
322- ARCH="$(LINUX_ARCH)" \
323- CROSS_COMPILE="$(CROSS)" \
324- savedefconfig \
325- && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
326-
300+ oldconfig \
301+ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
0 commit comments