diff options
| author | kotorifan <kotorifan05@gmail.com> | 2026-01-31 15:22:00 +0100 |
|---|---|---|
| committer | kotorifan <kotorifan05@gmail.com> | 2026-02-04 09:01:10 +0100 |
| commit | e5c28a46a731a79d02266aa690a90a8f809d0f70 (patch) | |
| tree | 3dfc555f1ca98c97b3f48f035e897e3d0cca07ba /make.sh | |
| parent | dfe4a33865ef01c5068804f77da844cdebd87f00 (diff) | |
| download | kotori-os-e5c28a46a731a79d02266aa690a90a8f809d0f70.tar.gz | |
A20 enable code added
Diffstat (limited to 'make.sh')
| -rwxr-xr-x[-rw-r--r--] | make.sh | 42 |
1 files changed, 34 insertions, 8 deletions
@@ -1,9 +1,11 @@ #!/bin/sh -AS_BOOT=nasm -fbin -SRC_DIR=src -DST_DIR=dst -IMG_FILE=disk.iso +AS_BOOT="nasm -fbin -Isrc/boot/" +SRC_DIR="src" +DST_DIR="dst" +IMG_FILE="disk.img" +ISO_FILE="disk.iso" +NAME="kotoriforth" clean() { @@ -13,18 +15,42 @@ clean() build() { - clean() - $AS_BOOT $SRC_DIR/boot/boot.stage1.asm -o $DST_DIR/s1_boot.bin + clean + mkdir -p $DST_DIR/boot + $AS_BOOT $SRC_DIR/boot/boot.stage1.asm -o $DST_DIR/s1_boot.bin + + dd if=/dev/zero of=$IMG_FILE bs=1M count=2 + dd if=$DST_DIR/s1_boot.bin of=$IMG_FILE conv=notrunc bs=512 count=1 + dd of=$DST_DIR/s2_boot.bin of=$IMG_FILE conv=notrunc bs=512 seek=1 + S2_SECTORS=$(($(wc -c < "$BOOT_S2") / 512)) + dd of=$DST_DIR/kernel.bin of=$IMG_FILE conv=notrunc bs=512 $((1 + S2_SECTORS)) + + xorriso -as mkisofs \ + -b $DST_DIR/$IMG_FILE \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table \ + -iso-level 3 \ + -J \ + -R \ + -V "$NAME" \ + -o $ISO_FILE \ + $ISO_FILE + + if [ -f $ISO_FILE ]; then + echo "Bootable ISO created" + fi + } run() { - qemu-system-x86_64 -cdrom $IMG_FILE + qemu-system-i386 -cdrom $IMG_FILE } debug() { - qemu-system-x86_64 -cdrom $IMG_FILE -S -s + qemu-system-i386 -cdrom $IMG_FILE -S -s } case $1 in "clean") clean ;; |
