在很久很久以前,linux被视为geek极客的玩具。自行升级Linux内核,对普通用户来说,简直是天方夜谭。曾经的曾经,升级内核需要很多纷繁复杂的步骤,也需要花费很多的时间。但是,现在不一样了。内核的安装可以方便的通过像git这样的工具来处理。通过添加特定的仓库,你能很轻松的安装预览版本的或者特定版本的内核。
那我们为什么非要自己编译一个内核呢?可能由于以下几个原因:
1、添加显卡、网卡等硬件的支持,因为操作系统默认的内核不支持,造成硬件不能使用。
2、需要启用或者禁用内核中特定的选项,因为它们没有出现在标准选项里。
3、出于好奇,想学习一下编译内核的过程。
4、你是一个程序员,而编译内核是你的工作。
编译内核是非常有用的,特别是对于那些喜欢瞎折腾的人来说。编译、炸了、再编译、又炸了。不断的循环往复。感受那种受虐的兴奋。
首先,要有一台龙芯电脑。
1、内核Kernel的源码发布地址: http://dev.lemote.com:8000/cgit
2、进入指定的文件夹,比如/home,执行git命令下载源码,进入内核源码目录:
git clone git://dev.lemote.com/linux-official.git
cd linux-official
3、拷贝对应的配置文件,然后进行配置,主要是读入.config中的配置信息,生成内核配置图形界面,可以根据需要手动的对kernel进行裁剪:
如果编译龙芯3系列板卡,kernel则按照下面方式拷贝配置文件:
cp arch/mips/configs/loongson3_defconfig .config
安装一些依赖的软件包。
sudo dnf install ncurses-devel flex bison
选择完毕,可以执行下面命令进行内核配置:
make menuconfig //如果执行出错,请根据出错提示,dnf update最新的包。
4、编译内核,成功后会在当前目录下生成vmlinux.32(32位)、vmlinux(64位,我们使用的是vmlinux)
make -j4 //执行make命令进行编译,-j4表示使用系统4个核进行编译,如果系统多核可以指定这个参数
5、模块安装,默认会把编译的模块安装到/lib/modules/
make modules_install