[BPI-R3] [BPi-R3-Mini] Imagebuilder R3 Archlinux, linux-rolling-stable

It is possible, not so difficult, but can you not compile for aarch64?

No I don’t have a source, it’s private. Only compiled version is available…

The arm64 can run armv7 without any emulator, as if it is native code.

Then it depends if the executable is compiled statically, or does it depend on libraries. You can check with the tool ldd

No dependances, you can just run it.

Otherwise, you can copy an armv7 root filesystem (Bootstrap). I use

GitHub - tokland/arch-bootstrap: Bootstrap a base Arch Linux system

Be sure to specify armv7h.

Then use arch-chroot to go in to this with chroot. From there, if all correct versions of libraries are installed, you can run your armv7 executable.

I have done this on my rk3588 board, also aarch64 running Archlinux, and I think you can do the same on the R3.

Thanks a lot man for help :+1: Used arch-chroot script you suggested and despite some errors the application seems to work :slight_smile:

The OEM SFP2.5G-T realtek driver is now added to the pre-build linux.

So is the eeprom loading from file for mt76xx wifi driver (thanks to Frank for this patch)

ATF using FAT32 boot partition is now default for new installations. At least it is for sdmmc and emmc. I’ll add nand for R3/R3mini, so this should still be using a fip partition.

Changing from the default option can be done with a command line switch to the install script, see readme.

First image available for R3-MINI setup as RouTer and as AccessPoint, also avaiable as prebuild .img.gz:


The path includes images for R64 and R3, also for different setups.

Instructions for R3-MINI:

Copy the bpir-xxx-yyy.img.gz to a FAT formatted usb-stick and plug it in to the R3-MINI.

Boot the R3-MINI in NAND mode with UART connected. Boot to Openwrt Busybox command prompt.

echo 0 > /sys/block/mmcblk0boot0/force_ro

gunzip -c /mnt/sda1/bpir-xxx-yyy.img.gz | dd of=/dev/mmcblk0 bs=4M conv=fsync

dd if=/dev/mmcblk0 of=/dev/mmcblk0boot0 bs=17K skip=1 count=16 conv=fsync

mmc bootpart enable 1 1 /dev/mmcblk0

Switch boot-switch to EMMC and reboot.

1 Like

Have Bpir3 with older Archlinux ver. 6.3 installed to SD and working as AP. Would like to test eMMC and install the new Archlinux AP version there. OpenWrt in NOR & NAND, eMMC is empty. What is the correct installation procedure (without UART if possible)? Thanks in advance

See here: R64/R3 Build/Install emmc version using image

Assuming you have a bootable SD image on SD card.

First build a emmc image, or download a pre-build image, copy it to the /tmp/ folder on the SD card, name it bpir.img.xz.

Boot the R64/R3 with the SD card with UART connected. When kernel starts keep ‘shift E’ keys pressed. When finised, you can reboot.

Just follow the instructions you get, during install, about setting the dipswitch

This is however with UART.

On R64 it could be possible without UART, but because R3 can only acces SD or EMMC one at a time, it is not possible without UART.

So it is however possible without using anything on NAND.

Thank you very much for the instructions. I was hopping for some SD/eMMC installation when I saw image name [bpir3-sdmmc-ap.img.xz]. Seems like I will have to open the case and use UART :slight_smile:

In OpenWrt Wiki I found cmdline instruction how to install from NAND to eMMC: fw_setenv bootcmd “run emmc_init ; env default bootcmd ; saveenv ; reset”; reboot This is used to copy the NAND installation to eMMC. To install some other img I expect cmdline needs some modifications but haven’t found the them anywhere…

Or… You could write the image when booting from openwrt from NAND.

It would go like so:

Create an emmc image with the script and pack it as .gz file. See readme, it is very simple. If you don;t have a linux computer, use the R3 to run the script on :slight_smile:

Otherwise download the xz and repack as gz.

Copy the bpir.img.gz to a FAT formatted usb-stick and plug it in to the R3.

Boot the R3 in NAND mode. You boot to openwrt, and try to get in a busybox shell via the network, instead of uart. (I don’t use openwrt, so you need to find out yourself)

gunzip -c /mnt/sda1/bpir.img.gz | dd of=/dev/mmcblk0 bs=4M conv=fsync
mmc bootpart enable 7 1 /dev/mmcblk0