1. Winget ile MSYS Kurulumu CMD üzerinde

    winget install --id=MSYS2.MSYS2  -e
    
  2. NASM bu adresten indirilir kurulur

  3. MSYS açılır ve QEMU kurulur

    pacman -S mingw-w64-ucrt-x86_64-qemu
    
  4. Hello World Kodunun not defterine yapıştırıp *boot.asm* olarak kaydedilir

    org 0x7C00                      ; BIOS loads our programm at this address
    bits 16                         ; We're working at 16-bit mode here
    
    start:
    	cli                     ; Disable the interrupts
    	mov si, msg             ; SI now points to our message
    	mov ah, 0x0E            ; Indicate BIOS we're going to print chars
    .loop	lodsb                   ; Loads SI into AL and increments SI [next char]
    	or al, al               ; Checks if the end of the string
    	jz halt                 ; Jump to halt if the end
    	int 0x10                ; Otherwise, call interrupt for printing the char
    	jmp .loop               ; Next iteration of the loop
    
    halt:	hlt                     ; CPU command to halt the execution
    msg:	db "Hello, World!", 0   ; Our actual message to print
    
    ;; Magic numbers
    times 510 - ($ - $$) db 0
    dw 0xAA55
    
  5. CMD açılır ve nasm ile kod derle

    nasm boot.asm -f bin -o boot.bin
    
  6. Derlenmiş bootable dosyayı QEMU ile boot etmek

    qemu-system-x86_64 -fda boot.bin
    
  7. boot.bin dosyasını ISO dosyasına çevirmek için bu adresten Magic ISO yazılımını indiriyoruz.

  8. ISO dosyamız hazır. Bu dosyayı ister Virtualbox ile deneyin isterseniz de USB ile Rufus boot edin.

  9. Magic ISO yazılımını kurduktan sonra sırasıyla File>Bootable CD/DVD Image

    Screenshot_1.png

  10. From bootable Image file klasör seçeneklerinden oluşturduğumuz boot.bin dosyasını seçiyoruz.

    Screenshot_2.png

  11. OK butonuna bastıktan sonra üst menüdeki kaydet butonu ile boot.iso olarak kaydediyoruz.

    Screenshot_3.png

    Screenshot_4.png

Kaynak

https://blog.ghaiklor.com/2017/10/21/how-to-implement-your-own-hello-world-boot-loader/

Kaynak 2 Video

İşletim Sistemi Yazma - Ders 1