编译Linux内核(Mac OS平台)

操作系统第一次实验需要编译Linux内核,我之前在Mac上一直使用的都是Parallels Desktop这个软件,所以这次也将课程网站上提供的Ubuntu安装在了PD上,但是编译完内核后无法进入Ubuntu桌面,只能使用命令行界面。因为这个问题一共在PD的Ubuntu虚拟机中编译了三次内核,全都是同样的问题,上网查了发现好像是缺少驱动的原因,按照网上的解决方案进行尝试也没有成功。
最后用了免费的VirtualBox,并且成功编译了内核。这里记录一下过程。
首先安装VirtualBox,新建一个虚拟机,注意内存至少分配40G。
安装好之后,从课程网站上下载Linux3.18的内核,用Ubuntu中的FireFox下载默认应该是保存在/home//Downloads目录下。
将内核解压到/usr/src目录下:

cd Downloads
xz -d linux-3.18.24.tar.xz
cd /usr/src
tar -xvf /home/<当前登录的用户名>/Downloads/linux-3.18.24.tar

在解压出的内核源码目录下创建.config文件,由于完全自己创建.config文件太麻烦了,这里通过原来的内核的config文件来创建新内核的.config文件。

cd linux-3.18.24
sudo cp /boot/config-3.16.0-23-generic ./.config
sudo make oldconfig

在make oldconfig时,会有很多选项需要你重新选择,直接按回车选择默认设置即可。
接下来就是编译内核。

sudo make
sudo make modules_install
sudo make install

这里make可能需要很长的时间,大概两个小时左右,还有可能会中途make失败,这个时候需要sudo make clean然后再重新编译。
完成上述步骤后重启系统,在命令行中输入uname -a即可查看当前内核版本,可以看到是3.18.24,说明编译成功了。

上一篇:为什么要编译Linux内核?


下一篇:编译linux内核时出错