Criando um kernel simples de inicialização múltipla carregado com grub2

Estou tentando seguir as instruções aqui para criar um kernel simples do sistema operacional:http://mikeos.sourceforge.net/write-your-own-os.html

Exceto que, em vez de inicializar a partir de um disquete, quero criar uma imagem ISO baseada em grub e inicializar um CD de inicialização múltipla no emulador. Adicionei o seguinte à fonte listada nessa página, para o cabeçalho de inicialização múltipla:

MBALIGN     equ  1<<0                   ; align loaded modules on page boundaries
MEMINFO     equ  1<<1                   ; provide memory map
FLAGS       equ  MBALIGN | MEMINFO      ; this is the Multiboot 'flag' field
MAGIC       equ  0x1BADB002             ; 'magic number' lets bootloader find the header
CHECKSUM    equ -(MAGIC + FLAGS)        ; checksum of above, to prove we are multiboot
section .multiboot
align 4
    dd MAGIC
    dd FLAGS
    dd CHECKSUM

e estou fazendo o seguinte para criar a imagem:

nasm -felf32 -o init.bin  init.s
cp init.bin target/boot/init.bin
grub2-mkrescue -o init.iso target/

Então eu corro o qemu para inicializá-lo:

qemu-system-x86_64 -cdrom ./init.iso 

Depois de selecionar 'myos' no menu de inicialização, recebo o erro

error: invalid arch-dependent ELF magic

O que isso significa e como posso corrigi-lo? Tentei mexer com o formato elfo, mas apenas-felf32 parece funcionar ...

questionAnswers(1)

yourAnswerToTheQuestion