diff --git a/Image b/Image new file mode 100755 index 0000000..6412594 Binary files /dev/null and b/Image differ diff --git a/README.md b/README.md index c77745b..8a5ee6f 100644 --- a/README.md +++ b/README.md @@ -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). diff --git a/android-sdcard.dtbo b/android-sdcard.dtbo new file mode 100644 index 0000000..5be05d8 Binary files /dev/null and b/android-sdcard.dtbo differ diff --git a/boot.cmd b/boot.cmd new file mode 100644 index 0000000..eccde01 --- /dev/null +++ b/boot.cmd @@ -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} diff --git a/boot.scr b/boot.scr new file mode 100644 index 0000000..8eca36e Binary files /dev/null and b/boot.scr differ diff --git a/config.txt b/config.txt new file mode 100644 index 0000000..b15848a --- /dev/null +++ b/config.txt @@ -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 diff --git a/rk3588-orangepi-5-ultra.dtb b/rk3588-orangepi-5-ultra.dtb new file mode 100755 index 0000000..7f87e86 Binary files /dev/null and b/rk3588-orangepi-5-ultra.dtb differ diff --git a/u-boot-rockchip.bin b/u-boot-rockchip.bin new file mode 100644 index 0000000..790e519 Binary files /dev/null and b/u-boot-rockchip.bin differ diff --git a/uRamdisk b/uRamdisk new file mode 100644 index 0000000..7893711 Binary files /dev/null and b/uRamdisk differ diff --git a/uRecovery b/uRecovery new file mode 100644 index 0000000..ad7cd08 Binary files /dev/null and b/uRecovery differ