با سلام
یه کرنل داریم که از 2 بخش تشکیل شده یه فایل Asm و یه فایل .c
فایل Asm رو با NASM اسمبل می کنم مشکلی نداره
nasm -f aout kernel.asm -o k.o
فایل سی هم مشکلی نداره
gcc -c kernel.c -o kernel.o
اما موقع کار با ld و لینک کردن خطا می ده
ld -T link.ld -o kernel.bin k.o kernel.o
متن خطا هم اینه

k.o:file not recognized: File format not recognized

این هم اسکریپت link.ld هست


OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS
{
.text 0x100000 : {
code = .; _code = .; __code = .;
*(.text)
. = ALIGN(4096);
}
.data : {
data = .; _data = .; __data = .;
*(.data)
. = ALIGN(4096);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .; _end = .; __end = .;
}


ممنون میشم راهنمایی کنید