我们在使用ok1028 编译内核时,生成的各种文件在OK1028-linux-fs/build/linux/kernel/arm64/LS/output/ 目录
自动生成的头文件在OK1028-linux-fs/build/linux/kernel/arm64/LS/output/*/include/generated/ 目录
asm-offsets.h autoconf.h bounds.h compile.h timeconst.h uapi utsrelease.h vdso-offsets.h
autoconf.h 我们通过.config 生成的 宏定义 在内核驱动中 会会根据宏定义 确定执行流程
#define CONFIG_VIRTIO_MENU 1
#define CONFIG_VIRTIO_BLK 1
#define CONFIG_DECOMPRESS_LZO 1
#define CONFIG_64BIT 1
#define CONFIG_QUOTA 1
#define CONFIG_IIO_CROS_EC_SENSORS_CORE_MODULE 1
#define CONFIG_PHY_MIXEL_MIPI_DPHY 1
#define CONFIG_SCSI_MPT2SAS_MAX_SGE 128
#define CONFIG_PARTITION_PERCPU 1
#define CONFIG_MMC_SDHCI_PLTFM 1
#define CONFIG_I2C_CHARDEV 1
#define CONFIG_MXC_HANTRO_845_H1 1
#define CONFIG_LLC 1
#define CONFIG_ARCH_USE_QUEUED_RWLOCKS 1
#define CONFIG_ARCH_KEEP_MEMBLOCK 1
#define CONFIG_REGMAP_MMIO 1
#define CONFIG_GPIO_MB86S7X 1
compile.h 编译的一些信息 我们在启动中可以看到
define UTS_MACHINE "aarch64"
#define UTS_VERSION "#1 SMP PREEMPT Tue Mar 30 05:41:14 UTC 2021"
#define LINUX_COMPILE_BY "root"
#define LINUX_COMPILE_HOST "3a5b0c1427e6"
#define LINUX_COMPILER "gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)"
utsrelease.h 内核版本和提交信息
#define UTS_RELEASE "5.4.3-g7bad86730"
uapi/linux/version.h 内核版本信息 在我们一直的驱动判断内核版本时使用
#define LINUX_VERSION_CODE 328707
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))