loadwarka/build.sh

27 lines
704 B
Bash
Raw Normal View History

2022-01-26 20:19:39 +00:00
#!/bin/sh
set -e
2022-01-27 17:10:51 +00:00
BIN='vendor/cross/root/bin'
2022-01-27 17:56:26 +00:00
SRC='src/x86'
2022-01-26 20:19:39 +00:00
CROSS="$BIN/i386-elf-"
2022-01-27 18:21:06 +00:00
STAGE1_LDFLAGS='--defsym=program_start=0x7c00'
STAGE2_LDFLAGS='--defsym=program_start=0x7e00'
2022-01-27 19:26:06 +00:00
STAGE1_OBJS="$SRC/common.o $SRC/stage1.o"
2022-01-27 19:49:04 +00:00
STAGE2_OBJS="$SRC/common.o $SRC/stage2.o $SRC/main.o"
2022-01-27 18:21:06 +00:00
2022-01-27 00:29:05 +00:00
./clean.sh
2022-01-27 19:02:58 +00:00
${CROSS}gcc -c $SRC/common.S -o $SRC/common.o
2022-01-27 17:56:26 +00:00
${CROSS}gcc -c $SRC/stage1.S -o $SRC/stage1.o
${CROSS}gcc -c $SRC/stage2.S -o $SRC/stage2.o
2022-01-27 19:49:04 +00:00
${CROSS}gcc -c $SRC/main.c -o $SRC/main.o
2022-01-27 18:09:49 +00:00
2022-01-27 18:21:06 +00:00
${CROSS}ld -T$SRC/linker.ld -o $SRC/stage1.bin $STAGE1_LDFLAGS $STAGE1_OBJS
${CROSS}ld -T$SRC/linker.ld -o $SRC/stage2.bin $STAGE2_LDFLAGS $STAGE2_OBJS
2022-01-27 18:09:49 +00:00
./loadwarka mbr mbr.bin $SRC/stage1.bin
2022-01-27 17:56:26 +00:00
cat mbr.bin $SRC/stage2.bin > disk.img