How to update Ubuntu ISO Kernel 如何更新Ubuntu光盘中的kernel

1.提取ISO文件中的filesystem.squashfs文件
How to update Ubuntu ISO Kernel 如何更新Ubuntu光盘中的kernel_第1张图片
2.解压压缩文件,删除原始文件,将编译好的kernel拷贝到新文件夹的home目录

 sudo unsquashfs  ./filesystem.squashfs
 sudo rm filesystem.squashfs 
 sudo cp your_path/linux-*.deb squashfs-root/home/

3.挂载squashfs-root

sudo chroot ./squashfs-root/

mount none -t proc /proc

mount none -t sysfs /sys

mount none -t devpts /dev/pts

export HOME=/root

export LC_ALL=C

4.安装新的kernel,卸载老kernel

 dpkg -i /home/linux-*.deb

How to update Ubuntu ISO Kernel 如何更新Ubuntu光盘中的kernel_第2张图片
我的目的是删除5.3的kernel,保留4.19这个

这里面存在依赖关系,慢慢的调整

dpkg --purge linux-signed-generic-hwe-18.04
 dpkg --purge linux-generic-hwe-18.04
 dpkg --purge linux-image-generic-hwe-18.04
 dpkg --purge linux-modules-extra-5.3.0-28-generic
dpkg --purge linux-image-5.3.0-28-generic
dpkg --purge linux-modules-5.3.0-28-generic
dpkg --purge linux-headers-generic-hwe-18.04
dpkg --purge linux-headers-5.3.0-28-generic
dpkg --purge linux-headers-5.3.0-28

到最后还剩这些:
How to update Ubuntu ISO Kernel 如何更新Ubuntu光盘中的kernel_第3张图片
删除deb包

rm /home/linux-*.deb

5.完成后退出刚才挂载的文件夹:

apt-get clean

rm -rf /tmp/* ~/.bash_history

umount /proc

umount /sys

umount /dev/pts

export HISTSIZE=0

exit

6.获取vmlinuz 、initrd 、filesystem.manifest并制作filesystem.squashfs

cp squashfs-root/boot/vmlinuz-4.19.84-test  ./vmlinuz
cp squashfs-root/boot/initrd.img-4.19.84-test ./initrd
sudo chroot squashfs-root dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ./filesystem.manifest
sudo mksquashfs squashfs-root/ ./filesystem.squashfs
sudo rm squashfs-root/ -rf

7.更换iso中的这几个文件,更新iso文件中的,md5sum.txt

filesystem.manif  filesystem.manifest  filesystem.squashfs  initrd  vmlinuz

怎么放进去参考这里吧:https://github.com/netson/ubuntu-unattended

你可能感兴趣的:(Linux)