live-bootstrap/rootfs.sh

74 lines
1.7 KiB
Bash
Raw Normal View History

#!/bin/bash
set -ex
2020-12-17 00:25:36 +00:00
pushd sysa
# SYSTEM A
# Setup tmp
mkdir -p tmp/
sudo mount -t tmpfs -o size=8G tmpfs tmp
# base: mescc-tools-seed
2020-12-23 06:02:57 +00:00
# copy in all the mescc-tools-seed stuff
cp -r mescc-tools-seed/x86/* tmp
cp -r mescc-tools-seed/{M2-Planet,mes-m2,mescc-tools} tmp/
2020-12-23 06:02:57 +00:00
# and the kaem seed
2020-12-17 00:25:36 +00:00
cp ../bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/init
cp ../bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/
cp -r ../bootstrap-seeds tmp/
2020-12-23 06:02:57 +00:00
# replace the init kaem with our own custom one
mv tmp/kaem.run tmp/mescc-tools-seed.kaem.run
cp base.kaem.run tmp/kaem.run
# create directories needed
mkdir tmp/bin
2020-12-23 06:02:57 +00:00
# after mescc-tools-seed we get into our own little directory because
# the mescc-tools-seed one is hella messy
mkdir tmp/after/bin -p
mkdir tmp/after/{lib,include}
mkdir tmp/after/include/{mes,gnu,linux,sys,mach}
2021-01-04 21:30:53 +00:00
mkdir tmp/after/include/linux/x86
2020-12-23 06:02:57 +00:00
# put all the kaems for after in
cp after.kaem tmp/
cp after.kaem.run tmp/after/kaem.run
# mescc-tools-extra
cp -r mescc-tools-extra tmp/after/
# blynn-compiler
2020-12-23 06:02:57 +00:00
pushd tmp/after
git clone ../../blynn-compiler-oriansj blynn-compiler
cp ../../blynn-compiler.kaem blynn-compiler/go.kaem
mkdir blynn-compiler/{bin,generated}
popd
# mes
2021-01-04 21:30:53 +00:00
cp -r mes tmp/after/
ln -s lib/x86-mes tmp/after/mes/x86-mes
cp -r nyacc tmp/after/
cp mes.kaem tmp/after/
2021-01-04 21:30:53 +00:00
cp mes-files/mescc.scm tmp/after/bin/
cp mes-files/config.h tmp/after/mes/include/mes/
mkdir tmp/after/mes/{bin,m2}
# General cleanup
find tmp -name .git -exec rm -rf \;
# initramfs
cd tmp
find . | cpio -H newc -o | gzip > initramfs.igz
2020-12-17 00:20:22 +00:00
# Run
qemu-system-x86_64 -enable-kvm \
-m 16G \
-nographic \
-no-reboot \
2020-12-17 00:25:36 +00:00
-kernel ../../kernel -initrd initramfs.igz -append console=ttyS0,kernel.panic=2
cd ../..
2020-12-17 00:25:36 +00:00
# Cleanup
sudo umount sysa/tmp