os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

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