前言
国庆期间老师布置了一个作业,其中有一个主要的部分是编译Linux内核。
然而第一次编译可能会遇到许多问题,特别是安装包依赖的问题。这里为了留个纪念,或者希望能帮到大家,特意写了这篇博客。
安装虚拟机
常见的有着两种虚拟机软件:
- VMware Workstation Pro
- Oracle VM VirtualBox
远程连接工具(可选)
- xshell
可以用学校的邮箱注册一个账号,可以免费下载教育版。我个人比较喜欢用xshell - putty
如果使用远程连接工具的话,记得连接之前下好openssl-server (以下命令默认是在ubuntu系统下的)
sudo apt-get install openssh-server
查看
ps -e | grep ssh
要看到sshd 才可以,如果只有ssh-agent或者您在安装openssh-server的时候提示无法定位软件安装包,那么请先执行下面的操作(更新以下系统)
安装系统
去Linux官网下在ubuntu的镜像,建议选择LTS(长期支持版本)或者Stable(稳定版本),虚拟机安装系统的过程这里也不讲了,网上有很多教程。装的时候建议给虚拟机的空间>=60G.
更新系统
如果不是图形界面的话可以参考这篇文章:https://www.cnblogs.com/xiaoyangerlaoshi/p/6168411.html
点击下载自右边的镜像URL下拉框
点击其他站点:
这里点击 选择最佳服务器, 等 两三分钟后,系统自动会选择一个服务器,这时候我们再点击 选择服务器按钮即可,点击完后会提示你更新。
然后打开终端,依次执行
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
其中第二步会花比较长时间,比如二三十分钟,具体取决于你的网络情况还有选择的镜像的情况等。
下载内核并解压
去这个,kernel.org复制一下链接,
这里复制到的地址为 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
按两次ESC键,然后选择Yes,就会在该目录下生成一个配置实验。
然后开始编译
sudo make -j8;
这里-j参数后面的数字代表几核,根据自己实际情况选,建议尽可能大,那样编译起来快一些。
然后经过漫长的编译过程…
完成之后一次输入
sudo make modules_install;
sudo make install;
最后重启虚拟机即可,验证一波:
查看一波编译完成后的文件夹下的东西:
结语
这是人生中一次难忘的经历。可能每个同学遇到的问题都会不一样,但是相信大家能力这么强一定可以解决的! _