computer:orange_pi_5_plus_32gb
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| computer:orange_pi_5_plus_32gb [2025-03-24 01:26] – skruppy | computer:orange_pi_5_plus_32gb [2025-03-31 22:22] (current) – skruppy | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| ===== Install Arch Linux with UEFI ===== | ===== Install Arch Linux with UEFI ===== | ||
| - | <WRAP center round info 60%> | + | <WRAP center round info 80%> |
| This guide is for the 32GB version of the Orange Pi 5 Plus, but probably applies also to other versions. | This guide is for the 32GB version of the Orange Pi 5 Plus, but probably applies also to other versions. | ||
| With some small modifications this schould also apply to other RK3588 boards. | With some small modifications this schould also apply to other RK3588 boards. | ||
| </ | </ | ||
| - | < | + | ==== Create root filesystem ==== |
| - | paru rkdeveloptool | + | To create the root filesystem, you need a running Arch Linux on the same platform (aarch64). Some ideas to get this: |
| - | + | * Flash [[http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-5-plus-32GB.html|Orange PI OS (Arch)]] onto a SD card (USB stick does not work) and use your Orange Pi | |
| - | ## https://github.com/edk2-porting/edk2-rk3588/releases | + | * Use any other " |
| - | curl -O https:// | + | * Use your Phone and [[https://termux.dev/|Termux]] and [[https://github.com/EXALAB/AnLinux-App|AnLinux]] |
| - | + | * Use a [[https://www.qemu.org|QEMU]] VM, emulating an aarch64 architecture. | |
| - | ## https://dl.radxa.com/rock5/ | + | * Rent a ARM cloud VM for a short time |
| - | curl -O https://dl.radxa.com/rock5/sw/images/loader/ | + | |
| - | </ | + | |
| - | * Disconnect power | + | Setup you build host (e.g. disable auto suspend & add SSH key). |
| - | * Connect front USB-C (marked " | + | |
| - | * Hold " | + | |
| - | * Connect power | + | |
| - | < | + | <WRAP center round important |
| - | rkdeveloptool ld | + | |
| - | rkdeveloptool db rk3588_spl_loader_v*.bin | + | |
| - | rkdeveloptool wl 0 orangepi-5plus_UEFI_Release_v*.img | + | |
| - | rkdeveloptool rd | + | |
| - | </ | + | |
| - | + | ||
| - | * Flash Orange PI Arch onto SD card (USB stick does not work) | + | |
| - | * Setup system (e.g. disable auto suspend & add SSH key) | + | |
| - | + | ||
| - | <WRAP center round important | + | |
| Somewhere in the process we need to change the mirror: | Somewhere in the process we need to change the mirror: | ||
| < | < | ||
| echo ' | echo ' | ||
| </ | </ | ||
| + | |||
| + | rate-mirrors-v0.19.1-aarch64-unknown-linux-musl/ | ||
| </ | </ | ||
| Line 48: | Line 35: | ||
| mkdir opi5plus | mkdir opi5plus | ||
| mount --bind opi5plus opi5plus | mount --bind opi5plus opi5plus | ||
| - | pacstrap -K -C / | + | pacstrap -K -C / |
| arch-chroot opi5plus | arch-chroot opi5plus | ||
| - | mkdir -p /efi/ | + | </code> |
| - | ## https:// | + | [[https:// |
| + | < | ||
| + | mkdir -p / | ||
| cp / | cp / | ||
| cp / | cp / | ||
| + | </ | ||
| + | Generate unified kernel image (UKI), which will automatically found and booted by systemd-boot. | ||
| + | < | ||
| mv / | mv / | ||
| cat >/ | cat >/ | ||
| Line 67: | Line 59: | ||
| fallback_options=" | fallback_options=" | ||
| EOF | EOF | ||
| - | |||
| - | mkdir -p / | ||
| - | echo ' | ||
| echo ' | echo ' | ||
| + | |||
| + | mkdir -p / | ||
| + | echo ' | ||
| cat >/ | cat >/ | ||
| Line 83: | Line 75: | ||
| </ | </ | ||
| - | <WRAP center round tip 60%> | + | // |
| - | If during testing '' | + | <code> |
| - | </WRAP> | + | cat >/ |
| + | [Match] | ||
| + | Name=en* | ||
| + | [Network] | ||
| + | DHCP=yes | ||
| + | EOF | ||
| + | |||
| + | systemctl enable systemd-resolved | ||
| + | systemctl enable systemd-networkd | ||
| + | </ | ||
| + | |||
| + | // | ||
| + | An easy way to get the correct time, even if not RTC battery is connected, you can use SystemD' | ||
| < | < | ||
| - | sgdisk --zap-all /dev/sda | + | systemctl enable systemd-timesyncd |
| - | sgdisk | + | </ |
| - | sgdisk | + | |
| + | Make sure you can login (modify as needed) | ||
| + | < | ||
| + | PW=$(tr -dc A-Za-z0-9 </ | ||
| + | echo '!!! Login as root using this password: '" | ||
| + | echo $PW | passwd -s | ||
| + | |||
| + | curl https:// | ||
| + | systemctl enable sshd | ||
| + | </ | ||
| + | |||
| + | Leave chroot environment | ||
| + | < | ||
| + | exit | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | ln -sf ../ | ||
| + | </ | ||
| + | |||
| + | ==== Prepare boot/root device ==== | ||
| + | The storage device can be a USB Flash Drive or SD card. | ||
| + | |||
| + | <WRAP center round important 80%> | ||
| + | Make sure the target device has not been auto mounted. | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 80%> | ||
| + | If during testing '' | ||
| + | </ | ||
| + | |||
| + | - Partition disks (<wrap em>this will DESTROY all data on the device</ | ||
| + | sgdisk | ||
| + | | ||
| + | -I \ | ||
| + | | ||
| + | -n 2:: -c 2:root -t 2: | ||
| + | --print --verify | ||
| + | </ | ||
| + | - Fortmat partitions:< | ||
| mkfs.vfat -F32 -n EFI /dev/sda1 | mkfs.vfat -F32 -n EFI /dev/sda1 | ||
| mkfs.btrfs -L root /dev/sda2 | mkfs.btrfs -L root /dev/sda2 | ||
| + | </ | ||
| + | - Mount partitions to '/ | ||
| mount /dev/sda2 /mnt | mount /dev/sda2 /mnt | ||
| - | mkdir -p /mnt/efi | + | btrfs subvolume create / |
| - | mount /dev/sda1 /mnt/efi | + | btrfs subvolume set-default / |
| - | rsync -a opi5plus/ /mnt | + | mkdir -p /mnt/@root-a/efi |
| - | umount /mnt/efi | + | mount /dev/sda1 /mnt/@root-a/efi |
| + | </ | ||
| + | - Sync root filesystem to mounted partitions:< | ||
| + | rsync -aAXUH opi5plus/ /mnt/@root-a | ||
| + | </ | ||
| + | - Release storage device:< | ||
| + | umount /mnt/@root-a/efi | ||
| umount /mnt | umount /mnt | ||
| sync | sync | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Install UEFI firmware/ | ||
| + | === Preparations === | ||
| + | * Install [[https:// | ||
| + | paru rkdeveloptool | ||
| + | </ | ||
| + | * Download the [[https:// | ||
| + | curl -O https:// | ||
| + | </ | ||
| + | * Download the [[https:// | ||
| + | curl -O https:// | ||
| + | </ | ||
| + | |||
| + | === Flashing firmware to SPI === | ||
| + | - Connect front USB-C (marked " | ||
| + | - Hold " | ||
| + | - Check device in MaskROM mode ist detected by Linux host: < | ||
| + | rkdeveloptool ld | ||
| + | </ | ||
| + | - Load SPI flash loader into RAM: < | ||
| + | rkdeveloptool db rk3588_spl_loader_v*.bin | ||
| + | </ | ||
| + | - Flash EDK2 firmware: < | ||
| + | rkdeveloptool wl 0 orangepi-5plus_UEFI_Release_v*.img | ||
| + | </ | ||
| + | - // | ||
| + | rkdeveloptool rd | ||
| </ | </ | ||
computer/orange_pi_5_plus_32gb.1742775968.txt.gz · Last modified: by skruppy
