Artificial Intelligence

AWS DeepRacer Developers Gain Freedom with New Bootloader Enabling Custom Operating Systems

The landscape of machine learning development for autonomous vehicles has been significantly reshaped with the recent release of a custom bootloader for the AWS DeepRacer platform. This pivotal update empowers developers to break free from the constraints of stock firmware and software, allowing for the installation and utilization of modern, custom operating systems. This development not only extends the functional lifespan of existing AWS DeepRacer hardware but also unlocks a new era of innovation, research, and educational possibilities within the machine learning community.

For developers engaged with the AWS DeepRacer, a 1/18th scale autonomous race car driven by reinforcement learning models, the inability to update the device’s operating system had become a growing impediment. Originally shipped with secure firmware that only supported AWS-signed operating systems, primarily older versions of Ubuntu (16.04 and 20.04), the devices were facing obsolescence as these distributions reached their end-of-life. This situation posed a significant challenge for ongoing experimentation and research, hindering the adoption of newer machine learning frameworks and algorithms. The newly released bootloader directly addresses this limitation, offering a pathway to authorize and run custom and modified software, thereby revitalizing the platform.

A New Dawn for DeepRacer Customization

The core of this innovation lies in a newly developed bootloader, built upon the robust foundation of the open-source shim project. This "developer shim" provides a self-service mechanism for developers to install and run operating systems beyond those officially sanctioned by AWS. The implications are far-reaching: developers can now deploy modern Linux distributions, integrate custom hardware drivers, leverage contemporary software stacks, and embark on novel educational projects. Furthermore, it provides a fertile ground for prototyping and testing cutting-edge algorithms for vehicle autonomy, accelerating the pace of discovery in the field.

The developer shim operates with a clear emphasis on transparency and developer control. Upon booting, the device visually signals its operational mode through a distinctive Morse code pattern of "DEVELOPER MODE" displayed on its integrated lights. This visual cue is designed to keep users informed about the device’s security posture. Following this indicator, the shim seamlessly transfers control to the installed operating system, ensuring a smooth transition for the user. Crucially, the process is entirely reversible, allowing developers to revert to the original stock configuration by following established update procedures for their AWS DeepRacer vehicle.

Technical Underpinnings of Developer Freedom

The developer shim’s functionality is underpinned by three key technical elements, designed to provide both flexibility and security:

  • Self-Service Certificate Management: A critical aspect of secure boot processes is the verification of software integrity. When the device’s built-in signature verification fails, the developer shim intelligently looks for developer certificates within a designated directory on the device’s boot partition (/EFI/DEVELOPER/certs/). This allows developers to manage their own cryptographic keys using standard tools like OpenSSL and sbsign, maintaining a robust level of security while enabling the use of custom software. This approach ensures that while developers have the freedom to install their own software, it must still adhere to a verifiable cryptographic standard.

  • Clear Visual Warnings: The developer shim prioritizes user awareness. When custom developer certificates are in use, the device provides unambiguous visual indicators. This transparency is crucial for users to understand the security context of their device and the software it is running. This feature is particularly important in an educational context, where users might be experimenting with various configurations.

  • Standard Verification Workflow: The solution adheres to industry-standard certificate-based signing practices. This makes it accessible to developers already familiar with secure boot environments and cryptographic principles. By enabling developers to provide their own certificates, the system ensures that the cryptographic integrity of the boot chain and the operating system remains intact, even with custom installations. This blend of flexibility and security is a hallmark of modern development platforms.

Community Momentum and a Glimpse of the Future

The impact of this bootloader is already being felt within the vibrant AWS DeepRacer community. Members of the open-source AWS DeepRacer community at deepracing.io have swiftly leveraged the developer shim to create a new, custom distribution. This distribution is built upon a modern Ubuntu 24.04 operating system and integrates the ROS2 Jazzy software stack, complemented by a Cloudscape-based user interface. This community-driven initiative serves as a powerful testament to the bootloader’s capabilities, offering a ready-to-deploy solution for developers eager to get started with enhanced functionality.

This community distribution has been meticulously optimized for racing performance, with non-essential packages, including the graphical X Window System, removed to maximize efficiency. Developers seeking a desktop experience can, however, reintegrate it according to their needs. The project’s README file provides comprehensive installation instructions, making the transition straightforward. The DeepRacing community’s ongoing efforts, facilitated by the developer shim, promise to maintain and distribute updated software for AWS DeepRacer devices, significantly extending their operational lifespan and keeping them relevant for cutting-edge research and development. The custom distribution is readily available on GitHub for exploration and adoption.

