编译 BusyBox 构建根文件系统
/home/ /linux/nfs
mkdir rootfs
tar -vxjf busybox-1.29.0.tar.bz2
依照自己的交叉编译 不然会出错
配置好 busybox 以后就可以编译了,我们可以指定编译结果的存放目录,我们肯定要将编
译结果存放到前面创建的 rootfs 目录中,输入如下命令:
make
make install CONFIG_PREFIX=/home/ma/linux/nfs/rootfs
然后向根文件系统添加库
/home/ /linux/nfs
mkdir lib
删除掉这个ld-linux-armhf.so.3
rm ld-linux-armhf.so.3
然后重新进入到 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/armlinux-gnueabihf/libc/lib 目录中,重新拷贝 ld-linux-armhf.so.3,命令如下:
cp ld-linux-armhf.so.3 /home/zuozhongkai/linux/nfs/rootfs/lib/
继续进入如下目录中:
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib
此目录下也有很多的的*so*和.a 库文件,我们将其也拷贝到 rootfs/lib 目录中,命令如下:
cp *so* *.a/home/zuozhongkai/linux/nfs/rootfs/lib/-d
2、向 rootfs 的“usr/lib”目录添加库文件
在 rootfs 的 usr 目录下创建一个名为 lib 的目录,将如下目录中的库文件拷贝到 rootfs/usr/lib
目录下:
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/
usr/lib
将此目录下的 so 和.a 库文件都拷贝到 rootfs/usr/lib 目录中,命令如下:
cp *so* *.a /home/zuozhongkai/linux/nfs/rootfs/usr/lib/ -d
下面 的一些修改不过介绍 看官方介绍
NFS 下载失败
解决办法就是编辑主机上的nfs-kernel-server文件,命令如下。
sudo vim /etc/default/nfs-kernel-server
然后对服务进行重启,命令如下。
sudo service nfs-kernel-server restart
结果 启动linux时 又报错
Freeing unused kernel memory: 440K (80b18000 - 80b86000)
request_module: runaway loop modprobe binfmt-464c
Starting init: /sbin/init exists but couldn't execute it (error -8)
request_module: runaway loop modprobe binfmt-464c
Starting init: /bin/sh exists but couldn't execute it (error -8)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance. random: nonblocking pool is initialized
这个错误就是busybox 没有 配置好 可能是 你的交叉编译信息有误 或者其他
我的目录是这个 有区别
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
修改完之后仍然出来了一个像bug的东西
can’t run ‘/etc/init.d/rcS’: No such file or directory
Please press Enter to activate this console. random: nonblocking pool is initialized
但是也出现了这个根目录
运行代码
setenv ipaddr 10.204.214.85
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 10.204.214.1
setenv netmask 255.255.255.0
setenv serverip 10.204.214.90
saveenv
#配置网关 具体问题具体分析 都不同
setenv nfsroot /home/ma/linux/nfs/rootfs
setenv bootargs console=${console},${baudrate} root=/dev/nfs rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::eth0:off nfsroot=${serverip}:${nfsroot}
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-qst-emmc.dtb; bootz 80800000 - 83000000'
env print bootargs
env print bootcmd
boot
#下载镜像配置根目录![请添加图片描述](https://img-blog.csdnimg.cn/a2adb03f276744c1bd0c6e3c11e08bf9.jpeg)
烧完之后出现一个企鹅