ちょっとだけ前進

ハードディスクを読みに行こうとして落ちている。

:
:
Init ATA drive
hda : QEMU HARDDISK, ATA DISK drive
function name : idleImmediateDevive, error : EDERRE
function name : changeMode, error : EDNOFUNC
hdb : QEMU HARDDISK, ATA DISK drive
function name : idleImmediateDevive, error : EDERRE
function name : changeMode, error : EDNOFUNC

ちなみにbochsで実行したときは激しく落ちる。

00000559079i[VGA  ] VBE known Display Interface b0c2
00000653554i[BIOS ] ata0-0: PCHS=306/4/17 translation=none LCHS=306/4/17
00000708540i[BIOS ] ata0-1: PCHS=306/4/17 translation=none LCHS=306/4/17
00001030869i[BIOS ] *** int 15h function AX=5300, BX=0000 not yet supported!
00001030944i[CPU0 ] WBINVD: (ignoring)
00001096946i[SER  ] FIFO enabled
00005477093i[CPU0 ] WRMSR: wrote 00000000:fee00800 to MSR_APICBASE
00007575166p[APIC0] >>PANIC<< deliver failed for vector 00: no APICs in destination bitmask
00007575166i[SYS  ] Last time is 1106645526
00007575166i[CPU0 ] protected mode
00007575166i[CPU0 ] CS.d_b = 32 bit
00007575166i[CPU0 ] SS.d_b = 32 bit
00007575166i[CPU0 ] | EAX=000cc500  EBX=00000000  ECX=000003d4  EDX=fee00000
00007575166i[CPU0 ] | ESP=00000fb0  EBP=00000fb8  ESI=00000000  EDI=00000002
00007575166i[CPU0 ] | IOPL=0 NV UP DI PL NZ NA PE NC
00007575166i[CPU0 ] | SEG selector     base    limit G D
00007575166i[CPU0 ] | SEG sltr(index|ti|rpl)     base    limit G D
00007575166i[CPU0 ] |  DS:0010( 0002| 0|  0) 00000000 000fffff 1 1
00007575166i[CPU0 ] |  ES:0010( 0002| 0|  0) 00000000 000fffff 1 1
00007575166i[CPU0 ] |  FS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00007575166i[CPU0 ] |  GS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00007575166i[CPU0 ] |  SS:0010( 0002| 0|  0) 00000000 000fffff 1 1
00007575166i[CPU0 ] |  CS:0008( 0001| 0|  0) 00000000 000fffff 1 1
00007575166i[CPU0 ] | EIP=0000303b (00003035)
00007575166i[CPU0 ] | CR0=0xe0010011 CR1=0x00000000 CR2=0x00000000
00007575166i[CPU0 ] | CR3=0x00151000 CR4=0x00000010
00007575166i[CPU0 ] >> 89
00007575166i[CPU0 ] >> 82
00007575166i[CPU0 ] >> 00
00007575166i[CPU0 ] >> 03
00007575166i[CPU0 ] >> 00
00007575166i[CPU0 ] >> 00
00007575166i[CPU0 ] >> : mov dword ptr ds:[edx+0x300], eax
00007575166i[     ] restoring default signal behavior
00007575166i[CTRL ] quit_sim called with exit code 1

設定ファイルの変更点

フロッピーはめんどっちいのでディスクイメージに直書きするように修正。

[tools/boot_sign.c]

	if((fd=open("/dev/loop0",O_RDWR))==-1){printf("Fail open floppy disk\n");exit(0);}

[tools/copy]

losetup /dev/loop0 boot/fdimage.img
dd if=bin/bootload of=/dev/loop0
tools/bin/boot_sign
dd if=bin/setup of=/dev/loop0 seek=1
losetup -d /dev/loop0