Centos升级内核,添加fake numa node 配置

Centos 升级内核

升级Centos内核版本,同时添加fake numa node 配置

1. 下载内核源码

由于,光从官网上上找不到对应的历史版本,可以参考博客 https://blog.csdn.net/a20132848/article/details/90754387 进行下载。

如下载5.4

wget http://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.tar.xz

2. build内核

参考博客 https://blog.51cto.com/191226139/2059117
https://www.linuxidc.com/Linux/2017-11/148276.htm

2.1. 解压并清理

官网要求将源码放到 /usr/src下面,其实放到哪里都可以。

# 解压内核
tar -Jxvf linux-5.4.tar.xz
mv linux-5.4 /usr/src/kernels
# 清理内核
cd /usr/srckernels/linux-5.4
make mrproper && make clean
2.2. 生成编译配置表

kernel在编译时需要一个配置文件(.config),用于描述开启哪些特性等,

我们采用 make menuconfig方式来获取配置文件。运行命令时,会看到报缺少对应库的错误,直接安装重新运行就行。

# 安装缺少的库
yum install -y  ncurses-devel flex bison
# 运行配置,默认就可以
make menuconfig

然后,根据需要修改配置文件(.config)

如,我们的目标一,开启虚拟numa支持,
numa配置如下:参考 http://linux-hacks.blogspot.com/2009/07/fake-numa-nodes-in-linux.html

# 打开配置选项
CONFIG_NUMA = y,CONFIG_NUMA_EMULATION = y

numa=fake=2
2.3. 编译安装内核
yum install -y openssl-devel elfutils-libelf-devel
make -j6 all

make modules_install
make install
2.4 验证安装和修改默认启动版本

查询grub的配置文件,看有没有多新的菜单

cat /boot/grub2/grub.cfg

可以看到

menuentry 'CentOS Linux (0-rescue-7790c96f7dd64bb59b2c386aebf99316) 7 (Core)'

修改默认启动项
参考 https://juejin.im/post/5e70de7b6fb9a07cb74bf1cd

vim /etc/default/grub

# 文件内容如下,修改GRUB_DEFAULT的值,因为新编译的内核版本位于最前面,只需要将其值改为0就可以了
#GRUB_DEFAULT=SAVED
GRUB_DEFAULT=0

上面不管用

sudo grub2-set-default 0
2.5 添加kernel命令行参数

处于目的,需要添加numa=fake=2的命令行参数

找到下面处添加

 linux16 /vmlinuz-0-rescue-7790c96f7dd64bb59b2c386aebf99316 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=fake=2
2.6 卸载内核

如果发现自己编译安装的内核版本不适合自己的系统,可以卸载,不能只会安装

  1. cd /boot删除(自己安装的版本)启动的内核和内核映像文件
  2. cd /lib/modules删除不需要的内核库文件
  3. cd /app(自己安装源码的目录)删除不要的内核源码
  4. vim /boot/grub2/grub.cfg更改grub的配置文件,删除不需要的内核启动列表菜单

这样自己编译安装的内核就清干净了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值