diff options
author | Kartik Agaram <vc@akkartik.com> | 2021-01-12 23:04:06 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2021-01-12 23:04:06 -0800 |
commit | 8a81faecbe3c4bb2dbcbfc427f694b7932a1c5e5 (patch) | |
tree | 9066ba533c0b412ce0e8c924f0f3fc8d5b916e6e /translate_subx_baremetal_emulated | |
parent | fcad74b7b102e68ecdc564fc03621b6dd6f495eb (diff) | |
download | mu-8a81faecbe3c4bb2dbcbfc427f694b7932a1c5e5.tar.gz |
7506
Diffstat (limited to 'translate_subx_baremetal_emulated')
-rwxr-xr-x | translate_subx_baremetal_emulated | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/translate_subx_baremetal_emulated b/translate_subx_baremetal_emulated new file mode 100755 index 00000000..6a75cac7 --- /dev/null +++ b/translate_subx_baremetal_emulated @@ -0,0 +1,34 @@ +#!/bin/sh +# Translate given SubX files to 'baremetal', a raw disk image that can boot and +# run without any OS. +# +# This script uses emulation, so it does not require x86 or Linux. However it +# is slow. + +set -e + +./build + +cat $* |./bootstrap run apps/braces > a.braces + +cat a.braces |./bootstrap run apps/calls > a.calls + +cat a.calls |./bootstrap run apps/sigils > a.sigils + +cat a.sigils |./bootstrap run apps/tests > a.tests + +# no assort since baremetal SubX doesn't have segments yet + +cat a.tests |./bootstrap run apps/dquotes > a.dquotes + +cat a.dquotes |./bootstrap run apps/pack > a.pack + +cat a.pack |./bootstrap run apps/survey_baremetal > a.survey + +cat a.survey |./bootstrap run apps/hex > a.bin + +# Create disk.img containing baremetal/boot.hex and a.bin +dd if=/dev/zero of=disk.img count=20160 # 512-byte sectors, so 10MB +./bootstrap run apps/hex < baremetal/boot.hex > boot.bin +cat boot.bin a.bin > disk.bin +dd if=disk.bin of=disk.img conv=notrunc |