根文件系统的移植
根文件系统:根目录下的所有文件和工具的集合
根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行
文件系统层次结构标准
文件具体的属性只能在内核中看到,在挂载终端上看不到
根文件系统(rootfs)是内核启动时所挂载的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。根文件系统中所需要的大部分linux命令和工具软件可通过busybox来构建,简化了构建根文件系统的复杂度。
————————————————
BusyBox是一个开源的、轻量级的、包含了一系列常用的Unix工具的软件集合。它被设计成在嵌入式系统和低资源环境下运行,可以提供类似于完整的Unix操作系统的功能。BusyBox的目标是通过将多个工具合并为一个可执行文件,减小系统的存储空间和资源占用,同时提供了一些常用的命令和工具,如ls、cp、mv、rm等。BusyBox广泛应用于嵌入式设备、路由器、手机等各种嵌入式系统中。
制作自己的根文件系统
以下只制作lib bin sbin etc
1.明确目录文件:
bin sbin etc lib dev proc sys var tmp root init
2.下载busybox源码/拷贝到家目录下
3.到busybox目录下的make menuconfig---->busybox setting ---> busybox options -->build busybox as a static lib 和cross compiler...(arm-linux-)
4.make -j8
5.make install 安装
6.cd ./_install/
7.linuxrc (init执行时执行的的是它)
8.mkdir etc dev proc sys var tmp lib
1) cd lib
2)cp ~/downloaXXXXXXXXXXXXXXXXX
3)cd etc
1.将rootfs中etc的内容借鉴到newrootfs的etc中
2.sudo vi /etc/exports
添加: /home/hqyj/sys/newrootfs *(rw,sync,no_subtree_check,no_root_squash)
3.sudo service nfs-kernel-server restart (重启NFS)
4. 修改nfsroot的启动路径
bootargs root=/dev/nfs nfsroot=192.168.2.249:/home/hqyj/sys/newrootfs,v3 rw console=ttySAC2,115200 clk_ignore_unused init=/linuxr ip=192.168.2.248
5.save后重新启动板子