diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-09-14 01:42:29 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-09-14 01:45:55 -0700 |
commit | 46bb1d3157f9ad575c83a4bfa1e32b0d21bc8546 (patch) | |
tree | 28918f653d7cf970d33d5592047ef663289aca40 /gen_soso_iso | |
parent | ded2b24ce28f4a9df75ce40117f0f06f09574369 (diff) | |
download | mu-46bb1d3157f9ad575c83a4bfa1e32b0d21bc8546.tar.gz |
5650 - support a second OS: soso
https://github.com/ozkl/soso + Much smaller than Linux; builds instantly + Supports graphics - No network support - Doesn't work on a cloud server (yet?)
Diffstat (limited to 'gen_soso_iso')
-rwxr-xr-x | gen_soso_iso | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gen_soso_iso b/gen_soso_iso new file mode 100755 index 00000000..5dd2dec5 --- /dev/null +++ b/gen_soso_iso @@ -0,0 +1,44 @@ +#!/bin/sh +# Build one or more .subx files into an ELF binary, and package it up into a +# bootable ISO image with a Soso (https://github.com/ozkl/soso) kernel. +# +# Must be run on Linux. +# +# Soso is published under the 2-clause BSD license. + +set -e + +if [ $# -eq 0 ] +then + echo "Usage: `basename $0` file.subx ..." + exit 1 +fi + +echo "=== building SubX binary" +./ntranslate $* +mv a.elf init +chmod +x init + +echo "=== constructing initramfs out of SubX binary" +dd if=/dev/zero of=initrd.fat bs=8M count=1 +LOOP=`losetup -f` +sudo losetup $LOOP initrd.fat +sudo mkfs.vfat $LOOP +sudo mount $LOOP /mnt +cp init /mnt/ +umount /mnt +losetup -d $LOOP +sync +chown $SUDO_USER:$SUDO_USER initrd.fat + +echo "=== building soso kernel" +( cd kernel.soso + make +) + +echo "=== generating mu-soso.iso" +mkdir -p outfs/boot/grub +cp kernel.soso/grub.cfg outfs/boot/grub +cp kernel.soso/kernel.bin outfs/boot/ +cp initrd.fat outfs/boot/ +grub-mkrescue -o mu_soso.iso outfs |