Successfully running VyOS on BPI-R4

Update: Please visit GitHub - KawaiiNetworks/vyos-bpi-r4: VyOS for BPI-R4 for more details.

Because 6.12 has some problems with 6Ghz Wifi, I upgrade the kernel to 6.17.


After several days of effort, I finally succeeded in running Vyos on BPI-R4.

Very nice board :wink:

5 Likes

hope you can show more about this .:slight_smile:

I’m organizing a document, and it might take a few days. I’ll get it done as soon as possible.

1 Like

Wow, that’s a nice attempt!

Which vyos image did you used? Can you share?

Please visit GitHub - KawaiiNetworks/vyos-bpi-r4: VyOS for BPI-R4

Hello,

I create a github repo to share the process and image:

1 Like

Awesome work! :grinning: I will be following this thread.

Does it work properly with hardware flow offloading too? VyOS should support that if the driver support is there in the kernel. I’d be curious to know if you tried it? :slight_smile:

If I just want to try your builds, can I just download the iso and use the generate_img.sh script to create the sdcard?

Also, your VyOS update instructions mention tar.gz files that are not available under releases despite what the instructions claim. :slight_smile:

Finally, is flashing u-boot to SPI flash necessary to boot from the sdcard or only from the built-in NAND and eMMC storage?

Interesting that vyos also uses debian packages. And you build kernel from my source :slight_smile:

If you found any patches useful for others i maybe can integrate it in my repo. Have only seen it in the script.but patches applied on my source look not interesting,maybe defconfig changes.

VyOS is based on Debian (as was Vyatta which it was originally forked from years ago), so that’s not surprising. :slight_smile:

It’s indeed nice to see the kernel being pulled from your repo and built from source, so that we get to benefit from the great work you are doing to get these working well on more standard Linux distros than OpenWrt, as well as the mainlining work. :slight_smile:

Thank you very much for your kernel/u-boot source! I list them on the readme.

My repository is essentially just a place for building images, and it doesn’t actually contain many modifications to the kernel or the VyOS build scripts. I’m still fairly new to Linux kernel development, but if I find useful patches in the future, I’ll try submitting PRs to your repository.

1 Like

What you saw before was probably the ISO image I created for x64 devices.

For BPI-R4, please try Release 2025.11.08-1112-rolling-6.17.0-bpi-r4 Ā· KawaiiNetworks/vyos-bpi-r4 Ā· GitHub . You can flash the .img file to SD card.

they are created from different branches.

I haven’t test the hardware flow offloading but I guess If I use the correct kernel source, it should work properly?

Ah yes, you’re right. I didn’t read properly, as it clearly says amd64 in the file name for the first github release. :smile: My bad.

Nice. I’ll try the sdcard image once I have some time to play around with it. :slight_smile: I want to try OpenWrt on the BPI-R4 first for a few days to see how it behaves on a ā€œstableā€ release. I only switched over from my Qotom Intel Atom C3758 based VyOS router a few hours ago.

I guess it should be fairly obvious if the hardware offloading is working with some speed tests once I test it. :slight_smile: As long as PPE support has been implemented in the kernel, it should presumably just work, yes.

I assume that I need to use the serial console to access it and configure basic networking as well as enable SSH on it?

Being able to toggle between booting VyOS (on sdcard) and OpenWrt (on eMMC or NAND) using a hardware switch is pretty sweet. :grinning:

@Canoziia Are you running these builds on your board as your actual router or would you still consider them a work in progress with known bugs? Just curious. :slight_smile:

Thinking of trying them out in that capacity sometime soon.

I’m running the latest build on my board with 6GHz wifi and 4 ethernets on. It’s working fine so far, and I haven’t found serious bugs.

1 Like

That sounds promising. Thank you!

Hopefully the SFP+ slots work properly now. It seemed like the person who had issues mentioned it worked better now, but the Guthub issue is still open.

which issue do you mean? i have no issues with sfp-modules yet…some are not supported due to electrical problem (pull modddef0 after they got power, but r4 needs moddef0 to supply power to the module) as far as i know. my 1G H!Fibre do not work on R4 for example, the 2.5G copper SFP do work (but here the 2500baseX quirk seems broken somehow but now erics phy driver is upstream)

I was talking about the github issue linked below:

It looks like the issue was resolved by moving to a build with your 6.18 kernel, but I the issue hasn’t been closed. I figure that’s because it was forgotten (I forget to do that myself from time to time :smile: ) or because the developer is keeping it open for a while in case further related issues are discovered. :slight_smile:

@Canoziia If VyOS requires the MAC addresses of the network interfaces to be persistent, wouldn’t I also have to set MAC addresses for the two SFP+ slots? Your patch here doesn’t seem to do that:

I assume you simply aren’t using the SFP+ slots?

@frank-w How are you handling this when you run regular Linux on these? Also, as someone who isn’t an expert at reading device tree files, where would I put the MAC addresses if I need to patch the dtsi and dts files? It’s not immediately clear to me since the definitions of the switched RJ45 ports and the SFP+ slots look quite different.

Sfp slots on R4 are gmac1+gmac2 nodes…just add this property there. Such setting has to be done at board level (Bpi-r4 dtsi for wan sfp and for lan the dts)

1 Like