DEV Community

Luca Barbato
Luca Barbato

Posted on • Edited on

Bringing up BPI-F3 - Part 3

Initramfs

Initially I was hoping that it would not be needed, but since the SoC has a remote processor and the defconfig for it enables it, I guess it is simpler to use an initramfs.

Remoteproc firmware

As seen here the remoteproc needs a firmware bit and if you happen to forget about it you'd be welcomed by:

[    4.205609] remoteproc remoteproc0: rcpu_rproc is available
[    4.211421] remoteproc remoteproc0: Direct firmware load for esos.elf failed with error -2
[    4.214379] riscv-pmu-sbi: SBI PMU extension is available
[    4.219790] remoteproc remoteproc0: powering up rcpu_rproc
[    4.225306] riscv-pmu-sbi: 16 firmware and 18 hardware counters
[    4.230776] remoteproc remoteproc0: Direct firmware load for esos.elf failed with error -2
[    4.245106] remoteproc remoteproc0: request_firmware failed: -2
[    4.246235] es8326 2-0019: assuming static mclk
[    4.256170] enter spacemit_snd_sspa_pdev_probe
[    4.301833] usb 2-1: new high-speed USB device number 2 using xhci-hcd
Enter fullscreen mode Exit fullscreen mode

If you like to use dracut all you need is to add to your /etc/dracut.conf.d/firmware.conf is:

install_items+=" /lib/firmware/esos.elf "
Enter fullscreen mode Exit fullscreen mode

If you use Genkernel, set in /etc/genkernel.conf:

# Add firmware(s) to initramfs
FIRMWARE="yes"

# Specify directory to pull from
FIRMWARE_DIR="/lib/firmware"

# Specify a comma-separated list of firmware files or directories to include,
# relative to FIRMWARE_DIR.  If empty or unset, the full contents of 
# FIRMWARE_DIR will be included (if FIRMWARE option above is set to YES).
FIRMWARE_FILES="esos.elf"
Enter fullscreen mode Exit fullscreen mode

as explained here.

Coming next

Now the remaining bits I'd like to have done are having a nicer u-boot configuration and hopefully wrap everything up so we can have a Gentoo image that can be simply flashed to the SD/eMMC/NVMe.

Top comments (0)