如何制作⽂件系统并⽤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小时内删除。