Loongnix系统替换内核操作
一、终端下执行命令
sudo apt search linux-image*
返回结果中格式如: linux-image-4.19.0-19-loongson-3 为最新的内核源码。
二、下载内核源码包
sudo apt source linux-image-4.19.0-19-loongson-3
如提示:E: 您必须在 sources.list 中指定代码源(deb-src) URI , 需要修改/etc/apt/sources.list,将deb-src前#号去掉。
三、编译生成内核和模块文件
可以选择本地编译
或交叉编译
,下面分别介绍两种方式操作流程。
3.1 本地编译
- 获取源码后,进入源码目录下
cd linux-4.19.190.8.14
- 安装依赖包
sudo apt install bison flex libelf-dev libssl-dev
- 用默认内核配置,进行本地编译
sudo make menuconfig ARCH=loongarch
保存退出
sudo make ARCH=loongarch -j8
编译内核
sudo make modules_install -j8
安装模块
生成vmlinuz文件和4.19.190模块目录(默认在/lib/modules下)
3.2 交叉编译
-
将linux-4.19.190.8.14源码打包
sudo tar zcvf linux-4.19.190.8.14.tar.gz linux-4.19.190.8.14
-
将源码包拷贝到交叉编译的机器上,进行解压
sudo tar zxvf linux-4.19.190.8.14.tar.gz
-
进入源码目录下
cd linux-4.19.190.8.14
-
用默认内核配置,进行交叉编译
sudo make menuconfig CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch
保存退出
sudo make CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch -j8
编译内核
sudo make modules_install INSTALL_MOD_PATH=/tmp/mod/ CROSS_COMPILE=loongarch64-linux-gnu- ARCH=loongarch -j8
安装模块生成vmlinuz文件和4.19.190模块目录(在/tmp/mod/lib/modules下)
-
打包4.19.190模块目录
cd /tmp/mod/lib/modules
sudo tar zcvf 4.19.190.tar.gz 4.19.190
四、拷贝内核和模块到系统中
拷贝 vmlinuz文件拷贝到loongnix系统的 /boot目录下
备注:交叉编译执行拷贝并解压 4.19.190.tar.gz 到loongnix系统的/lib/modules目录下
五、生成新的启动项目
sudo dracut --force --kver 4.19.190
执行完上述命令后会在/boot 目录下生成initramfs-4.19.190.img
六、添加启动项
6.1 固件是UEFI
运行sudo update-grub2
,然后重启
6.2 固件是PMON
修改/boot/boot.cfg文件,在showmenu 1这行下,位置如下:
添加如下内容:
sudo vim /boot/boot.cfg
title kernel 4.190
kernel /dev/fs/xxxx@xxxx/vmlinuz
initrd /dev/fs/xxxx@xxxx/initramfs-4.19.190.img
args root=UUID=xxxx ro quiet
备注:xxxx 根据boot.cfg 里实际情况填写
修改后保存,重启
七、 查看内核版本
重启后运行uname -a
查看,内核替换成功。