物理机操作系统:
虚拟机操作系统:
Ubuntu 24.04
下载地址:
https://mirror.nju.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso
VM版本信息:
内核源代码来源:
https://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/v6.x/linux-6.9.tar.gz
要注意下,编译内核需要比较大的磁盘空间,开始根目录使用的20G,不够会报文件系统不够用耗尽问题,后边重装给根目录搞50G磁盘编译的,没有问题(根目录磁盘大概使用了37G的样子):
root@a-VMware-Virtual-Platform:/home/a# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 388M 1.9M 386M 1% /run
/dev/sda2 49G 37G 9.8G 79% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
tmpfs 388M 112K 388M 1% /run/user/1000
vmhgfs-fuse 278G 125G 154G 45% /mnt/hgfs
/usr/src/linux-6.9/编译后目录占用26G的样子:
root@a-VMware-Virtual-Platform:/home/a# du -sh /usr/src/linux-6.9/
26G /usr/src/linux-6.9/
编译前需要安装了些库,好像gcc,g++,python3也需要,不太记得了:
alias apt='apt install -y'
apt libncurses-dev
apt make
apt flex
apt bison
apt libelf-dev
apt libssl-dev
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
下载好内核源代码压缩包后,解压并把解压的目录移动到/usr/src/:
tar -xf linux-6.9.tar.gz
mv linux-6.9 /usr/src
cd /usr/src/linux-6.9/
make -j8
make -j8 modules_install
make -j8 install
mkinitramfs -o /boot/initrd.img-6.9.0
update-initramfs -c -k 6.9.0
update-grub2
vim /boot/grub/grub.cfg
uname -a
uname -a > /home/uname.txt
reboot
重启后再查看uname -a的内核版本(上部分是重启前内核版本,下部分是重启后内核版本):
可能出现的问题:
1、编译的时候缺库,一般根据出错的原因百度或者其他搜索解决,这种问题容易些;
2、编译报错,在编译的过程碰到编译失败,不会像原来老的内核版本会报哪个文件哪行出问题,直接什么也没有,看不见(估计是方法不对),这个问题有点困扰,我直接apt update把内核升级,后边乱搞一通,不知怎么的这个问题又好了。。。。。
3、机器性能不太好,编译可能比较耗时,一般是开始编译,然后跑出去搞其他事,或者看视频等等。。。
参考:
Linux内核编译与安装:4.4.0-21→4.14.0_4.4改4.14内核-CSDN博客