Skip to content

Running AutoSD on Raspberry pi 4

The Automotive SIG publishes images built via OSBuild based on the OSBuild manifest present in the sample-images repository.

Here is a quick guide on how to get you started with them.

We recommend you start with the gadget image. See Sample OS images for more information about the available prebuilt images.

  1. Update eeprom.

    Note

    If eeprom is out-of-date, you might experience boot failures on Raspberry Pi 4 (rpi4). For more information about how to update eeprom, see the guide.

  2. Download your rpi4 image from https://autosd.sig.centos.org/AutoSD-9/nightly/.

  3. Unpack the image.

    unxz auto-osbuild-rpi4-cs9-gadget-regular-aarch64-*.raw.xz
    
  4. Flash it onto your SD card.

    Important

    Change the block device, shown as /dev/disk0 in the example, according to your system.

    sudo dd if=auto-osbuild-rpi4-cs9-gadget-regular-aarch64-*.raw of=/dev/disk0 status=progress bs=4M; sync
    
  5. Insert the SD card into your Raspberry Pi 4.

  6. Boot the Raspberry Pi 4.
  7. Connect the Raspberry Pi 4.

    Important

    Serial and WiFi are not yet functional.

    Connect to the Raspberry Pi 4 via a USB keyboard or via SSH with an Ethernet cable.

  8. Log in as root or guest using the password: password.

  9. Connect the Raspberry Pi 4 to the internet.

    • Option 1) Connect by using an Ethernet cable if you have one. This is the most simple solution.
    • Option 2) Enable the WiFi adapter on the Raspberry Pi 4:

      # dnf install -y NetworkManager-wifi
      # systemctl restart NetworkManager
      

      List the surrounding WiFi SSIDs and connect to them:

      # nmcli dev wifi list
      # nmcli --ask dev wifi connect <some-wifi-ssid>
      
    • Option 3) If you are not near a router or cannot connect the Raspberry Pi by using an Ethernet cable, use the gadget image. For more information about how to use the gadget image, see USB gadget.

Enable Bluetooth

  1. To enable Bluetooth functionality, install some required packages:

    # dnf install NetworkManager-bluetooth
    # systemctl restart NetworkManager
    
  2. Enable and start the service:

    # systemctl enable --now bluetooth
    
  3. List the available Bluetooth devices:

    # bluetoothctl list
    Controller AA:AA:AA:AA:AA:AA BlueZ 5.56 [default]
    

    Notice the MAC address of the device is listed as AA:AA:AA:AA:AA:AA. This is incorrect, and it indicates that some Linux firmware is missing.

    # cd lib
    # grep -rni . -e firmware/ | grep brcm | grep dracut
    ./dracut/modules.d/62bluetooth/module-setup.sh:37:        /lib/firmware/brcm/*.hcd* \
    
    # ls /lib/firmware/brcm/
    'brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt.xz'  'brcmfmac43455-sdio.MINIX-NEO Z83-4.txt.xz'            'brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt.xz'
    brcmfmac43455-sdio.acepc-t8.txt.xz           brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt.xz  'brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi Compute Module 4.txt.xz'
    brcmfmac43455-sdio.bin.xz                    brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt.xz
    brcmfmac43455-sdio.clm_blob.xz               brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
    

    Notice there are no *.hcd files for any Bluetooth firmware.

  4. Download the required firmware from GitHub:

    # cd ~
    # git clone https://github.com/RPi-Distro/bluez-firmware/tree/master/broadcom
    # cd bluez-firmware/broadcom
    # cp *.hcd /lib/firmware/brcm/
    
  5. Reboot the system:

    # reboot
    
  6. List the available Bluetooth devices again to confirm that the device has a MAC address:

    # bluetoothctl list
    Controller DC:A6:32:B9:6A:DC BlueZ 5.56 [default]
    
  7. Start the device:

    # bluetoothctl
    > power on
    Changing power on succeeded.
    
  8. Put a selected device, such as a controller or a portable speaker, in pairing mode so you can connect it to the Raspberry Pi 4.

  9. Scan for nearby Bluetooth devices:

    > scan on
    ...
    [NEW] Device F4:93:9F:63:7F:6C Wireless Controller
    ...
    
  10. Connect to the device:

    > connect F4:93:9F:63:7F:6C
    
    [bluetooth]# connect F4:93:9F:63:7F:6C
    Attempting to connect to F4:93:9F:63:7F:6C
    [CHG] Device F4:93:9F:63:7F:6C Connected: yes
    [CHG] Device F4:93:9F:63:7F:6C UUIDs: 00001124-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:93:9F:63:7F:6C UUIDs: 00001200-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:93:9F:63:7F:6C ServicesResolved: yes
    [CHG] Device F4:93:9F:63:7F:6C Paired: yes
    Connection successful
    
  11. After the device is connected, exit bluetoothctl:

    > exit
    

© Red Hat