@@ -20,17 +20,19 @@ echo -e "\nBuilding..."
nasm ./boot/bootloader.asm -I ./boot/ -o ./bin/bootloader.bin || exit 1
nasm -felf32 ./kernel/entry.asm -o ./build/kernelEntryPoint.o || exit 1
-use_crystal_kernel=false
+use_crystal_kernel=true
if [ "$use_crystal_kernel" = true ]
then
- CC=clang LD=ld crystal build --no-debug -Dkernel --cross-compile --target i386-unknown-linux-elf --prelude=empty --link-flags="-nostdlib -T./kernel/linker.ld" -o ./build/kernel ./kernel/kernel.cr
+ crystal build --no-debug -Dkernel --cross-compile --target i386-unknown-linux-elf --prelude=empty -o ./build/kernel ./kernel/kernel.cr
# The object file should be at ./build/kernel.o, now link it with the entry point
- ld -nostdlib -T ./kernel/linker.ld -o ./bin/kernel.bin ./build/kernelEntryPoint.o ./build/kernel.o || exit 1
+ ld -m elf_i386 -nostdlib -T ./kernel/linker.ld -o ./bin/kernel.bin ./build/kernelEntryPoint.o ./build/kernel.o || exit 1
else
clang++ $kernelCompileFlags $kernelLinkFlags $kernelFiles || exit 1
fi
+cp ./bin/kernel.bin ./iso/boot/kernel.bin || exit 1
+
# touch ./bin/kernel.bin
./tools/genVDisk --output "crystalos.img" --floppy \
--bootloader ./bin/bootloader.bin --kernel ./bin/kernel.bin