流程 : busybox -> ->NFS挂接
配置busybox
从官网上下载busybox 放入虚拟机里
经行解压
在 busy-box里面 使用 make menuconfig
增加 TAB自动提醒
Busybox Settings—>
Busybox Library Tuning—>
[*] Tab completion
经行make
不能直接make install 由于直接make install 会破坏pc机的文件 我们应该创建一个文件夹 在里面 make install
执行 make CONFIG_PREFIX=/work/nfs_root/first_fs/ install
这时候很厉害的就创建出来了
这里面 还缺了一些文件
mkdir dev
cd /dev
sudo mknod console c 5 1 //变为字符设备 主设备5 次设备号1
sudo mknod null c 1 3
mkdir etc
vim ./etc/inittab
第一行 在这个文件 里面 只执行 控制台的askfirst
第二行 执行这个文件里面的脚本
安装glibc库
mkdir ./lib
进入到glibc的lib库
cp .so /work/nfs_root/first_fs/lib/ -d //动态链接
ls dev lib
用yaffs2
解压yaffs这个文件
在这个地方make
拷贝制作出来的工具 到PC机 加上可执行的属性
sudo cp ./mkyaffs2image /usr/local/bin/
sudo chmod +x /usr/local//bin/mkyaffs2image
book@www.100ask.org:/work/nfs_root$ mkyaffs2image first_fs first_fs.yaffs2
第一个文件系统就做好了
挂载proc
proc这个文件 可以用 ps命令 显示出内核有什么样的文件在跑
把之前的文件烧到板子 在shell上面执行
mkdir proc
mount -t proc none /proc
或者写脚本
mkdir /etc/init.d
vim /etc/init.d/rcS
chmod +x ./rcS //加上可执行的的属性
创建编辑 etc/fstab 用mount -a 命令就能读取etc/fstab 里面指示去挂载
创建dev 挂载设备
在busybox 有个 mdev => 自动创建 dev/设备节点
创建 sys
继续编辑etc/fstab
修改 etc/init.d/rcS
medv -s //让medv这个程序自动创建原先内核自己有的设备
制作文件
在这一步出错 是找不到热拔插程序
cannot create /proc/sys/kernel/hotplug: nonex…
通过调试内核,重新烧写内核,编译系统都不行 我只能采取手工挂载的方式
这样就能运行了
NFS建设
在原来的烧好的 系统上
ifconfig eth0 up
ifcofnig
配置一下 还是可以ping通服务器的
配置服务器的文件系统
让虚拟机的文件系统允许被挂接
配置客户端
由于开发板要挂载 根文件 所以在uboot启动项里要设置自己的ip
set bootargs noinitrd root=/dev/nfs nfsroot=192.168.31.51:/work/nfs_root/first_fs ip=192.168.31.10:192.168.31.51:192.168.31.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
save
boot
文件系统详解 详解