HadesOS is a mini operating system with microkernel.
#1) Compile and create Hades Operating System
#assemble boot.s file
as --32 boot.s -o boot.o
#compile kernel.c file
gcc -m32 -c kernel.c -o kernel.o -std=gnu99 -ffreestanding -O1 -Wall -Wextra
gcc -m32 -c utilities.c -o utilities.o -std=gnu99 -ffreestanding -O1 -Wall -Wextra
#linking the kernel with kernel.o and bootloader.o files
ld -m elf_i386 -T linker.ld kernel.o utilities.o boot.o -o HadesOS.bin -nostdlib
#check HadesOS.bin file is x86 multiboot file or not
grub-file --is-x86-multiboot HadesOS.bin
#building the HadesOS iso file
mkdir -p isohades/boot/grub
chmod -R 777 isohades
cp HadesOS.bin isohades/boot/HadesOS.bin
cp grub.cfg isohades/boot/grub/grub.cfg
chmod -R 777 isohades
grub-mkrescue -o HadesOS.iso isohades
#(if want) run it in qemu (virtualbox) for testing
qemu-system-x86_64 -cdrom HadesOS.iso
#2) installation on usb
lsblk
mkfs.vfat -I /dev/sdc
sudo umount /dev/sdc
sudo dd if=HadesOS.iso of=/dev/sdc bs=4M && sync