系统版本:Ubuntu18.04-64
编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)
uboot版本:2018.07 -linux4sam_6.0
板子型号:at91sama5d3x-xplained
MCU型号:sama5d36
内核交叉工具链依赖于Makefile文件去级联编译,Kconfig文件做配置,比如现在的ESP32也是采用这种图形化配置,好用的东西接受度就会广。
一、调出配置界面
查看Makefile文件,查看版本信息4.19
make menuconfig
General setup ---> //通用配置 <======
[*] Enable loadable module support ---> // 使能insmod
-*- Enable the block layer ---> // 磁盘IO调度, 一般使用默认的就ok
System Type ---> //选择特定的arm core /cpu 类型,以及它们的一下属性, make menuconfig之后应当确认一下该部分
Bus support ---> // 一些总线的支持,一般使用默认就ok
Kernel Features ---> //内核的特性,比如应用和内核空间的内存分布
Boot options ---> //启动选项, 内核启动过程当中,可以修改的特性
CPU Power Management ---> // cpu电源管理, 一般在用电池设备当中会要做选择
Power management options ---> // 外围设备的电源管理 suspend() resum()
Networking support ---> // 网络的支持,基本上都是协议方面的,比如TCP/IP, 域套接字, 组播 , ppp协议
Device Drivers ---> // 设备驱动,包含两部分驱动: 控制器===设备的驱动, 经常光顾的选项
File systems ---> // 文件系统的支持,比如支持ntfs, ext4, nfs, cramfs, jiffs, minix................... yaffs, ubifs
使用*号选择编译项
[*]
< > 可以用空格去选择
()==>往里面填一个值,使用回车进入,比如 (arm-none-linux-gnueabi-) Cross-compiler tool prefix
General setup --->
[*] Configure standard kernel features (for small systems) --->
[*] Sysctl syscall support (NEW)
[*] Load all symbols for debugging/ksymoops (NEW)
[*] Include all symbols in kallsyms
//内核崩溃kernel panic, 会提示代码执行栈
System Type --->
ARM system type (Samsung S5PC100) --->
[*] SMDKC100
Kernel Features --->
[*] Use the ARM EABI to compile the kernel //如果交叉工具链中出现了eabi,一定要选上
[*] Allow old ABI binaries to run with this kernel (EXPERIMENTAL)
cmdline和bootags的关系: 一样的
[ * ] Networking support --->
Networking options --->
<*> Unix domain sockets
[*] TCP/IP networking <==========如果有网卡,一个一定要选上
[*] IP: multicasting
File systems --->
<*> Ext3 journalling file system support
<*> The Extended 4 (ext4) filesystem
Pseudo filesystems ---> // 虚拟文件系统: 在内存中管理文件,掉电之后,文件就不存在, 开机的时候临时创建
// dev/, proc/, sys/几个目录中的文件都是临时
[*] /proc file system support (NEW)
[*] sysfs file system support (NEW)
[*] Virtual memory file system support (former shm fs)
[*] Tmpfs POSIX Access Control Lists
[*]</