Navigating the Path to Customization

The developer shim offers a flexible framework catering to various usage patterns. Developers can choose to upgrade their existing devices with a community distribution, install a standard third-party operating system, or even craft their own bespoke OS. The specific steps involved will naturally vary based on the chosen path.

  • Option A: Community Distribution Installation: For a streamlined experience, developers can opt for the Ubuntu 24.04 Community Distribution. This pre-packaged solution simplifies the installation process, eliminating the need for manual Linux installation and boot process reconfiguration. The installation method closely mirrors that of the original AWS distribution, ensuring a familiar and user-friendly deployment.

  • Option B: Third-Party Distributions: Developers seeking greater control over the installation process can utilize the developer shim when installing third-party distributions such as Ubuntu. This typically involves installing the desired OS first, then replacing the BOOTX64.EFI file with the developer shim and incorporating the necessary certificates. This process might require repetition for both the installation media and the device itself post-installation. Detailed guidance can be found within the USAGE.md file included with the developer shim package.

  • Option C: Custom OS Development: For those building entirely custom operating systems for the AWS DeepRacer, the process involves creating a dedicated boot volume on the device. The developer shim is placed at EFI/BOOT/BOOTX64.EFI, and the custom OS kernel or bootloader is designated as EFI/BOOT/GRUBX64.EFI. The public certificate for the kernel is then stored under the DEVELOPER/certs path. Comprehensive instructions for this advanced scenario are also detailed in the USAGE.md file.

Understanding the Boot Sequence

The boot process with the developer shim is designed to be informative and secure. Upon powering on the device, the firmware loads the BOOTX64.EFI developer shim, which then assumes control. During this initial stage, a visual warning is presented on an attached HDMI monitor, and the "DEVELOPER MODE" message is blinked in Morse code on the device’s lights, typically taking around 21 seconds to complete. Following this preparatory phase, the developer bootloader proceeds to load the operating system’s kernel. A key distinction from the original firmware is the developer bootloader’s rigorous signature check of this kernel against a customizable local certificate store located at /EFI/DEVELOPER/certs. Only if the signature successfully matches does the developer shim transfer execution to the operating system kernel, allowing the boot process to continue normally. This layered approach ensures that only authenticated and authorized kernels can initiate the operating system.

Synergy with Self-Managed AWS DeepRacer

The introduction of the bootloader shim, alongside the self-managed solution released in early 2026, marks a significant milestone in providing developers with comprehensive control over their AWS DeepRacer ecosystems. This dual release grants developers end-to-end flexibility, empowering them to customize on-device software stacks, experiment with new ROS2 packages, and rapidly iterate on racing models. The ability to fine-tune both the cloud-based training environments and the physical devices offers an unprecedented level of agility for machine learning practitioners. Further details on the self-managed solution can be found on the DeepRacer on AWS documentation pages.

Getting Started with Enhanced Capabilities

To embark on this journey of enhanced customization, developers are encouraged to first explore the broader DeepRacer on AWS Solution. Subsequently, the developer shim can be downloaded as a zip file. To prepare a boot medium for a new custom operating system, the BOOTX64.EFI shim file should be placed within the EFI/BOOT directory. The chosen operating system kernel should be stored as GRUBX64.EFI, and its corresponding public certificate must be placed in the EFI/DEVELOPER/CERTS directory in x509 DER format. It is important to note that this procedure may need to be applied to both the operating system installation media and the device itself after the initial installation. For in-depth technical documentation, troubleshooting guides, and advanced usage scenarios, the USAGE.md file within the developer shim zip archive is an indispensable resource.

Alternatively, developers can opt for the community distribution, readily available and incorporating the developer bootloader from the outset, simplifying the setup process for a fresh install.

Conclusion: Unlocking the Full Potential of AWS DeepRacer

The introduction of the custom bootloader represents a transformative development for the AWS DeepRacer platform. By enabling the use of modern operating systems, tools, and software stacks, it significantly extends the utility of the device as an educational and development environment. Developers now possess the freedom to customize their operating system installations or leverage sophisticated community distributions, pushing the boundaries of what is possible with this versatile hardware.

To begin this exciting new chapter, developers can download the developer bootloader from the provided link and consult the detailed instructions in the USAGE.md file. Further exploration of the Community Distribution offers a practical starting point for immediate implementation. As part of the broader DeepRacer on AWS Solution, this enhancement empowers continued learning and innovation in machine learning. The possibilities are now limited only by imagination, inviting developers to share their creations and advancements on platforms like builder.aws.com, fostering a collaborative and rapidly evolving ecosystem.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button