前言
工作中为了测试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