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卡的某分区即可在发现刚才复制进去的文件