96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
#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.
|
|
|
|
```bash
|
|
# 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.
|
|
```bash
|
|
$ 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
|
|
|
|
|