Raspberry Pi¶
Board Identification¶
Identifiers: Raspberry Pi 4 Model B
Yocto MACHINE:: raspberrypi4-64-welma
Documentation:
Features:
- SoC: Broadcom BCM2711, Quad core Cortex-A72 64-bit
- GPU: Broadcom VideoCore VI
- RAM: 1GB, 2GB, 4GB or 8GB LPDDR4
- Storage: microSD
- Ethernet
- Wifi
- Bluetooth
- 4 USB ports
- Video & sound:
- HDMI
- MIPI DSI display
- MIPI CSI camera
- 3.5 mm analogue audio-video jack
- GPIO: 40-pin header
Boot Sequence¶
The default boot sequence from the SD card is as follows:
- GPU: The ROM code starts
- GPU: The ROM code loads the bootloader (bootcode.bin), found in the first MBR partition of the SD card (GPT partitioning not supported), formatted as VFAT, called "/bootloader" hereafter)
- GPU: bootcode.bin initializes the external RAM, starts the firmware loader (start.elf and its variants, found in /bootloader)
- GPU: start.elf starts the CPU, loads the DTB, the command line (from config.txt, cmdline.txt), and starts U-Boot (found in /bootloader) on the CPU
- CPU: U-Boot starts the kernel
- CPU: The kernel mounts the initial ram file system (initramfs) and starts Init
First Installation¶
- On a PC, copy the generate SD card image (
.wic
) file to the SD card:
$ SDIMG=tmp/deploy/images/$MACHINE/welma-image-minimal-dev-$MACHINE.wic
$ gunzip --keep --force $SDIMG.gz
$ sudo dd if="$SDIMG" of=/dev/mmcblk0 bs=1M
- Insert the SD card into the device.
- Your device is ready for booting Welma.
Regular Boot¶
The regular boot is done as follows:
- Insert a programmed SD card.
- Start the board.
Appendix¶
Connecting to the Serial Port¶
In order to debug and investigate the boot sequence, you will need to:
-
Have the bootloader activate the UART, by settings in your
conf/local.conf
and rebuild: -
Copy the generated WIC image to the SD card
- Connect your PC to the serial port (GPIO TX, RX, Ground) at 115200 baud
- Start the board
Connecting to the board via IP/Ethernet¶
-
Connect a cable between your PC and the board.
-
Set up a network interface on your PC (say
eth0
).
By default, Welma Linux has 2 default static link-local IP addresses (on boards that have an Ethernet port):
169.254.0.1
and fe80::1
.
- Connect using
ssh
:
Hardware Watchdog¶
No HW watchdog is started by U-Boot.
One is started and serviced by the Linux kernel, then serviced by systemd:
/sys/class/watchdog/watchdog0 -> ../../devices/platform/soc/fe100000.watchdog/bcm2835-wdt/watchdog/watchdog0
The timeout is 15 s.