极简busybox制作过程

1.下载busybox 源码
busybox 下载连接
2.命令行操作

mkdir busybox1.35     #创建文件 

chmod 777 busybox1.35/  #修改权限

cd busybox1.35/         #打开文件夹

sudo tar xvf busybox-1.35.0.tar.bz2  #解压压缩包

cd busybox-1.35.0/    #打开文件 

sudo make menuconfig # 编辑菜单

在这里插入图片描述

vi Makefile  #编辑makefile添加 ARCh ?= arm COMSS_COMPILE ?= arm-none-linux-gnueabihf-

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf-  #make

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- install   #make install

ls _install/   #查看安装

readlf -d bin/busybox   #查看所需要的基础库 libc (c库) libm(数学库math)

mkdir lib #创建库目录

cp /交叉编译工具路经/libc/lib/libm.so.6 lib/ -a   # cp -a  软链接文件或文件夹复制;

cp /交叉编译工具路经/lib/libc-2.30.so lib/ -a   #软链接文件目标文件复制

mkdir etc  #创建etc目录

vi etc/inittab #创建开始执行程序

::sysinit:/etc/init.d/rcS  #开机执行脚本--->挂载目录
::respawn:-/bin/sh         #循环打开命令行
::ctrlaltdel:/sbin/reboot  # 键盘输入ctrl+alt+del 运行 sbin目录下的reboot 
::shutdown:bin/umount -a -r #关机卸载 所有目录

ls bin/sh       #检查目录下是否有相应的命令工具
ls sbin/reboot  #检查目录下是否有相应的命令工具
ls bin/umount   #检查目录下是否有相应的命令工具

mkdir -p etc/init.d   # 创建相关目录

vi etc/init.d/rcS     #创建启动脚本
#!/bin/sh
#auto mount  /etc/fstab  disk part BYNA
mount -a

#set action about hotplug BYNA
echo /sbin/mdev >/proc/sys/kernel/hotplug
#new device file BYNA
mdev -s


echo "BYNA6666666666666666666666666!"

chmod +x etc/init.d/rcS   #修改执行权限

vi etc/fstab # 创建文件系统菜单

#part   mount           file type       mount parameter         dumpbackup       type check
proc    /proc           proc            defaults                        0               0
tmpfs   /tmp            tmpfs           defaults                        0               0
sysfs   /sys            sysfs           defaults                        0               0
tmpfs   /dev            tmpfs           defaults                        0               0

mkdir tmp dev sys proc mnt opt home var  #创建必要的文件目录

mknod dev/console c 5 1  #创建必要的设备节点
mknod dev/null c 1 3  #创建必要的设备节点

cp -ar * /home/byna/nfsboot/   #复制到NFS目录下进行测试


备注:按需将必要的库文件复制到 lib/ 目录下,注意库文件格式。 file 文件 查看格式

制作各类文件系统 
root@ubuntu:/home/byna# mkfs.
mkfs.bfs     mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.ntfs    mkfs.vfat   

mkfs.cramfs _install/ rootfs.cramfs  # 生成rootfs . carmfs文件(需要内核支持carmfs文件系统 make menuconfig)




1.生成一个空的2MiB文件

dd if=/dev/zero of=rootfs.ext4 bs=1024 count=2048 (指定每一块大小为1024字节,一共又2048块,那么就是2048 * 1024 B = 2MiB)

2.对生成的文件进行格式化

mkfs.ext4 rootfs.ext4

3.挂载此空镜像

mount -o loop rootfs.ext4 /mnt

4.向挂载好的文件系统中写入需要加入的文件

cp everyfile /mnt

5.卸载根文件系统(意味着镜像已经制作完成)

umount /mnt

5.将镜像写入sd卡的某个分区中

dd if=rootfs.ext4 of=/dev/mmcblk0p3

6.此时挂载一下sd卡的某分区即可在发现刚才复制进去的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值