kconfig migrate: new subcommand to run make oldconfig
With this new command you can run
$ pmbootstrap kconfig migrate --arch <arch> linux-postmarketos-xxx-xxx
to perform safe kconfig upgrades between kernel releases.
make oldconfig
will ask question for every new or renamed kconfig option, so you have no chance to miss anything.
Test plan:
pmaports!2508 was a good test case for this, as the kernel was upgraded from 5.13.13 to 5.14.1, but kconfig was not migrated yet. (it is migrated now already)
- In pmaports dir checkout MR 2508 (or
git checkout msm8974-514
). - In pmbootstrap dir checkout this MR (or
git checkout kconfig-oldconfig
) - run
pmbootstrap kconfig edit --oldconfig linux-postmarketos-qcom-msm8974
, observe how it looks like:
[11:53:55] (native) make oldconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
LEX scripts/kconfig/lexer.lex.c
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/conf
*
* Restart config...
*
*
* Enable the block layer
*
Enable the block layer (BLOCK) [Y/n/?] y
Block layer SG support v4 (BLK_DEV_BSG) [Y/n/?] y
Block layer SG support v4 helper lib (BLK_DEV_BSGLIB) [N/y/?] n
Block layer data integrity support (BLK_DEV_INTEGRITY) [N/y/?] n
Zoned block device support (BLK_DEV_ZONED) [N/y/?] n
Block layer bio throttling support (BLK_DEV_THROTTLING) [Y/n/?] y
Block throttling .low limit interface support (EXPERIMENTAL) (BLK_DEV_THROTTLING_LOW) [N/y/?] n
Block device command line partition parser (BLK_CMDLINE_PARSER) [N/y/?] n
Enable support for block device writeback throttling (BLK_WBT) [N/y/?] n
Enable support for latency based cgroup IO protection (BLK_CGROUP_IOLATENCY) [N/y/?] n
Enable support for cost model based cgroup IO controller (BLK_CGROUP_IOCOST) [N/y/?] n
Cgroup I/O controller for assigning an I/O priority class (BLK_CGROUP_IOPRIO) [N/y/?] (NEW)
^^ stops at new questions and waits for answer.
Edited by Administrator