全志H3 busybox移植----制作文件系统

本文详细介绍了如何在Ubuntu环境下移植Busybox到全志H3平台,包括解决配置报错、设置交叉编译工具链、安装交叉编译工具,以及构建根文件系统的步骤,如创建必要的目录、复制_install文件夹内容、添加lib库、构建etc、dev等目录。

开发环境:Ubuntu(14.04 LTS)

busybox:1.26.2------https://busybox.net/downloads/(下载地址)

解压busybox: tar -jxvf busybox-1.26.2.tar.bz2

注意:以下命令都在root权限下操作

解压后,进入目录,执行make menuconfig命令。----------首次执行该命令,可能会出现如下报错:

make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
make: *** [menuconfig] Error 2

这个是由于ubuntu没有安装相关依赖包,解决方法如下

# apt-get install libncurses5-dev

安装完后,重新执行menuconfig命令,就能见到配置界面。

具体操作:

cd busybox-1.26.2

make menuconfig

 

 

可以使用默认配置,然后设置下交叉编译工具链

在busybox settings ----> build options ----> cross compiler prefix中添加arm-linux-前缀,这样就设置好编译工具链

如果之前没有安装过交叉编译工具,那么在编译之前先把编译工具安装好,并配置好环境。

交叉编译工具下载地址:百度云 ,下载这个文件arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz

解压交叉编译工具,并复制编译工具路径:xxx/xxx/4.9.3/bin

添加编译工具环境

vim /etc/profile

在profile中最后一行添加:export PATH=$PATH:xxx/xxx/4.9.3/bin(粘贴刚才复制的那个路径)

最后保持修改退出

执行 source /etc/profile 使环境变量生效

执行 arm-linux-gcc -v ,如果没有报错,能看到编译工具版本号,那说明交叉编译工具链就安装好了。

编译busybox

make

make install

执行上述命令后,会在busybox-1.26.2目录下生成 _install文件夹(这个文件夹后续会用到

构建文件系统目录

1)创建文件系统根目录

mkdir xx/xxx/rootfs

2)复制 _install文件夹内容到根目录下

cp -rf xx/xxx/busybox-1.26.2/_install xx/xxx/rootfs

3)创建并复制 lib库

mkdir xx/xxx/rootfs/lib

cd xxx/xxx/4.9.3/rm-cortexa9-linux-gnueabihf/lib

cp *so* -d xx/xxx/rootfs/lib   ----    -d 参数必须要带上

4)创建 etc、dev、proc、mnt、tmp、sys、var目录

cd   xx/xxx/rootfs

mkdir etc dev proc mnt tmp sys var xx/xxx/rootfs

5)构建etc目录

创建3个文件:inittab、init.d/rcS、fstab

创建inittab

cd  xx/xxx/rootfs/etc

vi inittab

添加如下内容:

 

 

 

 

保存并退出

创建init.d/rcS

mkdir init.d

vi init.d/rcS

添加如下内容:

 

 

 

 

 

保存并退出

chmod +x init.d/rcS  -----  改变它的属性,使它能够执行

创建fstab

vi fstab

添加如下内容:

 

 

 

 

保存并退出

5)构建dev目录

cd xx/xxx/rootfs/dev

mknod console c 5 1

mknod null c 1 3

至此一个最简根文件系统已经创建好了。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值