Basically I ve followed the instructions here http://sig9.com/bochs-grub to create a bare image file which does nothing but lets the BIOS start GRUB.
The problems are:
- The kernel I am writing will be 32-bit, using http://www.jamesmolloy.co.uk/tutorial_html/index.html for a start, but my host (physical) machine is x86_64 with bochs configured like this:
./configure --prefix=/usr --enable-vbe --without-wx --enable-cpu-level=6 --enable-fpu --enable-plugins --enable-x86-64 --enable-smp --enable-long-phy-address --enable-debugger --enable-disasm --enable-debugger-gui --enable-raw-serial --enable-vmx --enable-x86-debugger --enable-iodebug
so I m not sure this will work, even after solving the next issue:
- The grub shell won t start when I boot up bochs.
All I get is:
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
Does anyone have any idea what I could be doing wrong?
I suspect following the instructions from http://sig9.com/bochs-grub had as an effect copying my host s 64-bit grub binaries onto floppy.img which is supposed to be a 32-bit emulated system.