[LITMUS^RT] Litmus on single-board computer

Björn Brandenburg bbb at mpi-sws.org
Tue Dec 12 03:36:58 CET 2017


> On 10. Dec 2017, at 20:12, Martinez Garcia Jorge Luis (DGS-EC/ESB2) <JorgeLuis.MartinezGarcia at de.bosch.com> wrote:
> 
> Dear Björn,
> Thank you once again for the update. I tried to port Litmus-rt to the Raspberry Pi (local building). I have one RP 3 (version 2) and my operating system is Raspbian Stretch with Desktop(4.9) – I also tried the Lite version . To do so I did the following (more or less the same as https://www.litmus-rt.org/installation.html)
>  
> $ sudo apt install libncurses-dev git libssl-dev bc
> $ cd mkdir litmus
> $ cd litmus
> $ export=/home/pi/litmus
> $ git clone https://github.com/LITMUS-RT/litmus-rt.git
>  
> # I got the Raspbian sources and generated a .config file based on bcm2709_defconfig
> $ cd 
> $ git clone --depth=1 https://github.com/raspberrypi/linux
> $ cd linux
> $ make bcm2709_defconfig
>  
> $ cd $DIR/litmus-rt
> $ cp ~/linux/.config .config
> # I adjusted the .config files as described in the Litmus-rt documentation 
> $ make menuconfig
>  
> $ make -j4 zImage modules dtbs
> $ sudo make modules_install
> $ sudo make install ß I already made my /boot partition in my SD card greater than 1 GB
>  
> $ sudo cp arch/arm/boot/dts/*.dtb /boot/ ß I didn’t see any dtb files related to the RP 3
> $ sudo cp arch/arm/boot/zImage /boot/kernel-litmus.img
>  
> # I appended ‘kernel=kernel-litmus.img’ to the config.txt file so that the litmus kernel could be selected during boot
> $ sudo nano /boot/config.txt
>  
> $ sudo reboot 
>  
>  
> Unfortunately it got stuck on the rainbow screen which means that the system is not booting my image. Since you got it running on the RP, can you please shed some light on this matter?  
> 

Hi Jorge,

I’m successfully booting an aarch64 kernel on an RPi3 with the Arch Linux aarch64 image (https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3). I have no experience using the Raspbian image. 

My base kernel tree is just vanilla Linux 4.9.30 plus one RPi3-specific patch that I took from Arch Linux.

	https://github.com/archlinuxarm/PKGBUILDs/blob/cc8063b717385038c79befd86f6ba250bfbc1066/core/linux-aarch64/0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch

Without this patch, I cannot successfully bring up the network. 

On top of this base Linux kernel, I’m just adding the LITMUS^RT patches from the master branch with git cherry-pick. 

	git cherry-pick v4.9.30..github/linux-4.9-litmus

I’m cross-compiling the result with the Linaro 4.9-2016.02 toolchain. The resulting kernel works for me. 

The compilation produces the following dtbs file, which is needed to boot the RPi3.

	arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb

Hope this helps…

Best,
Björn




More information about the litmus-dev mailing list