2.4 KiB
Proxmox Port Kernel
I forked a kernel project:
https://github.com/jiangcuo/pve-port-kernel.git
The pre-build kernel file of this project is stored in the repo:
deb https://global.mirrors.apqa.cn/proxmox/debian/kernel sid port
Currently, there are two architectures: LoongArch64 and ARM64.
The config in the kernel selects all arm64 devices and can theoretically be used for all.
1. How to install the kernel
1.1 Use apt
#add repo
$ echo "deb https://global.mirrors.apqa.cn/proxmox/debian/kernel sid port" >> /etc/apt/sources.list.d/pveport.list
#fresh
$ apt update
#Lists the available kernels
$ apt search pve-kernel
#install latest kernel by metapackage
$ apt install pve-kernel-6.1-generic
1.2 Use dpkg
download kernel package form project releases or repo, use
dpkg -i pve-kernel-*
to install.
1.3 Boot from new kernel
A PC booted with should automatically set the latest kernel as the first boot kernel. You just need reboot to apply.
If you encounter a failure with a new kernel ,reboot to grub, select Advanced, and in the next options, select the previous kernel.
1.3 uboot devices
The uboot device will read the /{boot_partition}/extlinux/extlinux.conf
file on the boot.
# if your boot_partition is /dev/mmcblk0p3
$ mount /dev/mmcblk0p3 /opt
# if pve kernel vmlinuz is vmlinuz-6.1.60-generic
$ cp /boot/vmlinuz-6.1.60-generic /opt
$ sync
You can edit your extlinux.conf.
$ nano /opt/extlinux/extlinux.conf
default l0
menu title QuartzPro64 Boot Menu
prompt 0
timeout 50
# create a new item with new kernel.
label l0
menu label Boot Linux Kernel SDMMC
linux /vmlinuz-6.1.60-generic
fdt /rk3588-quartzpro64.dtb
append earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000n8 root=/dev/mmcblk1p5 rw rootwait
# backup old boot item
label 20
menu label Boot Linux Kernel SDMMC Backup
linux /Image
fdt /rk3588-quartzpro64.dtb
append earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000n8 root=/dev/mmcblk1p5 rw rootwait
The kernel package has compiled the DTB file, if you need it, you can go to the "/boot/dtbs/{kernel_version}/" folder.
!!! NOTE
*** Make sure you can access your device using the serial port. If your changes are wrong, you may not be able to boot the system, so you have a serial port that you can debug again. ***
2. Manual build
See https://github.com/jiangcuo/pve-port-kernel readme.md