飞凌课堂丨用busybox构建一个最小根文件系统

原创 2020-03-06 17:06:00 busybox

BusyBox是一个集成了三百多个最常用Linux命令和工具的软件。

BusyBox包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。

言归正传,我们直接进入正题!

busybox构建

首先我们需要下载busybox的源码包,www.busybox.net官网可下载

 

 

1、busybox菜单的配置及其编译

执行make menuconfig,出现busybox的配置界面,Busybox的编译配置和Linux 内核编译配置使用的命令是一样的。

 

2、执行make编译

Busybox的配置完成后,接下来我们开始编译Busybox,执行make命令,开始编译Busybox。由于使用的交叉编译工具链的版本不同,有些版本可能会出现编译错误。如果没有提示错误,就可以进入下一步的安装啦。

3、安装make install

编译完成后,接下来我们需要把编译生成的“二进制文件”安装到“../system”目录里面,安装二进制文件到“../system”目录输入命令“make install”进入“../system”目录,可看到安装的文件。

4、建立文件系统相关文件

进入ubuntu的根目录,可以看到ubuntu的文件系统,执行ls可以看到:

 

实际上他们每个文件都有一些特殊性的用途,那么我们要制作一个文件系统也需要他们之中的必要文件夹或者文件,接下来我们将手动的去创建这些文件夹或者文件。


▶ 建立etc目录

/etc放置的是一些配置文件,其不同的子文件夹下是对于不同功能的配置功能。

① 建立etc/inittab文件

文件系统初始的配置文件,每次进入文件系统时读取该文件,执行该文件所规定的命令,这里只需要在win系统下打开busybox的源码包里的example/inittab的文件复制出来修改一下就可以。

修改内容为可为:

# /etc/inittab  

::sysinit:/etc/init.d/rcS

::askfirst:-/bin/sh

# Stuff to do before rebooting

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r

② 建立etc/init.d/rcS文件

同样的参考busybox的源码包里的examples/bootfloppy/etc/init.d/rcS文件

内容定义为:

#!/bin/sh

mount –a

mkdir /dev/pts

mount -t devpts /dev/pts

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

mdev -s

▶ 建立dev设备文件

使用 mdev 建立设备文件,medv 的使用方法在 doc/medv.txt 上有说明。

▶ 建立其他目录

mkdir  proc/  mnt/  tmp/ sys/  root/

5文件系统的挂载

① 为了确保文件系统可以正确的被挂载,必须设置允许服务器去挂载文件系统,为此,首先需要设置服务器的/etc/exports的内容,在exports文件里面加上:/work/root *(rw,sync,no_root_squash)。然后重启一下nfs服务器

② 假设nand已经烧写有文件系统平且已经进入文件系统主要在用mount命令挂载nfs就可以,在板子的文件系统下建立一个mnt的文件夹mkdir /mnt 然后mount –t nfs –o nolock  192.168.1.110:/work/root /mnt。然后save,设置完成后。

重启开发板就可以了。

 

 


相关产品 >

  • OKMX6UL-C开发板

    飞凌嵌入式专注imx6系列imx6ul开发板、飞思卡尔imx6ul核心板等ARM嵌入式核心控制系统研发、设计和生产,i.mx6UL系列产品现已畅销全国,作为恩智浦imx6ul,imx6ul开发板,i.mx6提供者,飞凌嵌入式提供基于iMX6 iMX6UL解决方案定制。

    了解详情
    OKMX6UL-C开发板
  • OKMX6ULL-C开发板

    40*29mm,双网双CAN,8路串口| i.MX6ULL开发板是基于NXP i.MX6ULL设计开发的的一款Linux开发板 ,主频800MHz,体积小,其核心板仅40*29mm,采用板对板连接器,适应场景丰富。 了解详情
    OKMX6ULL-C开发板

推荐阅读 换一批 换一批