[U-Boot] [PATCH v2 2/3] cmd: add a new command "config" to show .config contents
Masahiro Yamada
yamada.masahiro at socionext.com
Mon Feb 6 15:59:30 UTC 2017
Hi Simon,
2017-02-07 0:33 GMT+09:00 Simon Glass <sjg at chromium.org>:
> Hi Masahiro,
>
> On 29 January 2017 at 18:12, Masahiro Yamada
> <yamada.masahiro at socionext.com> wrote:
>> This feature is inspired by /proc/config.gz of Linux. In Linux,
>> if CONFIG_IKCONFIG is enabled, the ".config" file contents are
>> embedded in the kernel image. If CONFIG_IKCONFIG_PROC is also
>> enabled, the ".config" contents are exposed to /proc/config.gz.
>> Users can do "zcat /proc/config.gz" to check which config options
>> are enabled on the running kernel image.
>>
>> The idea is almost the same here; if CONFIG_CMD_CONFIG is enabled,
>> the ".config" contents are compressed and saved in the U-Boot image,
>> then printed by the new command "config".
>>
>> The usage is quite simple. Enable CONFIG_CMD_CONFIG, then run
>> > config
>> from the command line interface. The ".config" contents will be
>> printed on the console.
>>
>> This feature increases the U-Boot image size by about 4KB (this is
>> mostly due to the gzip-compressed .config file). By default, it is
>> enabled only for Sandbox because we do not care about the memory
>> footprint on it. Of course, this feature is architecture agnostic,
>> so you can enable it on any board if the image size increase is
>> acceptable for you.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>> ---
>>
>> Changes in v2: None
>>
>> Kconfig | 2 ++
>> Makefile | 12 +++++++-----
>> cmd/.gitignore | 3 +++
>> cmd/Kconfig | 12 ++++++++++++
>> cmd/Makefile | 22 ++++++++++++++++++++++
>> cmd/config.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>> scripts/.gitignore | 1 +
>> scripts/Kconfig | 2 ++
>> scripts/Makefile | 4 ++++
>> 9 files changed, 97 insertions(+), 5 deletions(-)
>> create mode 100644 cmd/.gitignore
>> create mode 100644 cmd/config.c
>> create mode 100644 scripts/Kconfig
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But I wonder why we shouldn't use a mechanism like cmd_dt_S_dtb in
> Makefile.lib to embed the file?
I thought of this when I saw the implementation
of kernel/configs.c of Linux.
My first guess was, they wanted to implement it
in an arch-independent way.
The cmd_dt_S_dtb mechanism also seems
(mostly) arch-independent, but I am not 100% sure.
For example, underscore must the added/stripped
for conversion between C and assembly for Blackfin architecture.
One more reason is, I think, kernel/configs.c was added
in older days than the Device Tree.
--
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list