Build the IFS image used by U-boot (commandline)

QNX Board Support Packages8.0BSP User's GuideRaspberry Pi 5raspberrypi.orgBroadcomARM

You can use the commandline on Linux to build IFS images which can be used by U-boot.

Makefile targets in the BSP

The Makefile is located under the $BSP_ROOT_DIR/images directory. It defines additional targets which are not built by default:

ifs-rpi5.raw
Builds the QNX IFS image which is used by the U-boot "go" command to boot.

Boot using U-boot "go" command

Below is the example how to used U-boot go command to boot QNX IFS image:

U-Boot> fatload mmc 0 0x3df3fa00 bcm2712-rpi-5-b.dtb
77755 bytes read in 5 ms (14.8 MiB/s)
U-Boot> fatload mmc 0 0x80000 ifs-rpi5.raw
32522360 bytes read in 1353 ms (22.9 MiB/s)
U-Boot> go 0x80000 ${fdtcontroladdr}
## Starting application at 0x00080000 ...
.....
Hypervisor support disabled
MMU: 16-bit ASID 40-bit PA TCR_EL1=00000012b5183519
GICv2: 320 interrupts
GICv2: routing SPIs to gic cpu 0
cpu0: MPIDR=0000000081000000
cpu0: MIDR=414fd0b1 Cortex-A76 r4p1
cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu0: CLIDR=c3000123 LoUU=0 LoC=3 LoUIS=0
cpu0: L1 Icache 64K linesz=64 set/way=256/4
cpu0: L1 Dcache 64K linesz=64 set/way=256/4
cpu0: L2 Unified 512K linesz=64 set/way=1024/8
cpu0: L3 Unified 2048K linesz=64 set/way=2048/16
cpu0: GICv2 cpu interface 0
Loading IFS...done
cpu1: MPIDR=0000000081000100
cpu1: MIDR=414fd0b1 Cortex-A76 r4p1
cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu1: CLIDR=c3000123 LoUU=0 LoC=3 LoUIS=0
cpu1: L1 Icache 64K linesz=64 set/way=256/4
cpu1: L1 Dcache 64K linesz=64 set/way=256/4
cpu1: L2 Unified 512K linesz=64 set/way=1024/8
cpu1: L3 Unified 2048K linesz=64 set/way=2048/16
cpu1: GICv2 cpu interface 1
cpu2: MPIDR=0000000081000200
cpu2: MIDR=414fd0b1 Cortex-A76 r4p1
cpu2: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu2: CLIDR=c3000123 LoUU=0 LoC=3 LoUIS=0
cpu2: L1 Icache 64K linesz=64 set/way=256/4
cpu2: L1 Dcache 64K linesz=64 set/way=256/4
cpu2: L2 Unified 512K linesz=64 set/way=1024/8
cpu2: L3 Unified 2048K linesz=64 set/way=2048/16
cpu2: GICv2 cpu interface 2
cpu3: MPIDR=0000000081000300
cpu3: MIDR=414fd0b1 Cortex-A76 r4p1
cpu3: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu3: CLIDR=c3000123 LoUU=0 LoC=3 LoUIS=0
cpu3: L1 Icache 64K linesz=64 set/way=256/4
cpu3: L1 Dcache 64K linesz=64 set/way=256/4
cpu3: L2 Unified 512K linesz=64 set/way=1024/8
cpu3: L3 Unified 2048K linesz=64 set/way=2048/16
cpu3: GICv2 cpu interface 3

System page at phys:0000000000095000 user:ffffff8040208000 kern:ffffff8040204000
Starting next program at vffffff8060072e30
syspage::hypinfo::flags=0x00000000

Welcome to QNX 8.0.0 on RaspberryPi5 !

Starting WatchDog ...
Starting PCI Server ...
Starting serial driver (/dev/ser10)
RP1 support 61 MSI-X IRQs, setup 6 IRQs
Starting SPI driver
Starting SDMMC driver (/dev/sd0)
Starting USB xHCI controller in the host mode (/dev/usb/*)...
Starting devf-ram filesystem ...
Starting networking ...
Starting DHCP client ...
Starting SSH daemon ...
Starting I2C driver
Starting fan control driver
Starting shell ...
#
Page updated: