制作嵌入式根文件系统

时间:2022-07-04 18:58:14

什么是根文件系统?百度吧


busybox-1.25.1下载链接:https://download.csdn.net/download/fengfeng0328/10455517

bash-4.3.30下载地址:http://ftp.gnu.org/gnu/bash/bash-4.3.30.tar.gz

已制作好的根文件系统etc.tar.bz2:https://download.csdn.net/download/fengfeng0328/10455569


制作一个简单的根文件系统的方法:(网络挂载)

1.构建根文件空目录,设置/opt/xxx为nfs共享目录(即配置/etc/exports)

$ mkdir /opt/myfs

$ mkdir /opt/myfs/{bin,sbin,etc,dev,lib,proc,sys,usr,root,home,tmp,var}

$ mkdir /opt/myfs/usr/{bin,sbin,lib}

$ sudo apt-get install nfs-kernel-server

$ sudo gedit /etc/exports                        //注意是虚拟机上的/etc/exports

$ /opt/myfs*(rw,sync,no_subtree_check,no_root_squash) //最后一行添加

$ sudo /etc/init.d/nfs-kernel-server restart

2.移植busybox(简单配置:静态链接、指明交叉编译器、安装路径)

$ cd busybox-1.25.1/

$ make defconfig

$ make menuconfig

制作嵌入式根文件系统

$ make && make install

3.拷贝C函数库(从交叉编译器里面copy,解决了依赖问题)

$ cp -a /opt/crosstool/4.8.5/arm-zifeng-linux-gnueabi/lib/* /opt/myfs/lib/

4.编写启动脚本(移植bash;配置文件:inittab、rcS、fstab、profile、hostname、group、paswwd、shadow)

$ cd bash-4.3.30/

$ ./configure--host=arm-linux              //指定软件运行平台

$ make

$ cp bash /opt/myfs/bin/

配置文件具体查看:(etc.tar.bz2,已上传)          

$ gedit  /opt/myfs/etc/inittab

$ mkdir  /opt/myfs/etc/init.d/

$ gedit  /opt/myfs/etc/init.d/rcS

$ chomd  777  /opt/myfs/etc/init.d/rcS

$ gedit  /opt/myfs/etc/fstab

$ gedit  /opt/myfs/etc/profile

$ gedit  /opt/myfs/etc/hostname

$ gedit  /opt/myfs/etc/group

$ gedit  /opt/myfs/etc/passwd

$ gedit  /opt/myfs/etc/shadow