随笔-370  评论-37  文章-0  trackbacks-0
使用启动盘安装openEuler22.03 SP2操作系统之后,默认的源码路径位于:
/usr/src/kernels/5.10.0-153.12.0.92.oe2203sp2.aarch64
(这个目录下的源码是编译不过的,艹)

进入/lib/modules/目录下,可以看到只有一个以发行版本号命名的目录:
5.10.0-153.12.0.92.oe2203sp2.aarch64
进入这个目录,能看到有个名为build的软链接,指向:
/usr/src/kernels/5.10.0-153.12.0.92.oe2203sp2.aarch64(即上面提到的编译不过的内核源码目录)

现在准备使用官网下载的openEuler22.03 SP2的内核源码,重新编译5.10内核并替换安装系统后的原有内核

1、下载内核源码
openEuler内核源码官方下载地址:
https://gitee.com/openeuler/kernel?_from=gitee_search
选择分支22.03-LTS-SP2,下载源码压缩包

2、解压

3、安装依赖库
yum group install -y "Development Tools"
yum install -y bc
yum install -y openssl-devel
yum install elfutils-libelf-devel

3、编译
进入源码解压后的生成目录
make mrproper

执行命令:
uname -r
查看系统发行版本号,本机为:
5.10.0-153.12.0.92.oe2203sp2.aarch64

(另开终端)在/boot/下面找到"config"+发行版本号命名的文件,即:
config-5.10.0-153.12.0.92.oe2203sp2.aarch64

把这个/boot/下面的这个config文件复制到当前路径(源码解压后目录)下,并重命名为.config:
cp  /boot/config-$(uname -r)  ./.config

ll -a
确认.config文件已经拷贝至当前路径下了。

make menuconfig
在弹出的菜单中根据自己的实际需要,配置内核选项,退出时选择保存

make -j8
make modules -j8
make modules_install
make install

make install时可能报错:
Error! Bad return status for module build on kernel: 5.10.0 (aarch64)
Consult /var/lib/dkms/kmod-kvdo/8.1.0.316-1/build/make.log for more information.

删除dkms
yum remve dkms

再次执行
make install

查看是否安装完成:
grep menuentry /boot/grub2/grub.cfg

posted on 2023-10-10 21:00 小王 阅读(99) 评论(0)  编辑 收藏 引用 所属分类: 操作系统linux编译

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理