Domanda

Fondamentalmente ho seguito le istruzioni qui http://sig9.com/bochs-grub a Creare un file immagine nudo che non fa altro che il BIOS avvia i grub.

I problemi sono:

    .
  • Il kernel che sto scrivendo sarà a 32 bit, usando http:// www. jamesmolloy.co.uk/tutorial_html/index.html per un inizio, ma la mia macchina host (fisica) è x86_64 con Bochs configurato come questo:
    .

    ./ Configura --Prefix= / usr --enable-vbe - Senza-wx -neable-CPU-Level= 6 \ --neable-fpu \ -nenable-plugin -enable-x86-64 --neable-SMP \ antenabile-long-fiy-indirizzo antenuto-debugger -Enable-debugger -Esm-nassm -enable-Debugger-GUI \ --neable-crudo-serial -enable-Vmx --neable-X86-Debugger -Enable-Iodebug

    Quindi non sono sicuro che questo funzioni, anche dopo aver risolto il problema successivo:

      .
    • Il guscio di grub non si avvia quando avvio di Bochs.

      Tutto quello che ottengo è:

      00000000000i[SYS  ] bx_pc_system_c::Reset(HARDWARE) called
      00000000000i[CPU0 ] cpu hardware reset
      00000000000i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000
      00000000000i[CPU0 ] CPU[0] is the bootstrap processor
      00000000000i[CPU0 ] CPUID[0x00000000]: 00000003 756e6547 6c65746e 49656e69
      00000000000i[CPU0 ] CPUID[0x00000001]: 00000f20 00000800 00002020 078bfbff
      00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000
      00000000000i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000
      00000000000i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000
      00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000
      00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000101 2a100800
      00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020
      00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75
      00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020
      00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000
      00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000
      00000000000i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000
      00000000000i[PLGIN] reset of 'unmapped' plugin device by virtual method
      00000000000i[PLGIN] reset of 'biosdev' plugin device by virtual method
      00000000000i[PLGIN] reset of 'speaker' plugin device by virtual method
      00000000000i[PLGIN] reset of 'extfpuirq' plugin device by virtual method
      00000000000i[PLGIN] reset of 'iodebug' plugin device by virtual method
      00000000000i[PLGIN] reset of 'ioapic' plugin device by virtual method
      00000000000i[PLGIN] reset of 'keyboard' plugin device by virtual method
      00000000000i[PLGIN] reset of 'harddrv' plugin device by virtual method
      00000000000i[PLGIN] reset of 'serial' plugin device by virtual method
      00000000000i[PLGIN] reset of 'parallel' plugin device by virtual method
      00000000000i[XGUI ] [x] Mouse off
      00000000000i[     ] set SIGINT handler to bx_debug_ctrlc_handler
      Next at t=0
      (0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b         ; ea5be000f0
      
      .

      Qualcuno ha idea di cosa potrei sbagliare?

      I sospetto seguendo le istruzioni da http://sig9.com/bochs-grub aveva come Effetto Copia dei binari di Grub a 64 bit del mio host su floppy.img che dovrebbe essere un sistema emulato a 32 bit.

È stato utile?

Soluzione

That last line is the debugger printing out the current line of code. Press 'c' and hit enter, and it should start running. As for using 32 bit, it should work as x86-64 processors will run in protected mode just like any other x86 processor.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top