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

I have a trick on R3, so that atf is on /dev/mmcblk0 , not boot0.

Needs dipswitches LLLH., or HLLL depends which way you look at it.

I’ll check if this is in the readme also.

“Flip SD/EMMC switch (most near to power plug), the rest stay up!”

Anyway, on the R3 the Emmc image can be written to booting from my sdmmc image. That is described in the readme.

Edit: it can actually be used to write any image to emmc while booting from sd.

Thanks, no need to messing with NAND to install eMMC image is fantastic news for me, but I’m still a bit confused and need some clarification :slight_smile: I’m sorry have read the readme but didn’t understand that I can do this (haven’t run your build script yet).

I prefer to flash pre-built images if possible, not used to build anything myself until I’m familiar with the process. So if I understand it correctly I can download your pre-built sdmmc image and flash it to SD card. The DIPS should stay LLLH during SD boot and eMMC installation. After booting from SD I can flash the same image file(or emmc version?) to eMMC somehow (using your script)?

Need to find some details how to format eMMC via putty (without uart) after boot from SD, or does your script also include re-formatting eMMC before image installation?

Before booting from eMMC I should switch the DIPS back to LHHL…

Everything is pre-build in packages, so even using my build script, you are not really building, only installing fully automated…

But it can be done with prebuild images.

https://github.com/ericwoud/buildR64arch?tab=readme-ov-file#r64r3-buildinstall-emmc-version-using-image

dd the sd image to a sd card. Then cp the emmc image in the tmp folder of the sd card.(root partition), rename it bpir.img.gz.

Boot sd with the normal sd card dip settings, keep shift+e pressed. Then follow the instuctions, it tells you when to flip which dip switch. Then you are done, remove sd card and boot archlinux-arm from emmc. I could not make it easier… I have done some updates after that, but it still should work like this. If not, I would like to hear that.

1 Like

Thanks, I have finally booted my Openwrt NAND to eMMC Arch installation, working fine now. Not sure whether changing DIPS to HHHL or activating boot partition via mmc bootpart enable 1 1 /dev/mmcblk0 helped but after these 2 changes booting Arch from eMMC started to work, yay. I’m close to replacing my old OpenWrt router for R3@ArchLinux but have last remaining WiFi issue to resolve.

Fast Transition between R3@ArchLinux and 2 remaining OpenWrt routers is not working. Same ssid & wpa_passphrase, mobility_domain set to default(which calculation is identical on both systems) but devices connected to OpenWrt refuse connection to R3@Arch. have following settings enabled on both systems:

ft_psk_generate_local=1
ft_over_ds=1

Seems something is still missing in my /etc/hostapd/wlan0.conf. Anyone with Fast transition working between Arch and OpenWrt APs with some advice?

Did you:

wpa_key_mgmt=WPA-PSK FT-PSK

You could just try to set

mobility_domain=a1b2

On all systems.

Then it is most important that everything is connected at layer-2 level. That means, only using bridges and sort. No ipforward (wan to lan transistion, nat translation, etc) in the chain between the bridges that contain the wifi interfaces.

I have only used FT, all systems running archlinuxarm.

Sure, pls see my PK & FT configuration below:

wpa=2
wpa_passphrase=xxxxxxxx
wpa_key_mgmt=WPA-PSK FT-PSK
wpa_pairwise=CCMP

# 802.11r
mobility_domain=$(echo $ssid | md5sum | cut -c1-4)
nas_identifier=$HOSTNAME-$interface
ft_psk_generate_local=1
ft_over_ds=1

According to OpenWrt developer mobility_domain calculation is the same:

Have checked the echo command on both systems and result was identical, but will test also with hard-coded value. Between APs is only core managed switch without VLANs. Seems to me something else must be different but can’t find it…

Also hardcoded then, different on all systems

Is openwrt also set to WPA-PSK and CCMP?

OpenWrt settings are following:

Have cipher set to “Force TKIP and CCMP (AES)”, there is another option “Force CCMP”… Do you think TKIP enabled on OpenWrt could be the reason?

My experience is that almost eveything in the hostapd.conf, as I have it in archlinuxarn, needs to match, also these settings. Although it has been a while since I last experimented with it.

Btw, in /run/ you can find the real hostapd.conf with all bash variables expanded.

OK, will try to match all the settings and test again…thanks

After upgrade from previous quick pre-built AP image (2024-02-06) to the latest version (2024-03-15) Fast Transition works. Not sure what was wrong with my previous installation but WiFi client migration from Openwrt to Arch works now(with default mobility_domain).

Some missing packages occurred when tried to install networkmanager for cockpit which worked fine with previous version. error: failed retrieving file 'nss-3.98-1-aarch64.pkg.tar.xz' from mirror.archlinuxarm.org : The requested URL returned error: 404

P.S. There is a newer package version nss-3.99-1-aarch64.pkg.tar.xz online…after full upgrade (pacman -Syu) the installation worked fine. But it seems WiFi problems start after networkmanager installation. Will try to figure-out how to create AP with networkmanager so I can manage system via cockpit webpages.

Always use the y in the options here, to prevent those errors. Partial upgrades usually work, but officially is not supported. This means when installing/upgrading 1 package, all packages need upgrading.

Hello, excellent work. Would it be possible to include Docker support in the image? I got the error:

docker run hello-world
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: bpf_prog_query(BPF_CGROUP_DEVICE) failed: invalid argument: unknown.

I’ve added the config option as @frank-w suggested, it is building now, slowly, Should be ready within an hour as the newest package. (donnow exactly how long, but that should be ok).

I did not bump version so clear cache:

sudo pacman -Scc

then:

sudo pacman -Syu linux-bpir-git

If you’re already using archlinuxarm…

As far as docker concerned, this should be available in packages, from archlinux(arm) perhapse in the AUR…

The archlinux wiki usually is a good startingpoint.

https://wiki.archlinux.org/title/docker

Great, thanks a lot! Docker works! You are amazing!

One more question: is there a way to assign IP address to clients based on MAC address? Systemd-netword is said not to be able to do this.

You can use dnsmasq (i use this dor years)…but recent versions of systemd should support this too

Said who?

https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#%5BDHCPServerStaticLease%5D%20Section%20Options

Available from systemd version 249. ArchlinuxArm currently is at 256.1.

Thank you very much! I didn’t know this. It works flawlessly!