Browsed by
Month: January 2019

Running Arch Linux with customized kernel in QEMU

Running Arch Linux with customized kernel in QEMU

本文为内核爱好者们介绍一个便利的运行内核的方式,使用 QEMU + virtio 启动一个装载着自定义内核的 Arch Linux。 0x00 构建内核 我们使用 Arch Linux 发行版使用的 .config 作为配置文件, 可以省却很多自己配置 Kernel Options 的繁琐工作。将配置文件放入 kernel source tree 后,使用 make oldconfig 就可以通过一个交互的命令行将最新的内核里的可配置参数补全到我们使用的 Arch Linux 的 .config 文件中。 我们有两种方式获取到 Arch Linux (和其他发行版) 的 .config 文件: 使用 zcat 读取 /proc/config.gz 的内容并且保存为 .config 直接复制 `/usr/lib/modules/$(uname -r)/build/.config 若要使用方法 1 ,内核需要开启 Enable access to .config through /proc/config.gz 这一选项需要我们将 IKCONFIG_PROC 设置为 y (相关依赖 option 项目也需要满足) 配置文件准备好后,我们就可以开始构建内核了,如果你会频繁构建内核,建议使用 ccache 来缓存编译的中间目标文件 “*.o”。ccache 具体配置方法这里不多做介绍,简单说下使用方法,很简单,只需要在 gcc,cc,g++,c++ 的前面加上 ccache 即可,e.g 使用 ccahe 编译内核的构建命令可以这样写: make CC=”ccache gcc” -j8。注意:ccache 不会提升首次编译的速度,它会将这些中间文件缓存起来,在后续的…

Read More Read More