diff options
Diffstat (limited to 'rushmore-linux/rl-build.sh')
| -rwxr-xr-x | rushmore-linux/rl-build.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/rushmore-linux/rl-build.sh b/rushmore-linux/rl-build.sh new file mode 100755 index 0000000..9a00425 --- /dev/null +++ b/rushmore-linux/rl-build.sh @@ -0,0 +1,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" +)
\ No newline at end of file |