老生长谈的内容了,就是自己编译内核,然后制作initramfs,在用qemu跑
起来。不过在这之前先跑个helloworld玩玩。
进行内核选项配置,其中的内容非常多,我也没看完,但是由于这次我们什么都用不到,也不用编译模块,可以把Device Driver里绝大部分和一些不常用的东西都勾选掉.具体配置自己参照网上吧,也可以直接用别人配好的设置直接覆盖. 为了方便务必把debug info 勾选上.
起来。不过在这之前先跑个helloworld玩玩。
顺便我在学校写博客的笔记本系统是ubuntu16.04,在实习单位玩的时候用的系统是centos7,两个不同的地方我会尽量说明,当然有些地方我自己也不是很清楚就是了。
编译内核
# 建一个目录
$ mkdir build
# 首先當然是去下一個linux內核,地址, 我这里选的版本是3.10.104
$ wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.10.104.tar.xz
# 解压
$ tar xvf linux-3.10.104.tar.xz
$ cd linux-3.10.104
$ make menuconfig
进行内核选项配置,其中的内容非常多,我也没看完,但是由于这次我们什么都用不到,也不用编译模块,可以把Device Driver里绝大部分和一些不常用的东西都勾选掉.具体配置自己参照网上吧,也可以直接用别人配好的设置直接覆盖. 为了方便务必把debug info 勾选上.
# -j8的选项是为了让编译更快点,一般这数字选择为cpu核数*2.
$ make -j8
# ls -la linux-3.10.104/arch/x86_64/boot/bzImage
lrwxrwxrwx 1 seijia seijia 22 12月 17 23:52 linux-3.10.104/arch/x86_64/boot/bzImage -&