背景
Linux内核版本可以在/proc/version
中查看。
但是设备树默认没有版本信息(有些平台可以通过demsg
查到编译时间)。
在工作中,希望:
- 内核版本中添加产品型号、硬件版本、内核定制版本等信息。
- 设备树与内核的版本绑定,通过
/proc/dtb
查看。
内核版本
Contents
● product_version:产品型号
● hardware_version:硬件版本
● soft_version:内核定制版本
● build_type:分debug和release
Kernel
修改source/kernel_src/kernel/kernel-4.9/init/version.c
:
const char linux_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") " UTS_VERSION " custom_version:" " [product:" PRODUCT_NAME ", hardware:" HARDWARE_VERSION ", soft:" SOFT_VERSION ", type:" BUILD_TYPE "] " "\n";
const char linux_proc_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") " UTS_VERSION " custom_version:" " [product:" PRODUCT_NAME ", hardware:" HARDWARE_VERSION ", soft:" SOFT_VERSION ",type:" BUILD_TYPE "] " "\n";
Makefile
修改source/kernel_src/kernel/kernel-4.9/Makefile
:
uts_len := 64
define filechk_utsrelease.h
if [ `echo -n "$(KERNELRELEASE)" |