Busybox制作x86文件系统(最便捷版)

1. busybox的安装

请参考这篇文章:https://blog.csdn.net/assiduous_me/article/details/120939319?spm=1001.2014.3001.5501

2. x86文件系统的制作

当前的操作目录:

syz@DESKTOP-B10G93S:~$ ls -l
total 1488
drwxr-xr-x 44 syz  syz     4096 May 13 19:08 busybox
drwxr-xr-x 32 syz  syz     4096 May 13 18:59 linux
drwxr-xr-x 10 syz  syz     4096 Mar 27 16:48 linux-0.11-master
-rw-r--r--  1 syz  syz     1193 May 13 19:38 make_rootfs.sh
-rw-r--r--  1 syz  syz      200 May 13 19:40 start_x86_kernel.sh

make_rootfs.sh 是生成x86文件系统的脚本文件

#!/bin/bash
sudo mkdir mnt
sudo dd if=/dev/zero of=./rootfs.ext4 bs=1M count=32
sudo mkfs.ext4 rootfs.ext4
sudo mount rootfs.ext4 mnt

sudo cp -r busybox/_install/* mnt

cd mnt
sudo mkdir -p sys mnt sys etc/init.d dev tmp proc

cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod tty1 c 4 1
sudo mknod ttyS0 c 4 64

cd ../
sudo echo "proc    /proc   proc    defaults        0       0" > etc/fstab
sudo echo "tmpfs   /tmp    tmpfs   defaults        0       0" >> etc/fstab
sudo echo "sysfs   /sys    sysfs   defaults        0       0" >> etc/fstab
sudo chmod 755 etc/fstab

sudo echo "/bin/mount -a" > etc/init.d/rcS
sudo echo "mount -o remount, rw /" >> etc/init.d/rcS
sudo echo "mkdir -p /dev/pts" >> etc/init.d/rcS
sudo echo "mount -t devpts devpts /dev/pts" >> etc/init.d/rcS
sudo echo "mdev -s" >> etc/init.d/rcS
sudo chmod 755 etc/init.d/rcS

sudo echo "::sysinit:/etc/init.d/rcS" > etc/inittab
sudo echo "::respawn:-/bin/sh" >> etc/inittab
sudo echo "::askfirst:-/bin/sh" >> etc/inittab
sudo echo "::ctrlaltdel:/bin/umount -a -r" >> etc/inittab
sudo chmod 755 etc/inittab

cd ..
sudo umount mnt
sudo rm -rf mnt

gzip --best -c rootfs.ext4 > rootfs.img.gz
rm -rf rootfs.ext4

执行该脚本即可生成x86文件系统

syz@DESKTOP-B10G93S:~$ sudo sh make_rootfs.sh
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.0192194 s, 1.7 GB/s
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 8192 4k blocks and 8192 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

syz@DESKTOP-B10G93S:~$ ls -l
total 1484
drwxr-xr-x 44 syz  syz     4096 May 13 19:08 busybox
drwxr-xr-x 32 syz  syz     4096 May 13 18:59 linux
drwxr-xr-x 10 syz  syz     4096 Mar 27 16:48 linux-0.11-master
-rw-r--r--  1 syz  syz     1193 May 13 19:38 make_rootfs.sh
-rw-r--r--  1 root root 1499123 May 13 19:45 rootfs.img.gz
-rw-r--r--  1 syz  syz      200 May 13 19:40 start_x86_kernel.sh
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值