计算机组成原理实验:下载并编译最新的Linux内核

作者:凯咪 kami-kali
高能提醒:虚拟机的话一开始设置多一点比较保险

下载Linux内核

方法一:
进官网看哪个版本你比较喜欢(https://www.kernel.org/)
下载到电脑
计算机组成原理实验:下载并编译最新的Linux内核
然后打开FlashFXP将文件传到虚拟机或者服务器的根目录(root目录)

方法二:
电脑打开
https://mirrors.edge.kernel.org/pub/linux/kernel/
看你喜欢哪个版本,比如这个
计算机组成原理实验:下载并编译最新的Linux内核
进入虚拟机或服务器的根目录
=>> su
输入密码*******(进入根目录成功)
but if you forget your password,then
输入sudo passwd
更改你的密码后重新=>> su 进入根目录
and then
=>> wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.0.8.tar.xz
命令格式为 wget <文件的网址>
(你会发现网速确实不行,我下了大概一个小时QTQ!so我们考虑第一种方法,如果是新手别担心,谷歌下怎么用工具传文件到服务器ssh,ftp一堆,很受用,自行Google咯)

解压

1)将下载好的linux-5.0.2.tar.xz移动到 /usr/src

=>> mv linux-5.0.2.tar.xz /usr/src/

2)解压linux-5.0.2.tar.xz

=>> xz -d linux-5.0.2.tar.xz

先脱掉第一件衣裳 .xz后缀

=>> tar -xvf linux-5.0.2.tar

脱掉第二件衣裳 .tar后缀

完成

插入几个小命令

<1>wc 命令查代码行数
wc 命令用于统计文件内容的行数、单词数、字母数

=>>  wc -l `find -name *.c`       //查找当前目录(包含子目录)下所有的后缀为.c的文件代码行数      
=>>  wc -l `find -name *.h`       //查找当前目录(包含子目录)下所有的后缀为.h的文件代码行数       
=>>  wc -l `find -name *.c` `find -name *.h`     //查找当前目录(包含子目录)下所有的后缀为.c和.h的文件代码行数      

其中,-l 参数是统计行数,``是 shell 中的替换命令(这个符号不是单引号,见键盘左上角感叹号旁边)。

<2>tree命令查看文件目录结构
进入当前目录,输入:
=>> tree
计算机组成原理实验:下载并编译最新的Linux内核
可以看到大致这样的目录结构
<3>du查看源码包所占据的磁盘容量
计算机组成原理实验:下载并编译最新的Linux内核
直接进入该目录,执行=>> su (查看,单位为KB)
执行=>> du -m(查看为M)
其他命令自信google

编译内核(待更新…)

1)首先切换到生成的文件夹中
=>> cd linux-5.0.2
2)=>> make menuconfig
1.进入如下界面
计算机组成原理实验:下载并编译最新的Linux内核
2.将蓝色选择框移动到下边那个位置
计算机组成原理实验:下载并编译最新的Linux内核
回车
计算机组成原理实验:下载并编译最新的Linux内核
到local version,回车,输入你想要定制的内核名字,我的就是linux-5.0.2
计算机组成原理实验:下载并编译最新的Linux内核
save
然后load,save,exit,exit(其他默认,基本够用了,其他设置Google看下其他教程)
3.make
=>> make
=>> time make -j4
(这里的j4上的数字可以是2,4,8,看机器的内核数,数字越大,make速度越快)
计算机组成原理实验:下载并编译最新的Linux内核
…漫长的过程,到怀疑人生…(make的过程需要消耗较多存储空间,虚拟机的话一开始设置多一点比较保险,我的是服务器不需要考虑这个问题)

未完。。。。编译内核中,,怀疑人生。。。