Andrei Radulescu e5fae93540 Build kernel in docker (#247)
* build kernel in container

* remove ci deps

* cleaning

* more cleaning

* even more cleaning

* README.md update for masOS Case-sensitive required volume

* README.md more info about macOS

* README.md more info about macOS

* README.md more info about macOS - M-series vs Intel

* README.md more info about macOS - M-series vs Intel

* extract_tools should install and pull lfs no matter the ARCH

* raise attention on macOS Case-sensitive volume

* --privileged not needed in build_kernel.sh

* remove docker and git checks

* set -e

* always build image

* updated host user in container

* also works with sudo/root

* removed deps in ci since they are not needed anymore

* agnos-meta-builder

* show macOS support only if current path is not on a Case-sensitive APFS volume

* more succint

* just exit

* fixing caching issues

* cache kernel out

* cleaning

* debug out

* ccache-action no needed anymore

* debug

* rebuild

* remove out cache

* revert ccache action

* create-symlink not needed since it's building in the container

* simpler ccache key name

* cleaning

* rebuild

* git ignore .ccache

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-07-25 10:47:56 -07:00
2024-05-03 16:56:28 -07:00
2024-01-25 13:52:52 -08:00
2024-05-01 15:55:59 -07:00
2023-12-01 13:32:07 -08:00
2024-07-25 10:47:56 -07:00
2024-07-18 17:12:15 -07:00
2021-09-23 19:08:32 -07:00
2021-09-23 19:08:32 -07:00
2024-07-25 10:47:56 -07:00
2024-01-29 14:12:54 +01:00
2024-07-25 10:47:56 -07:00
2024-07-25 10:47:56 -07:00
2024-04-24 13:39:33 -07:00
2024-04-24 13:52:25 -07:00
2024-07-25 10:47:56 -07:00
2021-09-23 19:08:32 -07:00

agnos-builder

This is the buidler repo for AGNOS, our Ubuntu based OS. AGNOS runs on the comma three devkit and comma 3X.

NOTE: the edk2_tici and agnos-firmware submodules are internal, private repos.

Development

These tools are developed on and targeted for Ubuntu 20.04.

Building requires Docker v23.0 or later and should work on any system that supports it.

Run once to set things up:

git clone https://github.com/commaai/agnos-builder.git

cd agnos-builder
git submodule update --init agnos-kernel-sdm845
./tools/extract_tools.sh

Building

./build_kernel.sh
./build_system.sh

Flashing to a comma 3/3X:

./flash_kernel.sh
./flash_system.sh

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.

Use this to set it up:

diskutil apfs addVolume <disk> "Case-sensitive APFS" agnos
  • 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

Contributing

Join us in the #dev-agnos channel on Discord.

A comma 3/3X 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:

  • 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.

Some concrete things on the roadmap:

S
Description
No description provided
Readme 344 MiB
Languages
Shell 53.7%
Python 37.2%
C 8.1%
Ruby 1%