芜湖市网站建设_网站建设公司_Tailwind CSS_seo优化
2025/12/18 15:55:49 网站建设 项目流程

制作根文件系统

使用busybox制作根文件系统(ext4)

wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2
tar -jxvf busybox-1.36.1.tar.bz2
cd busybox-1.36.1
make menuconfig

image

make -j8
# 安装到指定前缀目录(如./rootfs)
make install
image
cd ./rootfs  
# 进入BusyBox安装目录
# 1. 创建核心目录
mkdir -p dev proc sys tmp etc/init.d mnt root var/log# 2. 设置目录权限
chmod 777 tmp  
# 临时目录可读写
sudo chown root:root root  
# root目录归属root用户

image

cat > etc/init.d/rcS << EOF
#!/bin/sh# 挂载文件系统
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t tmpfs tmpfs /tmp
mount -o remount,rw /  # 重新挂载根目录为可读写# 创建设备节点(mdev自动管理设备)
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s# 启动shell(可选,若未配置inittab)
exec /bin/sh
EOF
# 添加执行权限
chmod +x etc/init.d/rcS

image

cat > etc/inittab << EOF
# 格式:<id>:<runlevels>:<action>:<command>
::sysinit:/etc/init.d/rcS  # 系统初始化
console::respawn:/bin/sh   # 控制台自动重启shell
::restart:/sbin/init       # 重启时执行init
::ctrlaltdel:/sbin/reboot  # Ctrl+Alt+Del触发重启
::shutdown:/bin/umount -a -r  # 关机卸载文件系统
EOF
ext4 镜像(适合块设备挂载)
# 创建128M的空镜像
dd if=/dev/zero of=rootfs.ext4 bs=1M count=128
# 格式化ext4
mkfs.ext4 rootfs.ext4
# 挂载并拷贝文件
mkdir -p tmp_mount
sudo mount rootfs.ext4 tmp_mount
sudo cp -r rootfs/* tmp_mount/
sudo umount tmp_mount
ramdisk(内存文件系统,调试更高效)
cd rootfs
find . -print0 | cpio --null -ov --format=newc > ../rootfs.cpio
cd ..
gzip rootfs.cpio  # 压缩(可选)

编译6.18内核(适配qemu)

从官网下载 https://www.kernel.org/
# 1. 加载QEMU通用配置(基础模板)
make defconfig  # 加载x86默认配置
make menuconfig # 图形化微调(关键配置如下)

image

make -j8

QEMU 启动 Linux 6.18 + 自定义根文件系统

qemu-system-x86_64 \
-M pc \ # 模拟PC平台
-kernel /data/linux-6.18.1/arch/x86_64/boot/bzImage \  # 自己编译的内核
-drive file=/data/busybox-1.36.1/rootfs.ext4,format=raw,if=virtio \  # 自定义根文件系统
-append "root=/dev/vda rw console=ttyS0 loglevel=8" \  # 根设备+串口输出
-m 1G \                  # 分配1G内存
-nographic               # 纯命令行模式

image

至此系统起来,可以做内核调试了。

 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询