LV.13 D12 Linux内核调试及rootfs移植 学习笔记

发布时间:2024年01月21日

一、根文件系统

1.1 根文件系统? ??

????????根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行

1.2 根文件系统内容

bin? ? ? ? ? ? ? ? ?shell命令(elf格式)(通过busybox编译生成) ?

dev?? ??????????? ?设备文件(内核启动后会将设备信息写入该目录) ?

etc? ? ? ? ? ? ? ? ?内核配置文件 ?

lib? ? ? ? ? ? ? ? ??共享库(elf格式)(从交叉编译工具链中获取) ?

注:因为程序还在ubuntu编译,静态库是编译时链接的,ubuntu中有静态库,而程序是在开发板执行,所以开发板上只需要有动态库就可以。

linuxrc?? ?????????内核运行的第一个应用程序(通过busybox编译生成) ?

mnt?? ??? ?????????挂载目录(非必要) ?

proc?? ??????????? ?进程相关文件(内核启动后会将进程信息写入该目录) ?

root?? ??????????? ?超级用户家目录(非必要) ?

sbin ? ?????????? ? 系统管理shell命令(elf格式)(通过busybox编译生成) ?

sys? ? ? ? ? ? ??? ?驱动相关文件(内核启动后会将驱动信息写入该目录) ?

usr? ? ? ? ? ? ??? ?shell命令(elf格式)(通过busybox编译生成)

bin目录:

注:我们不能把ubuntu里的shell命令直接给开发板用,应为ubuntu里的shell命令是x86架构的,而开发板要的是ARM架构的。

二、根文件系统移植

具体步骤在实验12中。

?BusyBox ? ?

????????BusyBox将很多常用的工具集成到一个很小的可执行文件中,为普通用户提供大多数常用的命令,BusyBox实现的命令都是精简版的,很多扩展都不支持。BusyBox被称为Linux工具里的瑞士军刀 ?

BusyBox的获取 ? ?

????????https://busybox.net/downloads/

用make命令编译后,得到busybox_unstripped文件,该文件进行瘦身后,得到busybox文件。

文章来源:https://blog.csdn.net/djjyy/article/details/135611395
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。