nie mogę skompilować przykładowego os'a z kursu : http://binboy.sphere.pl/index.php?show=45
tu są sorsy: http://binboy.sphere.pl/down.php?idmk=36

wojtek@wojtek-desktop:~/Pulpit/doc3_files$ make
nasm start.asm -o start.o -f coff
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o main.o main.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o intr.o intr.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o cons.o cons.c
nasm irqroute.asm -o irqroute.o -f coff
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o kbd.o kbd.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o sched.o sched.c
nasm exc.asm -o exc.o -f coff
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o traps.o traps.c
ld -Tkernel.ld -o kernel.bin start.o main.o intr.o cons.o irqroute.o kbd.o sched.o exc.o traps.o
start.o: file not recognized: File format not recognized
make: *** [kernel.bin] Błąd 1
wojtek@wojtek-desktop:~/Pulpit/doc3_files$ 

Doczytałem że linux nie obsługuje plików coff, więc w makefile zmieniłem
nasm $*.asm -o $*.o -f coff
na
nasm $*.asm -o $*.o -f elf

ale teraz wypluwa same błędy

wojtek@wojtek-desktop:~/Pulpit/doc3_files$ make
nasm start.asm -o start.o -f elf
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o main.o main.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o intr.o intr.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o cons.o cons.c
nasm irqroute.asm -o irqroute.o -f elf
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o kbd.o kbd.c
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o sched.o sched.c
nasm exc.asm -o exc.o -f elf
cc -O2 -fomit-frame-pointer -I. -nostdinc -fno-builtin   -c -o traps.o traps.c
ld -Tkernel.ld -o kernel.bin start.o main.o intr.o cons.o irqroute.o kbd.o sched.o exc.o traps.o
start.o: In function `_start.1':
start.asm:(.text+0x5f): undefined reference to `_start_kernel'
start.o: In function `_irq1':
start.asm:(.text+0x7a): undefined reference to `_do_irq1'
start.o: In function `_irq0':
start.asm:(.text+0x9a): undefined reference to `_do_irq0'
main.o: In function `start_kernel':
main.c:(.text+0x6a): undefined reference to `irq0'
intr.o: In function `set_intr_gate':
intr.c:(.text+0x1a): undefined reference to `idt'
intr.c:(.text+0x21): undefined reference to `idt'
intr.o: In function `set_trap_gate':
intr.c:(.text+0x4a): undefined reference to `idt'
intr.c:(.text+0x51): undefined reference to `idt'
intr.o: In function `set_system_gate':
intr.c:(.text+0x7a): undefined reference to `idt'
intr.o:intr.c:(.text+0x81): more undefined references to `idt' follow
kbd.o: In function `kbd_init':
kbd.c:(.text+0x47): undefined reference to `irq1'
exc.o: In function `exception_table':
exc.asm:(.text+0x0): undefined reference to `_do_exc0'
exc.asm:(.text+0x4): undefined reference to `_do_exc1'
exc.asm:(.text+0x8): undefined reference to `_do_exc2'
exc.asm:(.text+0xc): undefined reference to `_do_exc3'
exc.asm:(.text+0x10): undefined reference to `_do_exc4'
exc.asm:(.text+0x14): undefined reference to `_do_exc5'
exc.asm:(.text+0x18): undefined reference to `_do_exc6'
exc.asm:(.text+0x1c): undefined reference to `_do_exc7'
exc.asm:(.text+0x20): undefined reference to `_do_exc8'
exc.asm:(.text+0x24): undefined reference to `_do_exc9'
exc.asm:(.text+0x28): undefined reference to `_do_exc10'
exc.asm:(.text+0x2c): undefined reference to `_do_exc11'
exc.asm:(.text+0x30): undefined reference to `_do_exc12'
exc.asm:(.text+0x34): undefined reference to `_do_exc13'
exc.asm:(.text+0x38): undefined reference to `_do_exc14'
traps.o: In function `trap_init':
traps.c:(.text+0x7): undefined reference to `exc0'
traps.c:(.text+0x1b): undefined reference to `exc1'
traps.c:(.text+0x2f): undefined reference to `exc2'
traps.c:(.text+0x43): undefined reference to `exc3'
traps.c:(.text+0x57): undefined reference to `exc4'
traps.c:(.text+0x6b): undefined reference to `exc5'
traps.c:(.text+0x7f): undefined reference to `exc6'
traps.c:(.text+0x93): undefined reference to `exc7'
traps.c:(.text+0xa7): undefined reference to `exc8'
traps.c:(.text+0xbb): undefined reference to `exc9'
traps.c:(.text+0xcf): undefined reference to `exc10'
traps.c:(.text+0xe3): undefined reference to `exc11'
traps.c:(.text+0xf7): undefined reference to `exc12'
traps.c:(.text+0x10b): undefined reference to `exc13'
traps.c:(.text+0x11f): undefined reference to `exc14'
make: *** [kernel.bin] Błąd 1
wojtek@wojtek-desktop:~/Pulpit/doc3_files$ 

Jak to skompilować ? :-/