blob: 9a00425a2acfe702fe4d4acddf07ecc35670f3da (
plain)
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
|
#!/usr/bin/env bash
set -euo pipefail
DIR="$(cd "$(dirname "$0")" && pwd)"
OUT="$DIR/out"
echo "Compiling userspace programs..."
CFLAGS="-static -O2 -s --sysroot $OUT/sysroot -nostdinc -isystem $OUT/sysroot/usr/include"
echo "rlinit"
musl-gcc $CFLAGS rlinit/rlinit.c -o "$OUT/rlinit"
echo "rlws"
musl-gcc $CFLAGS rlws/rlws.c -o "$OUT/rlws"
echo "Creating rootfs..."
ROOTFS="$DIR/out/rootfs"
mkdir -p "$ROOTFS/dev"
mkdir -p "$ROOTFS/proc"
mkdir -p "$ROOTFS/sys"
cp "$OUT/rlinit" "$ROOTFS/init"
cp "$OUT/rlws" "$ROOTFS/rlws"
echo "Creating initranfs..."
(
cd "$ROOTFS"
find . -print0 \
| cpio --null -ov --format=newc \
| gzip -9 > "$DIR/out/initramfs.cpio.gz"
)
|