03.orangepi one H3 busybox文件系统制作

orangepi one H3 busybox文件系统制作


1. 简介

BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。

2. 文件系统构建

orangepi_one/H3-linux4.11_bsp/busybox-1.27.2.tar.bz2是下载的源码

tar -jxvf busybox-1.27.2.tar.bz2
cd busybox-1.27.2
# 清除编译过程文件
1) make distclean
# 进入配置界面
2) 配置buxybox
	make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

 //静态编译busybox,不依赖其它动态库
 //指定使用交叉编译器
 //指定生成的文件系统安装到./_install目录
Busybox Settings  --->          
		Build Options  ---> 
			[*] Build BusyBox as a static binary (no shared libs) 
			(arm-linux-gnueabihf-) Cross Compiler prefix  
			(./_install) BusyBox installation prefix (NEW)
			
3) 保存退出
4) 编译安装
	make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
	make install
5) 创建文件系统目录,把编译好一文件系统复制到新创建的目录
创建好的目录:orangepi_one/H3-linux4.11_bsp/rootfs
cp ./_install/* ../rootfs/ -rfv
6) 在生成的文件系统中增加一些系统配置和文件
	cd rootfs
	mkdir dev proc sys tmp var mnt etc lib
	cd var
	mkdir log lock lib run

	cd ../
	mkdir etc/init.d -p
	touch etc/init.d/rcS
	vi etc/init.d/rcS
	增加如下内容:
		mount -t proc none /proc
		mount -t sysfs none /sys
		mount -t tmpfs none /tmp
		mount -t ramfs none /dev
		mdev -s 
		syslogd
		echo /sbin/mdev > /proc/sys/kernel/hotplug

	touch etc/inittab
	vi etc/inittab
	增加内容:
		::sysinit:/etc/init.d/rcS
		ttyS0::askfirst:-/bin/sh 
		::ctrlaltdel:/sbin/reboot
		::shutdown:/sbin/swapoff -a
		::shutdown:/bin/umount -a -r    
		::restart:/sbin/init

	touch etc/profile
	vi etc/profile
	增加内容:
		export PS1="orangePiOne \w # "

	touch etc/fstab
	vi etc/fstab
	增加内容:
		proc /proc proc defaults 0 0
		tmpfs /tmp tmpfs defaults 0 0
		sysfs /sys sysfs defaults 0 0

	将工具链中的库文件复制到rootfs/lib目录
	cp ../toolchain-master/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/* ./lib/ -rfv

	给rootfs整个目录设置权限
	chmod 0777 rootfs -R

打包(进入rootfs):
tar cf rootfs.tar ./*

3. 烧录到TF卡

将TF卡接入虚拟机
mount /dev/sdb2 /mnt/media2/
tar xvf rootfs.tar -C /mnt/media2/
umount /mnt/media2/

4. bootloadr环境变量修改

// 告诉内核文件系统在第一个mmc的第二个分区,串口波特率是115200,文件系统类型是ext4
setenv bootargs “root=/dev/mmcblk2p2 rw console=ttyS0,115200 rootfstype=ext4”;saveenv

能看到如下信息,说明文件系统启动成功:
rootfs

5. 参考

用busybox制作自己的文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值