diff options
| author | kotorifan <kotorifan05@gmail.com> | 2026-02-03 22:50:32 +0100 |
|---|---|---|
| committer | kotorifan <kotorifan05@gmail.com> | 2026-02-04 09:01:10 +0100 |
| commit | 8a0ab6de92c0e2b4260d6a149c43c58d004d74d9 (patch) | |
| tree | b1bfdc5d119dd01e6c603ddcb40b922e672b6c24 /make.sh | |
| parent | 7ce57a428f4c85771582c7f486c3553cacf80c15 (diff) | |
| download | kotori-os-8a0ab6de92c0e2b4260d6a149c43c58d004d74d9.tar.gz | |
Added common.asm
Diffstat (limited to 'make.sh')
| -rwxr-xr-x | make.sh | 33 |
1 files changed, 15 insertions, 18 deletions
@@ -1,14 +1,11 @@ #!/bin/sh -AS_BOOT="nasm -felf32 -Isrc/boot/" -AS_KERN="nasm -felf32 -Isrc/boot/ -Isrc/kernel/" +AS_BOOT="nasm -fbin -Isrc/boot/ -Isrc/" +AS_KERN="nasm -fbin -Isrc/boot/ -Isrc/kernel/ -Isrc/" SRC_DIR="src" DST_DIR="dst" -LD="ld -T linker.ld -m elf_i386 -nostdlib" -LD_FILE="$DST_DIR/linked.o" + IMG_FILE="disk.img" -ISO_FILE="disk.iso" -NAME="kotoriforth" clean() { @@ -22,27 +19,27 @@ build() clean mkdir -p $DST_DIR/boot mkdir -p $DST_DIR/objs - $AS_BOOT $SRC_DIR/boot/boot.stage1.asm -o $DST_DIR/objs/s1_boot.o - $AS_BOOT $SRC_DIR/boot/boot.stage2.asm -o $DST_DIR/objs/s2_boot.o - $AS_KERN $SRC_DIR/kernel/kernel.asm -o $DST_DIR/objs/kernel.o - - $LD $DST_DIR/objs/s1_boot.o \ - $DST_DIR/objs/s2_boot.o \ - $DST_DIR/objs/kernel.o \ - -o $LD_FILE - - objcopy -O binary $LD_FILE $DST_DIR/$IMG_FILE + $AS_BOOT $SRC_DIR/boot/boot.stage1.asm -o $DST_DIR/objs/s1_boot.bin + $AS_BOOT $SRC_DIR/boot/boot.stage2.asm -o $DST_DIR/objs/s2_boot.bin + $AS_KERN $SRC_DIR/kernel/kernel.asm -o $DST_DIR/objs/kernel.bin + + dd if=/dev/zero of=$IMG_FILE bs=512 count=14336 + + dd if=$DST_DIR/objs/s1_boot.bin of=$IMG_FILE bs=512 count=1 conv=notrunc + dd if=$DST_DIR/objs/s2_boot.bin of=$IMG_FILE bs=512 seek=1 conv=notrunc + dd if=$DST_DIR/objs/kernel.bin of=$IMG_FILE bs=512 seek=10 conv=notrunc } run() { - qemu-system-i386 -cdrom $IMG_FILE + qemu-system-i386 -drive format=raw,file=$IMG_FILE } debug() { - qemu-system-i386 -cdrom $IMG_FILE -S -s + qemu-system-i386 -drive format=raw,file=$IMG_FILE -S -s } + case $1 in "clean") clean ;; "build") build ;; |
