Skip to content
PengustPublic

About

Rust OS source manifest: Rust OS, its device and kernel repositories, and the AOSP projects its Android builds from

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust OS manifest

The repo manifest for Rust OS: every repository it is built from, checked out where the build expects it.

file what
default.xml the manifest: aosp.xml and Rust OS's repositories
aosp.xml the AOSP projects Rust OS's Android is built from (528 of android17-release's 1,084), pinned; the ones Rust OS changes come from its forks here (android_build_soong, android_hardware_interfaces, android_packages_modules_Virtualization)
sparse/ for each big AOSP prebuilt, the directories the build reads
prepare.sh checks the tree out after repo init
update.sh takes new AOSP pins from Rust OS's android/tree/

Getting the source

The repositories are private: git needs your GitHub login (gh auth login, then gh auth setup-git).

mkdir rustos-src && cd rustos-src
repo init -u https://github.com/Pengust/manifest --depth=1 \
	--partial-clone --clone-filter=blob:none
.repo/manifests/prepare.sh

prepare.sh syncs, checks the big prebuilts out sparsely, and hides rustos/ from AOSP's build. Run it again to update. The clones are partial: git downloads only files that get checked out.

.                                  AOSP
rustos/envsetup.sh                 the build environment
rustos/os                          the base OS (rustos)
rustos/os/android                  Android on Rust OS (android)
rustos/os/apps/<app>               apps_settings, apps_phone, apps_messages, apps_modem, apps_notifyd
rustos/devices/pc                  device_generic_pc
rustos/devices/nothing_phone2      device_nothing_phone2
rustos/kernels/nothing_pong        kernel_nothing_pong-rustos
rustos/external/hexagonrpc         hexagonrpc (the Phone (2)'s DSP RPC daemon)

Building

. rustos/envsetup.sh
lunch                              # the devices
lunch nothing_phone2-userdebug
m

m builds the kernel, Android, the shell and apps, Rust OS and the root filesystem image into rustos/os/out/<device>. Rust OS's docs/build.md has the targets and what each needs from the build machine.

Updating the AOSP pins

After moving to a new AOSP release, build once in a complete AOSP checkout, run android/tree/lean.sh there, then here:

./update.sh path/to/rustos/os
git commit -a

About

Rust OS source manifest: Rust OS, its device and kernel repositories, and the AOSP projects its Android builds from

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages