前言
工作中为了测试 nvme over tcp,需要 linux 内核版本在 5.0(nvme tcp 模块仅支持 5.0 以上的版本)以上,故做此记录
硬件平台飞腾
系统平台 Centos 7.5
该系统在安装时,软件包选择 Development and Creative Workstation
,勾选了 Additional Development
Development Tools
Platform Development
三个开发包
当前内核版本 4.14.0
下载 linux 内核源码
解压内核源码
tar -zxvf linux-5.1.tar.gz -C /usr/src/kernels/
拷贝旧的配置文件到解压目录
cd /usr/src/kernels/linux-5.1/
cp /boot/config-4.14.0-49.el7a.aarch64 .config
更新配置文件
make oldconfig
如果对这些不是很了解,可以直接回车,直接回车为默认配置
通过 GUI 选择配置(可选)
make menuconfig
记的保存
查看 CPU 个数(可选)
mpstat -P ALL
07:30:37 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
07:30:37 PM all 0.02 0.00 0.03 0.03 0.00 0.00 0.00 0.00 0.00 99.92
07:30:37 PM 0 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 1 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00 99.94
07:30:37 PM 2 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 3 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 4 0.01 0.00 0.14 0.01 0.00 0.00 0.00 0.00 0.00 99.84
07:30:37 PM 5 0.01 0.00 0.08 0.02 0.00 0.00 0.00 0.00 0.00 99.89
07:30:37 PM 6 0.33 0.00 0.05 0.02 0.00 0.00 0.00 0.00 0.00 99.60
07:30:37 PM 7 0.01 0.00 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.96
07:30:37 PM 8 0.01 0.00 0.19 0.01 0.00 0.00 0.00 0.00 0.00 99.79
07:30:37 PM 9 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 10 0.00 0.00 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 11 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 12 0.01 0.00 0.02 0.03 0.00 0.00 0.00 0.00 0.00 99.94
07:30:37 PM 13 0.01 0.00 0.01 0.04 0.00 0.00 0.00 0.00 0.00 99.94
07:30:37 PM 14 0.01 0.00 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.95
07:30:37 PM 15 0.01 0.00 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.95
07:30:37 PM 16 0.00 0.00 0.26 0.00 0.00 0.00 0.00 0.00 0.00 99.74
07:30:37 PM 17 0.01 0.00 0.18 0.00 0.00 0.00 0.00 0.00 0.00 99.81
07:30:37 PM 18 0.00 0.00 0.08 0.00 0.00 0.00 0.00 0.00 0.00 99.92
07:30:37 PM 19 0.01 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 99.95
07:30:37 PM 20 0.00 0.00 0.02 0.27 0.00 0.00 0.00 0.00 0.00 99.70
07:30:37 PM 21 0.00 0.00 0.02 0.33 0.00 0.00 0.00 0.00 0.00 99.64
07:30:37 PM 22 0.01 0.00 0.02 0.28 0.00 0.00 0.00 0.00 0.00 99.69
07:30:37 PM 23 0.00 0.00 0.02 0.25 0.00 0.00 0.00 0.00 0.00 99.73
07:30:37 PM 24 0.08 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.89
07:30:37 PM 25 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 26 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 27 0.31 0.00 0.08 0.17 0.00 0.00 0.00 0.00 0.00 99.44
07:30:37 PM 28 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 29 0.00 0.00 0.11 0.01 0.00 0.00 0.00 0.00 0.00 99.87
07:30:37 PM 30 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 31 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 32 0.01 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 99.93
07:30:37 PM 33 0.01 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 99.96
07:30:37 PM 34 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 35 0.01 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 99.94
07:30:37 PM 36 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 37 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 38 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 39 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 40 0.00 0.00 0.01 0.08 0.00 0.00 0.00 0.00 0.00 99.91
07:30:37 PM 41 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 42 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 43 0.08 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.90
07:30:37 PM 44 0.01 0.00 0.01 0.16 0.00 0.00 0.00 0.00 0.00 99.82
07:30:37 PM 45 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 46 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 47 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 48 0.01 0.00 0.08 0.00 0.00 0.00 0.00 0.00 0.00 99.91
07:30:37 PM 49 0.01 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 99.95
07:30:37 PM 50 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 51 0.00 0.00 0.01 0.13 0.00 0.00 0.00 0.00 0.00 99.86
07:30:37 PM 52 0.02 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.96
07:30:37 PM 53 0.01 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.97
07:30:37 PM 54 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 55 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 56 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.98
07:30:37 PM 57 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 58 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 59 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 99.99
07:30:37 PM 60 0.03 0.00 0.04 0.03 0.00 0.00 0.00 0.00 0.00 99.90
07:30:37 PM 61 0.02 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 99.95
07:30:37 PM 62 0.01 0.00 0.05 0.01 0.00 0.00 0.00 0.00 0.00 99.94
07:30:37 PM 63 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 99.98
编译
make -j32
-j32 为使用 32 个线程进行编译,该数字不要超过 CPU 核数
编译遇到的问题
会报 target certs/centos.pem', needed by
certs/x509_certificate_list'. Stop 这个错误,解决办法是注释掉 .config
中的 CONFIG_SYSTEM_TRUSTED_KEYS="certs/centos.pem"
安装
make modules_install
make install
更新 grub 引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
查看引导信息
# cat /boot/grub2/grub.cfg |grep menuentry
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'CentOS Linux (5.1.0) 7 (AltArch)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.1.0-advanced-0eb378dd-485f-476f-acd3-c23ec50a13c1' {
menuentry 'CentOS Linux (4.14.0-49.el7a.aarch64) 7 (AltArch)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.14.0-49.el7a.aarch64-advanced-0eb378dd-485f-476f-acd3-c23ec50a13c1' {
menuentry 'CentOS Linux (0-rescue-a545817b95184b4bbd1060b9474bb752) 7 (AltArch)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-a545817b95184b4bbd1060b9474bb752-advanced-0eb378dd-485f-476f-acd3-c23ec50a13c1' {
设置默认引导
grub2-set-default 'CentOS Linux (5.1.0) 7 (AltArch)'
设置默认引导始终为第 1 位
vim /etc/default/grub
修改 GRUB_DEFAULT
值为 1,GRUB_DEFAULT=1
确认引导是否正常
grub2-editenv list
若显示值为刚刚设置的默认引导则为正常
重启
reboot
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于