This is the builder repo for AGNOS, our Ubuntu based OS. AGNOS runs on the comma 3X and comma four.
[!NOTE]
Use https://flash.comma.ai if you’re looking to reflash your device to a clean factory state.
AGNOS includes all the software to boot and run a comma 3X and four.
This repo builds the two main parts of that (system and kernel) and packages it all up into a “release”.
Development
Any system that supports a recent Docker should work.
(Optional) Because AGNOS currently packages dependencies that openpilot uses, run ./sync_openpilot_dependencies.sh to update them.
(Optional) The setup, reset, and updater UIs are Python zipapps built from openpilot using release/pack.py. To rebuild them, run from the openpilot repo:
In the event that flashing from building doesn’t work, scripts/download-from-manifest.py allows you to download the latest AGNOS version for flashing.
[!NOTE]
If flashing on M-series Macs, you may need to run brew install libusb and then sudo mkdir -p /usr/local/lib && sudo ln -s /opt/homebrew/lib/libusb-1.0.0.dylib /usr/local/lib/libusb.dylib if getting “No backend available”.
Validating changes:
Running openpilot is a good smoketest for general AGNOS functionality
CI ensures the kernel and system builds work (and pushes the images for you to download)
this is the checklist we go through before shipping new AGNOS releases to openpilot
macOS
Building the kernel on macOS requires agnos-builder to be in a Case-sensitive filesystem.
replace <disk> with the synthesized disk in diskutil list that includes your main volume (e.g. Macintosh HD) - usually disk3 on M-series Macs, disk1 on Intel Macs
agnos is the name of the new volume - can be replaced with an arbitrary name
the volume is mounted automatically in /Volumes/agnos
AGNOS’s main priority is to provide a stable platform to openpilot.
The second priority is to be a good platform for all sorts of robotics development.
Now that AGNOS is good at running openpilot, the next things up are:
speedups: build system, CI, boot time, etc.
cleanups: Android kernel to mainline kernel, simplify the build system, etc.
open source: AGNOS started with a bunch blobs for various things, like the bootloaders and weston. We want to move everything we can to open source versions built in this repo.
agnos-builder
This is the builder repo for AGNOS, our Ubuntu based OS. AGNOS runs on the comma 3X and comma four.
AGNOS includes all the software to boot and run a comma 3X and four. This repo builds the two main parts of that (system and kernel) and packages it all up into a “release”.
Development
Any system that supports a recent Docker should work.
Run once to set things up:
Building
(Optional) Because AGNOS currently packages dependencies that openpilot uses, run
./sync_openpilot_dependencies.shto update them.(Optional) The setup, reset, and updater UIs are Python zipapps built from openpilot using
release/pack.py. To rebuild them, run from the openpilot repo:Build the kernel and system images:
To build using namespace.so remote ARM64 builders, prefix with
NS=1:Flashing
Flashing to a comma 3/3X (Be sure to set your device in QDL mode before flashing. Refer to QDL MODE Section for more information.):
In the event that flashing from building doesn’t work,
scripts/download-from-manifest.pyallows you to download the latest AGNOS version for flashing.Validating changes:
macOS
Building the kernel on macOS requires
agnos-builderto be in a Case-sensitive filesystem.Use this to set it up:
<disk>with thesynthesizeddisk indiskutil listthat includes your main volume (e.g. Macintosh HD) - usuallydisk3on M-series Macs,disk1on Intel Macsagnosis the name of the new volume - can be replaced with an arbitrary name/Volumes/agnosContributing
Join us in the
#dev-agnoschannel on Discord.A comma device is helpful for working on AGNOS, but there’s still lots of interesting work to do without one.
Roadmap
AGNOS’s main priority is to provide a stable platform to openpilot. The second priority is to be a good platform for all sorts of robotics development.
Now that AGNOS is good at running openpilot, the next things up are:
Some concrete things on the roadmap:
firmware/: XBL, ABL, etc.Weston https://github.com/commaai/agnos-builder/issues/16deleted!