Atmosphere is a proving ground for novel isolation techniques and formal verification, written in Rust.
We use Nix to manage development dependencies. Install Nix with the following command:
# Using https://github.com/DeterminateSystems/nix-installer
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installFirst enter nix
nix developYou can now build and run Atmosphere with cd kernel && cargo run.
Atmosphere builds with atmo, a build system that extends Cargo.
Run atmo help for more information.
atmo verify- Copy the bootable binaries. If you have built with
debugmode, look for the below binaries under thedebugdirectory instead ofrelease.
sudo cp target/x86_64-unknown-none/release/aloader /boot/
cat target/x86_64-unknown-aloader/release/{kernel,dom0} | sudo tee /boot/atmo >/dev/null- Add menuentry to grub.cfg (
/boot/grub/grub.cfg)
menuentry "Atmosphere" {
set root=(hd0,msdos1)
echo "Loading Atmosphere..."
multiboot2 /boot/aloader
module2 /boot/atmo atmo
boot
}
- Update grub and reboot to select Atmo from the grub menu
sudo update-grub && sudo rebootWire up IPI for killing threads and TLB flush.
Wire up hugepages.
Kill container (halfway there..).
Bring back verification for Kernel init().
Adjust triggers in ProcessManager (almost there).