如何制作⽂件系统并⽤qemu 运⾏linux 内核
上⼀⽂我们介绍了如何编译内核和busybox:
本⽂介绍如何制作⼀个简版的⽂件系统、制作fs镜像⽂件并最终通过qemu将linux内核运⾏起来!
⽂章⽬录
制作⼀个简版⽂件系统
编译完成后的busybox就安装在源码根⽬录下的_install⽬录了,我们进⼊_install⽬录,补充⼀些必要的⽂件或⽬录,相关的shell命令如下:
制作根⽂件系统镜像⽂件
思路:
1. 先制作⼀个空的镜像⽂件;
2. 然后把此镜像⽂件格式化为ext3格式
3. 接着把此镜像⽂件挂载,并把根⽂件系统复制到挂载⽬录
4. 卸载该镜像⽂件。
5. 打成gzip包。$
mkdir -p etc dev mnt proc sys tmp mnt
$ mkdir -p etc/init.d/
$ mkdir etc dev mnt
$ mkdir -p proc sys tmp mnt
$ mkdir -p etc/init.d/
$ vim etc/fstab
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
$ vim etc/init.d/rcS
echo -e "Welcome to tinyLinux"
/bin/mount -a
echo -e "Remounting the root filesystem"
mount -o remount,rw /
linux内核文件放在哪mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
$ chmod 755 etc/init.d/rcS
$ vim etc/inittab
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
$ chmod 755 etc/inittab
$ cd dev
$ sudo mknod console c 5 1
$ sudo mknod null c 1 3
$ sudo mknod tty1 c 4 1
最终⽣成的⽂件系统镜像名字为:
准备好了内核和⽂件系统镜像,接下来就是见证奇迹的时刻!qemu 运⾏linux
内核#!/bin/bash
rm -3rm -rf fs
dd if=/dev/zero of=./3 bs=1M count=32
<3mkdir fs
mount -o 3 ./fs
cp -rf ./_install/* ./fs
umount ./fs
gzip --best -3 >
$ qemu-system-x86_64 \
-kernel ./linux-4.9.229/arch/x86_64/boot/bzImage \
-initrd ./busybox-1.30.0/ \
-append "root=/dev/ram init=/linuxrc" \
-serial
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论