This repository contains scripts and files necessary to create a functioning munix install. For any questions you may have, or help with setting up a build, ask for help in the below discord server.
Official Discord Server: https://discord.gg/RPpQsG3JH7
Building complete Munix from scratch involves a decent amount of time and computing power, but a build full shouldn't be necissary for most installs.
Git, python3 and curl are required on the host, so get those first!
Create a root dir for munix (this example uses ~/sources/munix
), clone bootstrap
and install xbstrap (from pip)
mkdir ~/sources/munix && cd ~/sources/munix
git clone https://github.com/munix-os/bootstrap src
pip3 install xbstrap
Install xbps and runc
# grab the latest runc from gh, but you could also install via package manager
curl -L https://github.com/opencontainers/runc/releases/download/latest/runc.amd64 > runc
chmod +x runc
# install runc wherever you like, this example puts it in python3's bin dir
mv runc ~/.local/bin/runc
# even if you're on void linux, xbstrap needs its own copy of xbps tools
xbstrap prereqs xbps
First off, grab the latest glibc tarball from here and extract
it to <rootdir>/rootfs
(so ~/sources/munix/rootfs
in this guide). Finally, run the following commands...
mkdir ~/sources/munix/build && cd ~/sources/munix/build
./../src/scripts/setup-container.sh ../rootfs
Building is really simple, and it only involves a couple of commands
xbstrap pull-pack --all
xbstrap install --all
# these two commands install tools for local development, then build the kernel & libc from source
xbstrap download-tool-archive --build-deps-of munix --build-deps-of mlibc
xbstrap install --rebuild munix mlibc mlibc-headers
simply run the following two scripts to create an image, and copy the rootfs over
./../src/scripts/create-image.sh
./../src/scripts/copy-image.sh
You now have a image munix-os.hdd
that you can run in QEMU or copy to a USB!
Running QEMU is a easy one-liner, run ./../src/scripts/run-vm.sh
and pass params as needed