Utilisation de GRUB dans le fichier image de disquette pour démarrer votre propre noyau à l'intérieur de Bochs

StackOverflow https://stackoverflow.com/questions/5058545

Question

Fondamentalement, j'ai suivi les instructions ici http://sig9.com/bochs-grub à Créez un fichier d'image nu qui ne fait que permettant au BIOS de démarrer Grub.

Les problèmes sont:

  • Le noyau que j'écris sera 32 bits, en utilisant http:// www. jamesmolloy.co.uk/Tutorial_html/index.html Pour un démarrage, mais ma machine hôte (physique) est x86_64 avec Bochs configuré comme ceci:

    ./ configure --prefix= / usr --enable-vbe --Without-WX --enable-cpu-niveau= 6 \ - FPU-FPU \ --enable-plugins --enable-x86-64 --enable-smp \ - Annacable-Long-Adresse Phy -enable-débogueur-débogueur -enable-désagréable -enable -enable-débogueur-gui \enable-brut-série --enable-vmx --enable-x86-Debugger --enable-iodebug

    Je ne suis donc pas sûr que cela fonctionnera, même après avoir résolu le prochain numéro:

    • La coque de la grobite ne démarre pas lorsque je démarre les Bochs.

      Tout ce que je reçois est:

      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
      

      Quelqu'un a-t-il une idée de ce que je pouvais faire de mal?

      Je soupçonne suivre les instructions de http://sig9.com/bochs-grub avait en tant que Effet Copier les fichiers grows de mes 64 bits d'hôte sur floppy.img, qui est censé être un système émulé 32 bits.

Était-ce utile?

La solution

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top