kernel.sh (1093B)
1 #!/bin/bash 2 3 MACHINE="x86_64" 4 5 LIBS="bufio.om lib.om alloc.om syscall.om syscall.${MACHINE}.om" 6 CRYPTO="ed25519.om sha512.om sha256.om chacha20.om poly1305.om aes.om rsa.om" 7 BIN="echo cmp rm ls cat xxd mv mkdir cpio sh sshd init cc1" 8 9 ./cc1 -m ${MACHINE} ${LIBS} echo.om -o echo -n echo.lines 10 ./cc1 -m ${MACHINE} ${LIBS} cmp.om -o cmp -n cmp.lines 11 ./cc1 -m ${MACHINE} ${LIBS} rm.om -o rm -n rm.lines 12 ./cc1 -m ${MACHINE} ${LIBS} mv.om -o mv -n mv.lines 13 ./cc1 -m ${MACHINE} ${LIBS} mkdir.om -o mkdir -n mkdir.lines 14 ./cc1 -m ${MACHINE} ${LIBS} ls.om -o ls -n ls.lines 15 ./cc1 -m ${MACHINE} ${LIBS} cat.om -o cat -n cat.lines 16 ./cc1 -m ${MACHINE} ${LIBS} xxd.om -o xxd -n xxd.lines 17 ./cc1 -m ${MACHINE} ${LIBS} cpio.om -o cpio -n cpio.lines 18 ./cc1 -m ${MACHINE} ${LIBS} sh.om -o sh -n sh.lines 19 ./cc1 -m ${MACHINE} ${LIBS} ${CRYPTO} sshd.om -o sshd -n sshd.lines 20 21 for name in ${BIN}; do echo ${name}; done | ./cpio -o > initramfs 22 ./cc1 -m ${MACHINE} kernel.${MACHINE}.om -o kernel.${MACHINE} -n kernel.${MACHINE}.lines 23 24 nasm -f bin mbr.asm -o mbr 25 cat mbr kernel.${MACHINE} > disk 26 truncate -s '>2M' disk