[BPI-M7] ArchLinuxArm build script

Today I received my BPI-M7 (ArmSoM-Sige7).

So I can now introduce my buildscript for the BPI-M7. Still in Alfa phase, but the boards boots. Should even be able to boot from nvme :slight_smile:

It boots mainline U-Boot and mainline linux (collabora version).

For now, only input/output on UART2 (on 40pin header). Be carefull, 3.3V only!

So only booting until command prompt tested, the rest all still have to test.

1 of the two ethernet ports should be setup to have an ip number (still have to figure out which one). Should be ssh access to it.

1 Like

So after testing, the build image looks pretty good:

  • u-boot mainline
  • linux based on linux-6.10-rc1, with collabora’s patches, so no more rockchip-linux
  • nvme is recognized
  • gnome running ok
  • mesa seems to work ok (panfrost/panthor)
  • ffmpeg-v4l2-request decoding seems to use the hantro-vpu, after adding vpu to dts
  • outer rj45 gets ip which is entered during setup

Building image with script works fine, no need to fix secondary gpt. However, I also have some prebuild images here:

www.woudstra.mywire.org/images/

Use the command sudo rockchip-postinstall to install gnome + mesa + ffmpeg-v4l2request-git (and kodi, still working on it).

1 Like

@koutheir

I do not have a pre-build image ready, but I have a script that will create one.

ericwoud/buildRKarch: Build script for building an image for Rockchip devices running ArchLinux (RK3288/RK3588 for now) (github.com)

The script itself runs on Debian/Ubuntu/Archlinux x86-64. Follow the readme.

I am running an image created by his script daily, but it has been a while since I tested the script itself, should be okay.

You could give this a try, if you are interested in Archlinuxarm, or I could build an image already if you do not have a system to run the script.

It is mainline U-Boot, Collabora’s mainline linux kernel fork (a few months old, so no hdmi-rx)

Postinstall script installs standard Gnome, Mesa, Kodi and a patched ffmpeg (from LibreElec) for hardware decoding.

So no tweaks and no extensive tests done. You can use it to start with and tweak further, but this is not suitable if you just need a ready to go image with everything immediately functional 100%.

@koutheir

I now have a prebuild image ready, just to check if this does boot…

http://woudstra.mywire.org/images/bpim7-server.img.gz

Or check:

ftp://ftp.woudstra.mywire.org/images/

Thank you for your efforts, Eric!

I tried it with a serial console. It boots successfully and reaches a login prompt. I logged in as root/password=admin. I run a few commands, mainly checking for the presence of the RockChip NPU module, as that is my main use case for this board, but I couldn’t find the kernel object file (rknpu.ko) nor was the rknpu module built into the kernel.

I didn’t try to build the image on my machine, but instead used your provided image file bpim7-server.img. I use ArchLinuxARM daily on other boards and I love it. My use case for this board requires the availability of the NPU module, so I cannot use verbatim ArchLinuxARM, as the RKNPU module has not been integrated into the mainline Linux kernel.

I didn’t try anything graphical as I don’t use that on this board. I didn’t even connect an HDMI cable. If you’d like me to test things, then I can do so from time to time.

I’d be totally fine using vanilla ArchLinuxARM with the RKNPU module, but doing that on my own is probably a tall order, at least for now.

The npu was submitted upstream in june. Don’t know exactly the status. So it is already there and only need to add kernel options, or you may need to add the patches to kernel and mesa.

At least you know your board can boot properly.

Do you know if the module was accepted into the mainline kernel?

Changing a few kernel configuration options shouldn’t be a big deal, but patching the kernel requires more knowledge that what I currently have.

So far, the boards boots correctly with your provided image, and with the Armbian unofficial 24.5.0 provided in the Banana Pi M7 documentation but only when the package linux-dtb-legacy-rk35xx is not upgraded (I held its current version in apt). The Armbian unofficial 24.5.0 provides the rknpu module, so I’m currently running that.