busybox根文件系统制作

  1. 简介
    busybox提供许多shell命令,如cd、ifconfig等等,可以用于制作linux根文件系统;
  2. 编译
    源码下载
#解压
tar xzf busybox-1_32_0.tar.gz
cd 	busybox-1_32_0
#配置busybox
#设置busybox setting->build options->cross compiler prefix 为arm-linux-(你自己对应的交叉编译器)
#取消静态编译选项busybox setting->build options->[]build busybox as a static binary
#其他默认,也可以选择性编译对应的shell命令
make ARCH=arm menuconfig

mkdir rootfs
cd rootfs
#创建名运行以下脚本
#!/bin/bash
#busybox源码路径
BUSYBOX_PATH="/home/hqmo/workspace/Root_FS/busybox-1.20.0"
WORK_PATH=$(pwd)
INSTALL_PATH="$WORK_PATH"
CORSS_COMPILER="arm-linux-"
ARCH="arm"
echo "BUSYBOX_PATH: $BUSYBOX_PATH"
echo "WORK_PATH: $WORK_PATH"
echo "INSTALL_PATH: $INSTALL_PATH"

echo "make busybox"
cd $BUSYBOX_PATH
#make clean
make  ARCH=$ARCH CORSS_COMPILER=$CORSS_COMPILER
make CONFIG_PREFIX=$INSTALL_PATH  install
cd $INSTALL_PATH
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
mkdir etc/init.d
touch ect/profile
touch ect/init.d/rcS
cd dev
sudo mknod -m 666 console c 5 1
sudo mknod -m 666 null c 1 3
cd $INSTALL_PATH
echo "mkrootfs end"
echo "please copy cross_compile libs to lib"
echo "please edit etc/profile etc/init.d/rcS etc/fstab etc/inittab and so on"

#运行完脚本后
#1 把交叉编译工具链相应的lib复制到文件系统中
#2 创建etc/profile etc/init.d/rcS etc/fstab etc/inittab等初始化文件
  1. ext3根文件系统打包
#创建一个空文件 51200*1024=50M
dd if=/dev/zero of=itop4412_ext3 bs=1024 count=51200
#格式化为ext3格式
mkfs.ext3 itop4412_ext3
#挂载该文件系统,挂载后能在/mnt/中看到lost+found证明成功了
sudo mount itop4412_ext3 /mnt/
#将第二部创建的文件系统里面的内容全部拷贝到/mnt/即itop4412_ext3中
sudo cp ../itop4412_rootfs/* -rf -d /mount/
#卸载
sudo umount /mount/
#如果需要打包成Android sparse image格式则执行如下命令
img2simg itop4412_ext3 itop4412_ext3.img
#使用file命令可以查看文件信息
file itop4412_ext3.img

#将制作好的文件拿去烧写就OK了

#注如果想解压Android sparse image格式格式文件执行如下命令
simg2img itop4412_ext3.img itop4412_ext3 

注:
如果想打包成ext2或者ext4流程都一样,只是用的命令由mkfs.ext3变成mkfs.ext2mkfs.ext4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,busybox是一个非常小巧的程序集合,它集成了许多常用的Linux工具,可以用来替代传统的Linux命令行工具,从而使得系统的启动时间更快、占用的空间更小。基于busybox文件系统可以使得系统更加轻量级,并且可以方便地定制。下面是实现基于busybox文件系统的步骤: 1. 下载busybox源代码,并编译生成busybox可执行文件。你可以从busybox的官网上下载源代码,然后使用make命令进行编译。 2. 创建一个新的目录作为文件系统的挂载点。你可以使用mkdir命令创建一个空目录。 3. 将busybox可执行文件复制到文件系统目录中。你可以使用cp命令将busybox可执行文件复制到文件系统目录中。 4. 在文件系统目录中创建必要的目录和文件。据你的需求,你可以使用mkdir和touch命令创建必要的目录和文件。 5. 创建一个init脚本来启动系统。init脚本是系统的启动脚本,用来初始化系统并启动其他进程。你可以使用vi或者nano等编辑器创建init脚本。 6. 将文件系统目录打包成一个镜像文件。你可以使用tar命令将文件系统目录打包成一个tar包,然后使用mkfs命令将tar包转换成一个镜像文件。 7. 将镜像文件烧录到SD卡或者其他存储介质中。你可以使用dd命令将镜像文件写入到SD卡或者其他存储介质中。 以上就是基于busybox文件系统制作的基本步骤,你可以据你的需求进行定制和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值