1:新建nfs目录以存放我们构建的根文件系统,因为通过nfs挂载根文件系统,更加方便调试工作;在/etc/exports文件中添加如下内容/home/zonda/linux/nfs *(rw,sync,no_root_squash)

2:解压busybox,设置架构与编译器

CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
.....
ARCH ?= arm

3:配置busybox

make defconfig

4:生成根文件系统

make install CONFIG_PREFIX=/home/zonda/linux/nfs/rootfs

5:在生成的根文件系统下添加lib库 ,mkdir lib进入安装的交叉编译器的此目录里/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib;将此目录下所有的*so*和.a文件都拷贝到 rootfs/lib 目录中

cp *so* *.a /home/zonda/linux/nfs/rootfs/lib/ -d

这里面有个ld-linux-armhf.so.3是个软链接,不是真正的库文件,必须先移除掉,再复制才能成功复制

继续进入以下目录/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib

cp *so* *.a /home/zonda/linux/nfs/rootfs/lib/ -d

6:在生成的根文件系统添加/usr/lib库

进入以下目录/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib

cp *so* *.a /home/zonda/linux/nfs/rootfs/usr/lib/ -d

7:添加其他文件夹完成后,根问价系统大致有后面这几个文件夹bin dev lib linuxrc mnt proc root sbin sys tmp usr

8:创建/etc/init.d/rcS 文件,一定要给其可执行权限,一定要给其可执行权限,一定要给其可执行权限

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
export PATH LD_LIBRARY_PATH runlevel
mount -a 
mkdir /dev/pts
mount -t devpts devpts /dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

9:创建/etc/fstab 文件

#<file system> <mount point> <type> <options> <dump> <pass> 
proc /proc proc defaults 0 0 
tmpfs /tmp tmpfs defaults 0 0 
sysfs /sys sysfs defaults 0 0

10: 创建/etc/inittab 文件

#etc/inittab
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r 7 ::shutdown:/sbin/swapoff -a

  

posted on 2019-11-29 22:37  lzd626  阅读(259)  评论(0编辑  收藏  举报