1
0
Fork 0

Add prebuilt mainline 6.15 kernel and boot files for Orange Pi 5 Ultra

This commit is contained in:
Brendan Szymanski 2026-07-10 17:26:44 -04:00
parent 01aaba86c7
commit d94451e611
10 changed files with 98 additions and 1 deletions

BIN
Image Executable file

Binary file not shown.

View file

@ -1 +1,60 @@
# android_kernel_lineage-rockchip_orangepi5ultra
# Orange Pi 5 Ultra — Kernel (Prebuilt)
Prebuilt mainline Linux kernel and boot files for the Orange Pi 5 Ultra (RK3588).
## Contents
| File | Description |
|------|-------------|
| `Image` | ARM64 Linux kernel (mainline 6.15.0-rc7 + Rockchip DRM patches) |
| `rk3588-orangepi-5-ultra.dtb` | Device tree blob for Orange Pi 5 Ultra |
| `u-boot-rockchip.bin` | U-Boot bootloader (Rockchip TPL/SPL + U-Boot) |
| `boot.cmd` | U-Boot boot script source |
| `boot.scr` | U-Boot boot script (compiled from boot.cmd) |
| `config.txt` | Boot configuration (DTB selection, boot device, recovery toggle) |
| `android-sdcard.dtbo` | Device tree overlay for SD card |
| `uRamdisk` | Android boot ramdisk (U-Boot format) |
| `uRecovery` | Android recovery ramdisk (U-Boot format) |
## Boot Configuration
### Boot Device (config.txt)
| Device | `boot_device` | `boot_devnum` |
|--------|---------------|---------------|
| SD card | `mmc` | `0` |
| eMMC | `mmc` | `1` |
| NVMe | `nvme` | `0` |
| USB | `usb` | `0` |
### Recovery
Set `recovery=true` in `config.txt` to boot into recovery mode.
### Recompiling boot.scr
If you modify `boot.cmd`, recompile with:
```bash
mkimage -A arm64 -O linux -T script -C none -n "Orange Pi 5 Ultra Boot" -d boot.cmd boot.scr
```
## Kernel Configuration
Key enabled options:
- `CONFIG_DRM_PANFROST` — Mali-G610 GPU (Panfrost)
- `CONFIG_DRM_DW_HDMI` — HDMI output
- `CONFIG_SND_SOC_ES8388` — ES8388 audio codec
- `CONFIG_R8169` — RTL8125BG 2.5GbE Ethernet
- `CONFIG_BRCMFMAC` — WiFi (Ampak AP6611S)
- `CONFIG_BT_HCIUART_BCM` — Bluetooth 5.3
- `CONFIG_USB_DWC3` — USB 3.0
- `CONFIG_NVME_CORE` — NVMe storage
## Source
Based on mainline Linux 6.15-rc7 with Rockchip DRM patches from the dvab-sarma AOSP project.
## Branch
`lineage-23.2` — for use with LineageOS 23.2 (Android 16).

BIN
android-sdcard.dtbo Normal file

Binary file not shown.

31
boot.cmd Normal file
View file

@ -0,0 +1,31 @@
setenv load_addr "0x9000000"
setenv boot_device "mmc"
setenv boot_devnum "0"
setenv boot_partnum "1"
setenv root_partnum "2"
setenv prefix "/"
load ${devtype} ${devnum} ${load_addr} ${prefix}config.txt
env import -t ${load_addr} ${filesize}
load ${boot_device} ${boot_devnum}:${boot_partnum} ${kernel_addr_r} ${prefix}Image
load ${boot_device} ${boot_devnum}:${boot_partnum} ${fdt_addr_r} ${prefix}${fdtfile}
if test "${recovery}" = "true"; then
echo "Booting into Recovery...."
load ${boot_device} ${boot_devnum}:${boot_partnum} ${fdtoverlay_addr_r} /${fdtoverlay}
fdt addr ${fdt_addr_r}
fdt resize
fdt apply ${fdtoverlay_addr_r}
load ${boot_device} ${boot_devnum}:${boot_partnum} ${ramdisk_addr_r} /uRecovery
else
echo "Booting into normal Android...."
load ${boot_device} ${boot_devnum}:${boot_partnum} ${ramdisk_addr_r} /uRamdisk
fi;
part uuid ${boot_device} ${boot_devnum}:${root_partnum} partuuid
setenv bootargs "loglevel=8 earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000 root=/dev/ram0 rootwait pcie_aspm=off pcie_port_pm=off nvme_core.default_ps_max_latency_us=0 androidboot.boot_part_uuid=${partuuid} androidboot.hardware=opi5ultra androidboot.selinux=permissive"
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

BIN
boot.scr Normal file

Binary file not shown.

7
config.txt Normal file
View file

@ -0,0 +1,7 @@
boot_device=mmc
boot_devnum=0
boot_partnum=1
root_partnum=2
fdtfile=rk3588-orangepi-5-ultra.dtb
fdtoverlay=android-sdcard.dtbo
recovery=false

BIN
rk3588-orangepi-5-ultra.dtb Executable file

Binary file not shown.

BIN
u-boot-rockchip.bin Normal file

Binary file not shown.

BIN
uRamdisk Normal file

Binary file not shown.

BIN
uRecovery Normal file

Binary file not shown.