驱动包括驱动的逻辑和硬件的信息
逻辑信息放到了驱动的源代码
硬件信息放到了设备树里面 uimage
裸机下没有设备树
实验10只对内核的uart进行了配置,内核不会编译成功
uboot支持网卡驱动,内核不支持网卡驱动
设备树文件:
一个开发板表示一个根
根节点有很多子节点代表一个硬件
Linux内核驱动移植步骤:
1.在make menuconfig界面中选中要安装的驱动
2.在设备树中添加/修改相应的设备信息
3.重新编译内核/设备树
根文件系统:
uImage不支持shell命令,在开发板上能使用是因为挂载了根文件/bin文件
二进制文件具有系统属性
根文件系统中主要包含了哪些内容及包含这些内容的原因:
bin shell命令(elf格式)(通过busybox编译生成)
dev 设备文件(内核启动后会将设备信息写入该目录)
etc 内核配置文件
lib 共享库(elf格式)(从交叉编译工具链中获取)
linuxrc 内核运行的第一个应用程序(通过busybox编译生成)
mnt 挂载目录(非必要)
proc 进程相关文件(内核启动后会将进程信息写入该目录)
root 超级用户家目录(非必要)
sbin 系统管理shell命令(elf格式)(通过busybox编译生成)
sys 驱动相关文件(内核启动后会将驱动信息写入该目录)
usr shell命令(elf格式)(通过busybox编译生成)
原因:
内核UImage不支持shell命令;需要内核挂载根文件系统。
根文件系统
根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行