目录
0、环境
1、编译内核
2、创建根文件系统
3、安装qemu并执行
4、参考
0、环境
系统:Linux Mint 19.1 Tessa
内核版本:4.15.0-96-generic(该版本是笔者开发机的版本,不是要编译的版本)
虚拟机:qemu 2.11.1
平台:x86_64
根文件系统:buildroot-2021.02.3 创建
编译过程中的依赖等自行安装。
1、编译内核
在https://mirrors.edge.kernel.org/pub/linux/kernel/上选择要编译的内核,这些笔者选择5.9.8,
下载后解压,进入源码目录,可以使用make menuconfig对参数进行修改,这里直接使用make -j4命令编译。(1、编译时间会比较长; 2、编译内核需要提前安装一些依赖库,在编译时提示缺少什么就安装什么即可)
编译结果:arch/x86_64/boot/bzImage 即为要运行的内核
2、创建根文件系统
在https://buildroot.org/上下载buildroot工具,源码解压。
在源码目录执行make menuconfig,进行如下修改:
(1)Target Options->Target Architecture选择x86_64.
(2)Filesystem images勾选ext2/3/4 root file system. (按空格勾选)
然后执行make命令编译,执行过程也很长。(好像不能使用make -jx命令)
编译结果:output/images/rootfs.ext2
3、安装qemu并执行
安装qemu的过程略去,无非sudo apt-get ....
执行:qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -boot c -m 2049M -hda rootfs.ext2 -append "root=/dev/sda rw" ,加红部分填写自己的路径。
运行结果:
4、参考
https://www.bilibili.com/read/cv11271232
https://medium.com/@daeseok.youn/prepare-the-environment-for-developing-linux-kernel-with-qemu-c55e37ba8ade