编译内核操作:
https://blog.csdn.net/assiduous_me/article/details/120938556
安装Busybox操作:
https://blog.csdn.net/assiduous_me/article/details/120939319
syz@DESKTOP-B10G93S:~$ ls -l
total 20
drwxr-xr-x 44 syz syz 4096 Oct 26 22:05 busybox
drwxr-xr-x 31 syz syz 4096 Oct 25 23:22 linux
drwxr-xr-x 3 syz syz 4096 Oct 26 22:10 make_rootfs
drwxr-xr-x 10 syz syz 4096 Oct 26 22:08 make_utils
drwxr-xr-x 2 syz syz 4096 Oct 26 22:10 qemu
busybox:busybox源代码
linux:linux内核源代码
make_rootfs:制作文件系统的目录
make_utils:制作文件系统使用的工具目录
qemu:放置启动脚本目录
2.1 拷贝、创建文件夹
cd make_utilssudo cp -r busybox/_install/* .mkdir -p sys mnt sys etc/init.d dev
2.2 新增对应文件、并赋予权限
sudo vim etc/fstabproc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0sudo chmod 755 etc/fstabsudo vim etc/init.d/rcS/bin/mount -a
mount -o remount, rw /
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mdev -ssudo chmod 755 etc/init.d/rcSsudo vim etc/inittab::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -rsudo chmod 755 etc/inittab
2.3 创建对应设备文件
cd devsudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod tty1 c 4 1
sudo mknod ttyS0 c 4 64
3.1 编写制作文件系统脚本 generate_rootfs.sh
sudo vim generate_rootfs.sh
rm -rf rootfs.ext3
rm -rf fs
dd if=/dev/zero of=./rootfs.ext3 bs=1M count=32
mkfs.ext3 rootfs.ext3
mkdir fs
mount -o loop rootfs.ext3 ./fs
cp -rf ../make_utils/* ./fs
umount ./fs
gzip --best -c rootfs.ext3 > rootfs.img.gz
3.2 执行generate_rootfs.sh,生成对应rootfs.img.gz文件
sudo sh generate_rootfs.sh
syz@DESKTOP-B10G93S:~/make_rootfs$ ls -l
total 8432
drwxr-xr-x 2 root root 4096 Oct 26 22:10 fs
-rw-r--r-- 1 syz syz 234 Oct 26 22:09 generate_rootfs.sh
-rw-r--r-- 1 root root 33554432 Oct 26 22:10 rootfs.ext3
-rw-r--r-- 1 root root 1493586 Oct 26 22:10 rootfs.img.gz
4.1 安装x86的qemu工具
sudo apt-get install qemu-system-x86
4.2 编写qemu启动脚本
sudo vim start_x86_kernel.sh
sudo qemu-system-x86_64 \-smp 2 \-m 1024M \-kernel ../linux/arch/x86/boot/bzImage \-nographic \-append "root=/dev/ram0 console=ttyS0 init=/linuxrc" \-initrd ../make_rootfs/rootfs.img.gz
sudo sh start_x86_kernel.sh
[ 3.042848] ext3 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
[ 3.054420] mkdir (81) used greatest stack depth: 14360 bytes left
[ 3.230501] sh (78) used greatest stack depth: 13976 bytes leftPlease press Enter to activate this console.
/
/
total 40
drwxr-xr-x 2 0 0 4096 Oct 26 14:10 bin
drwxr-xr-x 8 0 0 2620 Oct 26 14:41 dev
drwxr-xr-x 3 0 0 4096 Oct 26 14:10 etc
drwxr-xr-x 2 0 0 4096 Oct 26 14:10 fs
lrwxrwxrwx 1 0 0 11 Oct 26 14:10 linuxrc -> bin/busybox
drwx------ 2 0 0 16384 Oct 26 14:10 lost+found
drwxr-xr-x 2 0 0 4096 Oct 26 14:10 mnt
drwxr-xr-x 2 0 0 4096 Oct 26 14:10 sbin
dr-xr-xr-x 12 0 0 0 Oct 26 14:41 sys
drwxr-xr-x 4 0 0 4096 Oct 26 14:10 usr
/
本篇配置文档并没有特别完善,后续慢慢填充!
转自:
https://blog.csdn.net/assiduous_me/article/details/120982546
推荐阅读:
专辑|Linux文章汇总
专辑|程序人生
专辑|C语言
我的知识小密圈
关注公众号,后台回复「1024」获取学习资料网盘链接。
欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~
嵌入式Linux
微信扫描二维码,关注我的公众号