一、升级内核版本

1、下载linux源码

https://www.kernel.org/上下载最新内核源码

2、解压

sudo tar -xvf linux-4.19.245.tar.xz

3、配置新内核的.config

cp  /usr/src/linux-headers-3.13.0-32-generic  linux-4.19.245

4、安装一些必要的包openssl、之类的,缺什么补什么,每个版本系统不一样

sudo apt-get install bison flex

5、make menuconfig进行配置

Load–>OK–>Save–>OK–>Exit–>Exit。就是保存配置就行了。什么都不需要改。

6、make olddefconfig 使用之前的配置

7、编译内核

make bzImage

8、编译模块

make modules

9、安装

make modules_install

make install 

10、修改引导

update-grub2

11、重启reboot

 

问题:

1、在阿里云ECS服务器nvme-tcp模块无法安装问题

[root@tangjun linux-4.18]# make install
sh ./arch/x86/boot/install.sh 4.18.0 arch/x86/boot/bzImage \
System.map "/boot"
dracut-install: Failed to find module 'nvme-tcp'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.BmZ5bP/initramfs --kerneldir /lib/modules/4.18.0/ -m nvme nvme_core nvme-fabrics nvme-fc nvme-rdma nvme-loop nvmet nvmet-fc nvme-tcp xen-blkfront xen-netfront virtio_blk virtio_net

2、

二、增加系统调用

每个版本的过程不一样。开发板和linux老版本的新版本也不一样。

(1)2440开发板上实验的增加系统调用

linux版本:2.6.30.4

2、在ubuntu上新增系统调用升级系统。

(1)vim arch/x86/entry/syscalls/syscall_64.tbl

 

(2)vim include/linux/syscalls.h

 

 (3)vim kernel/sys.c

 

三、参考

(34条消息) Linux4.18.9添加系统调用传递参数示例_Lzq_CNQF的博客-CSDN博客