06-11-2022, 11:28 AM
(This post was last modified: 06-11-2022, 11:49 AM by CounterPillow.)
The kernel in stock Ubuntu 22.04 (Linux 5.15) would be too old, but you can totally run an Ubuntu rootfs with your own kernel and your own bootloader.
Build u-boot or grab it from pgwipeout's CI (triple dots to the right, click merge-job archive, download, write the idbloader and uboot from the mainline u-boot subdirectory to the right offsets).
Create a /boot partition, and either put your own kernel + initramfs or pgwipeout's kernel + initramfs on it.
Then on the / partition of your target medium that you've also created, write an Ubuntu root file system that you've downloaded (ubuntu-base-22.04-base-arm64.tar.gz).
Make a /boot/extlinux/extlinux.conf that loads the kernel you placed onto the /boot and points at the root file system.
The downside of this all is that you'll have to manually deal with the kernel, as it's not packaged.
In the future with a newer Ubuntu release, if their kernel is configured with the right options for rockchip, we could look into booting a generic UEFI image by having either EDKII or u-boot's scrappy implementation load Ubuntu's bootloader.
Another option is that we set up a CI that modifies their generic server arm64 image to use our u-boot with a newer kernel package built and preinstalled.
Build u-boot or grab it from pgwipeout's CI (triple dots to the right, click merge-job archive, download, write the idbloader and uboot from the mainline u-boot subdirectory to the right offsets).
Create a /boot partition, and either put your own kernel + initramfs or pgwipeout's kernel + initramfs on it.
Then on the / partition of your target medium that you've also created, write an Ubuntu root file system that you've downloaded (ubuntu-base-22.04-base-arm64.tar.gz).
Make a /boot/extlinux/extlinux.conf that loads the kernel you placed onto the /boot and points at the root file system.
The downside of this all is that you'll have to manually deal with the kernel, as it's not packaged.
In the future with a newer Ubuntu release, if their kernel is configured with the right options for rockchip, we could look into booting a generic UEFI image by having either EDKII or u-boot's scrappy implementation load Ubuntu's bootloader.
Another option is that we set up a CI that modifies their generic server arm64 image to use our u-boot with a newer kernel package built and preinstalled.
Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64 Model A
Plebian GNU/Linux