diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-01 18:22:19 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-01 18:42:48 -0800 |
commit | 65409d2312e702a48d3cf5b32479d25266bda3c3 (patch) | |
tree | 62a7262fce61f2302109246da4536ce6f8e9ef80 /tools/iso/soso | |
parent | a6da50ad30d2e1825575ffef497ab450a8f26e94 (diff) | |
download | mu-65409d2312e702a48d3cf5b32479d25266bda3c3.tar.gz |
5858
Move script to create a Soso boot image into a sub-directory. I'm trying to streamline newcomer attention to just a couple of use cases.
Diffstat (limited to 'tools/iso/soso')
-rwxr-xr-x | tools/iso/soso | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/iso/soso b/tools/iso/soso new file mode 100755 index 00000000..327207cb --- /dev/null +++ b/tools/iso/soso @@ -0,0 +1,42 @@ +#!/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, and from the top-level mu/ directory. +# +# 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" +./translate_subx $* + +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 +mv a.elf /mnt/init +umount /mnt +losetup -d $LOOP +sync +chown $SUDO_USER:$SUDO_USER initrd.fat + +echo "=== building soso kernel" +( cd tools/iso/kernel.soso + make +) + +echo "=== generating mu_soso.iso" +mkdir -p outfs/boot/grub +cp tools/iso/kernel.soso/grub.cfg outfs/boot/grub +cp tools/iso/kernel.soso/kernel.bin outfs/boot/ +cp initrd.fat outfs/boot/ +grub-mkrescue -o mu_soso.iso outfs |