移植busybox构建最小根文件系统的步骤详解

  

Busybox:瑞士军刀,里面装有很多小命令。

  

  

创建根文件系统目录,主要包括以下目录

     /dev/etc/lib/usr/var/proc/tmp/home/根/mnt/bin/sbin/sys   # mkdir/home/rootfs   # cd/home/rootfs   # mkdir dev等自由usr var proc tmp家根mnt sys      

  

进入busybox-1.16.1目录,执行

        #让defconfig   #让menuconfig   Busybox设置- - - - -→   构建选项- - - - -→//1选择将busybox进行静态编译   [*]编译BusyBox作为静态二进制文件(没有共享库)//2 .指定交叉编译器为   (/usr/地方/胳膊/4.3.2/bin/arm-linux)交叉编译器前缀   安装选项- - - - -→(选择生成的文件存放目录,也可以直接放在rootfs下就不用拷贝了)//3。选择上不要使用/usr   Busybox图书馆优化——→   (*)用户名完成   (*)的shell提示   [*]从终端查询光标位置//4 .编译出的busybox的壳命令解释器支持显示当前路径及主机信息      

保存退出

  
  

#让#让安装

     

在busybox目录下会看见_install目录,里面有/bin/sbin linuxrc三个文件将这三个目录或文件拷到第一步所建的rootfs文件夹下。

  

<代码> # cp bin/sbin/linuxrc/home/rootfs ra

  

切记一定要带上——的参数,因为本目录里大部分都是链接,如果不带——的参数,拷过去之后会做相应的复制,不再是链接的形式

  

  

1)进入根文件系统rootfs的等目录,执行如下操作:

  

拷贝<代码> Busybox-1.16.1/例子/bootfloopy/etc/*>         # cp - r busybox-1.16.1/例子/bootfloopy/etc/* rootfs/等      

修改inittab,根据它创建其他子进程)

  

原始文件为:

        1::sysinit:/etc/init。d/rcS 2::重生:-/bin/sh   3 tty2:: askfirst: -/bin/sh 4:: ctrlaltdel:/bin/umount - - r 之前来      

修改后为:

  

- - - - - -(1):开机免登陆,直接打开壳(前面数字为行号)

        1::sysinit:/etc/摆在/rcS   2 #::重生:-/bin/sh   3 #::重生:-/bin/登录   4控制台::askfirst: -/bin/sh   5 # tty2:: askfirst: -/bin/sh 6:: ctrlaltdel:/bin/umount - - r 之前来      

- - - - - -(2):开机需要登陆(前面数字为行号)

        1::sysinit:/etc/摆在/rcS   2 #::重生:-/bin/sh   3::重生:-/bin/登录   4 #控制台::askfirst: -/bin/sh   5 # tty2:: askfirst: -/bin/sh   6::ctrlaltdel:/bin/umount - - r 之前来      

2)拷贝虚拟机上的/etc/passwd,所属,/etc/shadow到rootfs/etc下

        # cp/etc/passwd rootfs/等   # cp所属rootfs/等   # cp/etc/shadow屋顶/etc      

对以下三个文件修改,只保存与根相关的项,根据具体情况内容会有所不同。

  

修改密码为根:x: 0时:根:/根:/bin/sh,即只保存与根相关项,而且最后改成/bin/灰。

  

修改集团为根:根

x: 0:   

修改阴影为<代码>根:$ 1 x9yv1WlB abJ2v9jOlOc9xW美元/y0QwPs。: 14034:0:99999:7:::

  

登陆开发板时需输入用户名密码,同虚拟机相同

  

3)修改配置文件

        路径=/bin:/sbin/usr/bin:/usr/sbin//可执行程序环境变量   出口LD_LIBRARY_PATH=/lib:/usr/lib//动态链接库环境变量/bin/hostname osee   用户=" id联合国”   LOGNAME=$用户   主机名='/bin/主机名'   PS1=' [\ u@ \ h \ W] # '//显示主机名,当前路径等信息:      

4)修改等摆在/rc.S文件(添加自动执行命令)# !/bin/sh

     /bin/mount - n - t ramfs ramfs/var/bin/mount - n - t ramfs ramfs/tmp/bin/mount - n - t sysfs/sys/bin/mount - n - t ramfs/dev/bin/mkdir/var/tmp/bin/mkdir/var/modules/bin/mkdir/var/run/bin/mkdir/var/log/bin/mkdir - p/dev/pts//telnet服务需要/bin/mkdir - p/dev/shm//telnet服务需要   #回声/sbin/mdev比;/proc/sys/kernel/hotplug//USB自动挂载需要/sbin/mdev - s//启动mdev在/dev下自动创建设备文件节点/bin/mount——   # # # # # # #配置网络# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #/sbin/ifconfig lo 127.0.0.1子网掩码255.0.0.0/sbin/ifconfig eth0 192.168.1.70/sbin/ifconfig eth0子网掩码255.255.255.0/sbin/route添加默认gw 192.168.1.1 eth0/sbin/ifconfig eth2 192.168.1.71子网掩码255.255.255.0/sbin/route添加默认gw 192.168.1.1 eth2

移植busybox构建最小根文件系统的步骤详解