Proxmox-Port/help/kernel.md
2023-11-05 15:57:36 +08:00

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