On Tue, Sep 22, 2020 at 12:17:26AM +0200, Roland Hieber wrote:
> 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
> +
'[]' means something is optional and this is not the case for the package:
[<prefix>]defconfig <pkg>
> 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>]``
Same here. The package is not optional.
Michael
> + 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]
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to
[email protected]