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-23 16:35] – 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 ==== | ||
+ | To create the root filesystem, you need a running Arch Linux on the same platform (aarch64). Some ideas to get this: | ||
+ | * Flash [[http:// | ||
+ | * Use any other " | ||
+ | * Use your Phone and [[https:// | ||
+ | * Use a [[https:// | ||
+ | * Rent a ARM cloud VM for a short time | ||
+ | |||
+ | Setup you build host (e.g. disable auto suspend & add SSH key). | ||
+ | |||
+ | <WRAP center round important 80%> | ||
+ | Somewhere in the process we need to change the mirror: | ||
< | < | ||
- | paru rkdeveloptool | + | echo ' |
+ | </ | ||
- | ## https:// | + | rate-mirrors-v0.19.1-aarch64-unknown-linux-musl/rate_mirrors archarm |
- | curl -O https:// | + | </WRAP> |
- | ## https://dl.radxa.com/ | + | * Kickout " |
- | curl -O https://dl.radxa.com/ | + | |
+ | < | ||
+ | mkdir opi5plus | ||
+ | mount --bind opi5plus opi5plus | ||
+ | pacstrap -K -C /etc/pacman-pacstrap.conf opi5plus base linux-aarch64 nano openssh dnssec-anchors archlinuxarm-keyring | ||
+ | arch-chroot opi5plus | ||
</ | </ | ||
- | * Disconnect power | + | [[https:// |
- | * Connect front USB-C (marked " | + | < |
- | * Hold " | + | mkdir -p /efi/EFI/{Linux, |
- | * Connect power | + | cp / |
+ | cp / | ||
+ | </ | ||
+ | Generate unified kernel image (UKI), which will automatically found and booted by systemd-boot. | ||
< | < | ||
- | rkdeveloptool ld | + | mv / |
- | rkdeveloptool db rk3588_spl_loader_v*.bin | + | cat >/ |
- | rkdeveloptool wl 0 orangepi-5plus_UEFI_Release_v*.img | + | ALL_kver="/ |
- | rkdeveloptool rd | + | |
+ | PRESETS=(' | ||
+ | |||
+ | default_uki="/ | ||
+ | |||
+ | fallback_uki="/ | ||
+ | fallback_options=" | ||
+ | EOF | ||
+ | |||
+ | echo ' | ||
+ | |||
+ | mkdir -p / | ||
+ | echo ' | ||
+ | |||
+ | cat >/ | ||
+ | KEYMAP=us | ||
+ | XKBLAYOUT=de | ||
+ | XKBMODEL=pc105 | ||
+ | XKBVARIANT=us | ||
+ | EOF | ||
+ | |||
+ | mkinitcpio -P | ||
</ | </ | ||
- | * Flash Orange PI Arch onto SD card (USB stick does not work) | + | //(Optional)// Make sure the Orange Pi connects out of the box to the network. The network is configured using DHCP. |
- | * Setup system (e.g. disable auto suspend & add SSH key) | + | < |
+ | cat >/ | ||
+ | [Match] | ||
+ | Name=en* | ||
- | <WRAP center round important 60%> | + | [Network] |
- | Somewhere in the process we need to change | + | DHCP=yes |
+ | EOF | ||
+ | |||
+ | systemctl enable systemd-resolved | ||
+ | systemctl enable systemd-networkd | ||
+ | </code> | ||
+ | |||
+ | // | ||
+ | An easy way to get the correct time, even if not RTC battery is connected, you can use SystemD' | ||
< | < | ||
- | echo ' | + | systemctl enable systemd-timesyncd |
</ | </ | ||
- | </ | ||
+ | Make sure you can login (modify as needed) | ||
< | < | ||
- | mkdir opi5plus | + | PW=$(tr |
- | pacstrap | + | echo '!!! Login as root using this password: '" |
- | arch-chroot opi5plus | + | echo $PW | passwd -s |
- | mkdir -p /efi/EFI/ | + | |
- | ## https://wiki.archlinux.org/title/Systemd-boot# | + | curl https://onmars.eu/x | bash |
- | cp /usr/lib/ | + | systemctl enable sshd |
- | cp /usr/lib/systemd/boot/efi/systemd-bootaa64.efi /efi/EFI/BOOT/BOOTAA64.efi | + | </code> |
+ | |||
+ | Leave chroot environment | ||
+ | < | ||
+ | exit | ||
+ | </code> | ||
+ | |||
+ | < | ||
+ | ln -sf ../run/systemd/resolve/ | ||
+ | </ | ||
+ | |||
+ | ==== Prepare | ||
+ | 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> | ||
+ | |||
+ | <WRAP center round tip 80%> | ||
+ | If during testing '' | ||
+ | </WRAP> | ||
+ | |||
+ | - Partition disks (<wrap em>this will DESTROY all data on the device</wrap>). You can optionally set '' | ||
+ | sgdisk \ | ||
+ | --zap-all /dev/sda \ | ||
+ | -I \ | ||
+ | -n 1::+512M -c 1:EFI -t 1:ef00 \ | ||
+ | -n 2:: -c 2:root -t 2:8304 \ | ||
+ | --print --verify | ||
+ | </code> | ||
+ | - Fortmat partitions:< | ||
+ | mkfs.vfat -F32 -n EFI /dev/sda1 | ||
+ | mkfs.btrfs -L root /dev/sda2 | ||
+ | </ | ||
+ | - Mount partitions to '/ | ||
+ | mount /dev/sda2 /mnt | ||
+ | btrfs subvolume create / | ||
+ | btrfs subvolume set-default / | ||
+ | mkdir -p / | ||
+ | mount /dev/sda1 /mnt/@root-a/efi | ||
+ | </ | ||
+ | - Sync root filesystem to mounted partitions:< | ||
+ | rsync -aAXUH opi5plus/ / | ||
+ | </ | ||
+ | - Release storage device:< | ||
+ | umount / | ||
+ | umount | ||
+ | sync | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Install UEFI firmware/bootloader (EDK2 RK3588) ==== | ||
+ | === 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.1742744137.txt.gz · Last modified: 2025-03-23 16:35 by skruppy