赞
踩
1.下载kernel sorce code,从kernel.org上下载或在直接用git clone,或者在国内mirror上(Index of /kernel/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror)下载镜像。
2.为了方便,用su切换到root权限,代码放在/usr/src/目录下,解压代码。安装依赖库:
- apt install build-essential
- apt install gcc
- apt install make
- apt install openssl
- apt install pkg-config
- apt install libssl-dev
- apt install libncurses5-dev
- apt install libc6-dev
- apt install libelf-dev
- apt install bison
- apt install flex
3.配置config:
a. 打开源码路径:cd /usr/src/linux-xxxx
b. cp /boot/config-xxxxx .config
c. make menuconfig-->load-->save
4. 编译内核:make -jN;
注意:这里可能会遇到因为key而编译不过的问题,可以删除下边的两个key值:
- CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
- CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"
修改为:
- CONFIG_SYSTEM_TRUSTED_KEYS=""
- CONFIG_SYSTEM_REVOCATION_KEYS=""
5. 编译模块:make modules -j N //N是根据CPU 核数确定,可以加快执行过程。
6.安装模块:
make INSTALL_MOD_STRIP=1 modules_install -j 8
这里的INSTALL_MOD_STRIP=1一定要加上,否则会有initrd.img-xxx文件太大的问题,导致开机一直卡在加载映像到磁盘,无法开机。
7.安装内核:make install
检查以下/boot/initrd.img-xxx大小是否太大,正常一般不超过100M,如果太大就执行步骤6的命令,然后在执行:
mkinitramfs /lib/modules/5.17.xxxx/ -o /boot/initrd.img-5.17xxx
8. 更新grub:update-grub2,注意这里grub会默认选择最新版本的内核,如果更新内核后需要切换到旧版本的内核,需要在启动的过程中选择ubuntu高级选项里边选择之前的版本,如果开机不显示ubuntu高级选项,可以修改/etc/default/grub文件:
- # If you change this file, run 'update-grub' afterwards to update
- # /boot/grub/grub.cfg.
- # For full documentation of the options in this file, see:
- # info -f grub -n 'Simple configuration'
-
- GRUB_DEFAULT=0
- # GRUB_TIMEOUT_STYLE=hidden ==》增加#,mark掉这一行
- GRUB_TIMEOUT_STYLE=menu
- GRUB_TIMEOUT=5 ==》修改为5秒
9. 重启电脑,使用uname -a 查看是否替换成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。