-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
32 lines (31 loc) · 1.36 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Mage Build
==========
Mage GNU/Linux's image builder. The goal of that toolset is to build a minimal
image capable of building itself. It will later be used to build full versions
of mage. All packages are statically built against musl-libc to be able to
easily move binaries and avoid the problems of dynamic linking.
The main script mk.sh has 3 options, -n which initialize a new image, -i which
installs a new package and -b which builds the final image.
To build an image, you will need a compiler targetting musl, which you can
obtain with mussel or musl-cross-make if you are not on a distribution shipped
with musl.
The typical build looks like this:
---
./mk.sh -n # Create the image
./mk.sh -i kernel busybox init musl make binutils gcc ... # Install packages
./mk.sh -b # Finish the image
---
You can now use qemu on the image at output/image.
TODO
====
[ ] Check checksums
[ ] Proper messages
[ ] Clean the code
[ ] Improve security
[ ] Add hardened_malloc to musl
[ ] Add SELinux
[ ] Change boot command line
[ ] Write a new bootloader to replace GNU/GRUB with something simpler
[ ] Separate linux and linux headers (Maybe - since its a temporary environment,
we don't expect the kernel to be updated, and this separation might only
make sense on the final system)