记第一次编译Linux内核

前言

国庆期间老师布置了一个作业,其中有一个主要的部分是编译Linux内核。
然而第一次编译可能会遇到许多问题,特别是安装包依赖的问题。这里为了留个纪念,或者希望能帮到大家,特意写了这篇博客。


安装虚拟机

常见的有着两种虚拟机软件:

  • VMware Workstation Pro
  • Oracle VM VirtualBox


远程连接工具(可选)

  • xshell
    可以用学校的邮箱注册一个账号,可以免费下载教育版。我个人比较喜欢用xshell
  • putty

如果使用远程连接工具的话,记得连接之前下好openssl-server (以下命令默认是在ubuntu系统下的)

sudo apt-get install openssh-server

查看

ps -e | grep ssh

记第一次编译Linux内核_第1张图片

要看到sshd 才可以,如果只有ssh-agent或者您在安装openssh-server的时候提示无法定位软件安装包,那么请先执行下面的操作(更新以下系统)


安装系统

去Linux官网下在ubuntu的镜像,建议选择LTS(长期支持版本)或者Stable(稳定版本),虚拟机安装系统的过程这里也不讲了,网上有很多教程。装的时候建议给虚拟机的空间>=60G.


更新系统

如果不是图形界面的话可以参考这篇文章:https://www.cnblogs.com/xiaoyangerlaoshi/p/6168411.html

记第一次编译Linux内核_第2张图片

点击下载自右边的镜像URL下拉框
记第一次编译Linux内核_第3张图片

点击其他站点:

记第一次编译Linux内核_第4张图片

这里点击 选择最佳服务器, 等 两三分钟后,系统自动会选择一个服务器,这时候我们再点击 选择服务器按钮即可,点击完后会提示你更新。

记第一次编译Linux内核_第5张图片
然后打开终端,依次执行

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

其中第二步会花比较长时间,比如二三十分钟,具体取决于你的网络情况还有选择的镜像的情况等。



下载内核并解压

去这个,kernel.org复制一下链接,
记第一次编译Linux内核_第6张图片
这里复制到的地址为 https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.14.tar.xz
然后在你想要的目录下

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.14.tar.xz

输入 ls 会发现刚目录下多了一个 linux-5.8.14.tar.xz 的文件。

解压过程:

xz -d linux-5.8.14.tar.xz

这时候 linux-5.8.14.tar.xz 变成了一个 linux-5.8.14.tar 的文件。

tar xvf linux-5.8.14.tar

完成解压


下载编译内核需要的包

这里一次性先下完先

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

然后设置一下menuconfig.

sudo make menuconfig

记第一次编译Linux内核_第7张图片
按两次ESC键,然后选择Yes,就会在该目录下生成一个配置实验。
然后开始编译

sudo make -j8;

这里-j参数后面的数字代表几核,根据自己实际情况选,建议尽可能大,那样编译起来快一些。
然后经过漫长的编译过程…
记第一次编译Linux内核_第8张图片
完成之后一次输入

sudo make modules_install;
sudo make install;

最后重启虚拟机即可,验证一波:

记第一次编译Linux内核_第9张图片
查看一波编译完成后的文件夹下的东西:
在这里插入图片描述


结语

这是人生中一次难忘的经历。可能每个同学遇到的问题都会不一样,但是相信大家能力这么强一定可以解决的! _

你可能感兴趣的:(后端开发)