Configuring Barebox bootloader for Raspberry Pi CM4 - raspberry-pi

Advice on working with barebox bootloader on Raspberry Pi Cmpute Module 4 will be helpful.
I recently got my hands on a RPi CM4 Lite and now I want to build Yocto image with barebox as bootloader. I have few doubts before I get started.
How should I do the Barebox configuration? For example, for raspberrypi3 we can have machine config in conf/local.conf as:
BAREBOX_CONFIG_raspberrypi3 = "rpi_defconfig"
BAREBOX_IMAGE_SRC_raspberrypi3 = "images/barebox-raspberry-pi-3.img"
COMPATIBLE_MACHINE_pn-barebox_raspberrypi3 = "raspberrypi3"
For RPi CM4, I am using MACHINE="raspberrypi4-64". How should this be used for barebox config?
In order to boot from uSD (for CM4 Lite) how should I copy the bootloader files? Will there be any difference between BCM283x RPi like RPi2/3 and BCM2711 based RPi CM4 Lite? In the Barebox manual steps are given for BCM283x machines.
I am trying to understand how boot process happens for RPi CM4 with barebox bootloader and yocto. My goal is to build an update with RAUC and Barebox.
Has anyone tried to configure barebox for RPi CM4?
Your help will be much appreciated.
Thanks in advance.

Starting with barebox v2022.08.0, there's now first upstream barebox support for the Raspberry Pi 4. There's still stuff missing, e.g. Ethernet for network boot, but Linux can be booted from SD. If you are willing to help with getting it to run on the CM4, you can mention that on the mailing list: https://lists.infradead.org/mailman/listinfo/barebox

Related

How to use the arm trusted firmware with a raspberry pi

I am pretty new to arm architecture. I am trying to understand the arm trusted firmware and how to use it
My test device is a raspberry pi 4 and is currently running Ubuntu.
My question is how to boot the raspberry pi using arm trusted firmware?
Another naive question that follows is can I also boot ubuntu along with this firmware?
I am pretty new to this any help would really be appreciated
Thanks & Regards

Xargo config for Raspberry Pi

I'm learning to build a simple bare metal program (without Linux OS) for Raspberry Pi (gen 1).
However, I don't know how to setup the cross-compiler under the hood of xargo. There are docs on rust-cross about RPI 2 but not about RPI 1.
Is there some example how to do it? I've tried several existing repos on github but all failed to compile.
RPI-Kernel
IronKernel

Installing Bazel on Raspberry pi 3

I am trying to build Bazel from source for Raspberry Pi 3 (Model B). I encounter error
Protobuf compiler not found in third_party/protobuf/protoc-linux-arm32.exe
Earlier I tried downloading the available .deb package which failed to install (even after force architecture, worth noting Pi 3 is a armhf 64 system) as dependency on JDK7 was not resolved. JDK7 is not available through apt-get.
My understanding of Bazel, Protocol Buffer is very limited, Please help me with:
The steps I can take to successfully build Bazel on Raspberry Pi 3
Someone is able to do so or their any repository I can include
directly?
I think it is very much possible to build because Tensorflow repository for Raspberry Pi is successfully installed on Pi 3, which I grabbed from here
There's a guide to building TensorFlow using Bazel on the Pi 3 here that may help:
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/GUIDE.md
You would need to get a version of protobuf compiler 3.0 and put it in third_party/protobuf/protoc-linux-arm32.exe.
I have explained how to build/install Bazel on Raspberry Pi step by step here and for test I have used Raspberry Pi 3B+ 1.4GHz Cortex-A53 Rev. 1.3 with 1GB RAM and 16GB SD card. Thereafter you can use the official TF documentation to build TF on Raspberry Pi.

How to do Simulink model run in Raspberry Pi after power on (booting) as standalone?

I build a Simulink model to control Dc motor, load into the board, stop Simulink model and plug out the power and Ethernet cable.
Does the Simulink model that has been loaded in the Raspberry Pi board work alone after Raspberry Pi power on (booting / startup) without running Simulink model again on the computer via Ethernet connection?
I assume you are using the official support package.
You will find a binary application built for your system in your home directory. The name of the folder is identical to the name of your simulink model.
You can use ssh to connect to your raspberry and start the application manually each time you boot the system. If you wish to start it automatically, check this question.
Make sure to stop the application before you use the support package to load a new application, for example when you update your model and built it again.
You can download the latest supportpackage for Raspberry Pi - 18a
They introduced "Run on Boot" feature at the Simulink config set.
You can directly add a model to startup during deployment.
Refer the supportpackage page for more information.

Does Rebol run well on Raspberry Pi and BeagleBoard?

Are Rebol language implementations small enough to run on cheap experimenter boards like the Raspberry Pi or the BeagleBone? Can it control outputs and GPIO?
I run Rebol 3 on the Raspberry Pi all the time. There is more than enough power to run it. I also wrote a GPIO dialect for Rebol 3 that you can read about in the August 2014 issue of ODROID Magazine (http://magazine.odroid.com) and download from a link in that article. The GPIO dialect was specifically written for ODROID, but could be easily modified for the Raspberry Pi.
Rebol 3 runs well on the Raspberry Pi and I believe it also runs on a BeagleBone.
Use the rebolsource Linux ARMhf build from http://rebolsource.net/
I have not tried using the GPIO functions of the Raspberry Pi yet, but if there is a block device you can read and write to it should be trivial from Rebol.