The current process to generate a kernel .config file from a defconfig
is a bit cumbersome:
$ ptxdist extract kernel
$ cd platform-foo/build-target/linux-<version>
$ make ARCH=... CROSS_COMPILE=... foo_defconfig
$ cp .config ../../../configs/platform-foo/kernelconfig
All kernel and barebox rules and templates already support the
<package>_%config target since commit b0f9f2fe33ca9027a554 (2020-08-07,
"barebox, kernel: enable use of {allyes, allno, allmod, alldef,
rand}config"), so we only need to wire them into the command line
parser, and then we can easily get a defconfig like this:
$ ptxdist defconfig kernel # most ARCHs
$ ptxdist imx_v6_v7_defconfig kernel # e.g. with ARCH=arm
Signed-off-by: Roland Hieber <[email protected]>
---
bin/ptxdist | 15 ++++++++++++++-
doc/ref_parameter.rst | 9 +++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/bin/ptxdist b/bin/ptxdist
index 0d5e4328e1d6..c2cf744f70a8 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -705,6 +705,9 @@ Setup and Project Actions:
menuconfig barebox configure the bootloader Barebox
+ [<prefix>]defconfig [<pkg>] generate a default config file for <pkg>
+ e.g.: ptxdist multi_v7_defconfig kernel
+
oldconfig run 'make oldconfig' on ptxconfig file
allmodconfig run 'make allmodconfig' on ptxconfig file
allyesconfig run 'make allyesconfig' on ptxconfig file
@@ -1267,6 +1270,16 @@ do_config()
case "${config}" in
menuconfig|nconfig|oldconfig|all*config|randconfig)
;;
+ *defconfig)
+ case "${part}" in
+
"ptx"|"ptxdist"|""|"setup"|"platform"|"board"|"user"|"collection")
+ echo
+ echo "${PTXDIST_LOG_PROMPT}error: cannot do a
'${config}' for part '${part}'"
+ echo
+ exit 1
+ ;;
+ esac
+ ;;
*)
echo
echo "${PTXDIST_LOG_PROMPT}error: invalid use of '${FUNCNAME}
${@}'"
@@ -1625,7 +1638,7 @@ parse_second()
######## *config, *setup, toolchain
-
menuconfig|nconfig|oldconfig|allmodconfig|allyesconfig|allnoconfig|alldefconfig|randconfig)
+
menuconfig|nconfig|oldconfig|allmodconfig|allyesconfig|allnoconfig|*defconfig|randconfig)
do_config "${cmd}" "${@}"
exit
;;
diff --git a/doc/ref_parameter.rst b/doc/ref_parameter.rst
index 1d54fa4b4428..ac1e06c5335e 100644
--- a/doc/ref_parameter.rst
+++ b/doc/ref_parameter.rst
@@ -95,6 +95,15 @@ Setup and Project Actions
functionality as ``menuconfig``. It can be used instead of ``menuconfig``
for all the component described above.
+``[<prefix>]defconfig [<package>]``
+ generate a default config file for kconfig-based packages (kernel, barebox).
+ The ``[<prefix>]`` can be given optionally to use a specific defconfig file,
+ which depends on the respective package and the architecture.
+ Examples::
+
+ $ ptxdist defconfig kernel # most ARCHs
+ $ ptxdist imx_v6_v7_defconfig kernel # e.g. for ARCH=arm
+
``oldconfig [<component>]``, ``allmodconfig [<component>]``, ``allyesconfig
[<component>]``, ``allnoconfig [<component>]``, ``alldefconfig [<component>]``,
``randconfig [<component>]``
this action will run the corresponding kconfig action for the specified
component. ``oldconfig`` will prompt for all new options.
--
2.28.0
_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to
[email protected]