View a markdown version of this page

Option C: Install a custom OS on an original AWS DeepRacer device - DeepRacer on AWS

Option C: Install a custom OS on an original AWS DeepRacer device

If you own an original AWS DeepRacer device (Intel Atom-based), you can install a modern operating system using the developer bootloader shim. This option requires no hardware modifications, no soldering, and no additional purchases. The developer bootloader shim is based on the open-source shim project on the GitHub website.

The developer bootloader shim replaces the factory boot process and transfers control to your custom operating system. You can choose from three sub-options depending on your needs.

Developer mode security implications

Installing the developer bootloader shim places your device into developer mode, which disables the factory Secure Boot chain. In developer mode, the device boots only operating systems signed with certificates that you provide. We do not provide support for devices running in developer mode.

Option C1: Install the community distribution

The AWS DeepRacer Community on the GitHub website provides a ready-to-use Ubuntu 24.04 distribution with ROS2 Jazzy pre-configured for the original AWS DeepRacer hardware. This is the fastest path if you want a modern, fully compatible software stack.

To install the community distribution, follow the instructions in the Installation section of the AWS DeepRacer Community custom car repository on the GitHub website.

Option C2: Install a third-party distribution

You can use the developer bootloader shim to install a third-party operating system (such as Ubuntu) on your AWS DeepRacer device.

To install a third-party distribution:

  1. Download the developer bootloader shim.

  2. Prepare the boot volume of the third-party OS.

  3. Rename the original bootloader to EFI/BOOT/GRUBX64.EFI.

  4. Replace the default EFI/BOOT/BOOTX64.EFI file with the developer bootloader shim.

  5. Place your public signing certificate in DER (Distinguished Encoding Rules) format in the EFI/DEVELOPER/certs/ directory.

  6. Sign the OS kernel and bootloader with your private key.

  7. Boot the device from the prepared volume.

For detailed instructions, refer to the USAGE.md file included in the developer bootloader shim download.

Option C3: Build and install a custom OS

You can build and install a fully custom operating system on the original AWS DeepRacer device.

To build and install a custom OS:

  1. Download the developer bootloader shim.

  2. Create a boot volume with the following structure:

    EFI/
    ├── BOOT/
    │   ├── BOOTX64.EFI      (developer bootloader shim)
    │   └── GRUBX64.EFI      (your OS kernel or bootloader)
    └── DEVELOPER/
        └── certs/
            └── your-cert.der (your public signing certificate)
  3. Place the developer bootloader shim as EFI/BOOT/BOOTX64.EFI.

  4. Place your OS kernel or bootloader as EFI/BOOT/GRUBX64.EFI.

  5. Place your public signing certificate in DER (Distinguished Encoding Rules) format in the EFI/DEVELOPER/certs/ directory.

  6. Sign your OS kernel with the corresponding private key.

  7. Boot the device from the prepared volume.

For detailed instructions, refer to the USAGE.md file included in the developer bootloader shim download.

Getting started

To get started with any Option C sub-option:

  1. Download the developer bootloader shim.

  2. Extract the archive and review the USAGE.md file for detailed instructions specific to your chosen sub-option.

Early boot sequence

When the developer bootloader shim starts, it blinks "DEVELOPER MODE" in Morse code on the device LEDs. This sequence takes approximately 21 seconds. After the Morse code sequence completes, the shim checks for valid certificates in /EFI/DEVELOPER/certs/. If a valid signed operating system is found, the shim transfers control to it.

Returning to original configuration

To restore your device to its original factory configuration, follow the directions in the Update and restore your vehicle chapter.

For more information about the developer bootloader shim, see Custom OS installation now available on AWS DeepRacer devices on the AWS Machine Learning Blog.