Hi,
I tried to boot gnumach (the microkernel used by the GNU/Hurd OS)
on plex86. It is a multiboot compliant kernel. I don't know what
the stack= argument means, so I copied the value that was used for all
other lines. The conf file I used and the output generated are attached.
It doesn't work yet, but maybe you can see something from the
output error. If you want a copy of the kernel to play with, let
me know and I will put it online (including source code).
GNUMach needs a module to hand control over to (as the Hurd
is a multiserver OS). Is module loading implemented?
Can't load-kernel find out which address to load a multiboot compliant
kernel to? I am sorry if this is a stupuid question, I am not that
familiar with the multiboot standard (I should probably read this up).
What is the correct conf file to attempt to boot a linux kernel?
I would like to try it out (for comparison).
BTW, I used the version from CVS today.
Thanks,
Marcus
--
`Rhubarb is no Egyptian god.' Debian http://www.debian.org Check Key server
Marcus Brinkmann GNU http://www.gnu.org for public PGP Key
[EMAIL PROTECTED], [EMAIL PROTECTED] PGP Key ID 36E7CD09
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ [EMAIL PROTECTED]
####################################################################
# This is an example plex86 configuration file
####################################################################
####################################################################
# Plugins
####################################################################
plugin = ./plugins/bochs/plugin-bochs.so
#plugin = ./plugins/ice/plugin-ice.so 3141
# Replay IO events from a previous run. For now this let's us
# program the VGA adapter, without booting via the BIOS.
plugin = ./plugins/misc/replay_io.so file=../misc/vga_io.log
# The system BIOS doesn't have anything in it yet.
plugin = ./plugins/bios/load-rom.so \
file=../bios/nullbios address=0xf0000
# The guest kernels
#plugin = ./plugins/bios/load-kernel.so \
# file=../guest/test/kernel address=0x100000 stack=36864
#plugin = ./plugins/bios/load-kernel.so \
# file=../guest/virtcode/virtcode address=0x100000 stack=36864
#plugin = ./plugins/bios/load-kernel.so \
# file=../guest/preemptive/kernel address=0x100000 stack=36864
#plugin = ./plugins/bios/load-kernel.so \
# file=../guest/cooperative/kernel address=0x100000 stack=36864
#plugin = ./plugins/bios/load-kernel.so \
# file=../guest/paging/kernel address=0x100000 stack=36864
plugin = ./plugins/bios/load-kernel.so \
file=/gnu/boot/gnumach address=0x100000 stack=36864
####################################################################
# Memory settings
####################################################################
# number of megabytes for vm
memory = 4
####################################################################
# Debugging settings
####################################################################
# syntax for disassembly
db_syntax = at&t
####################################################################
# VM tweaks
####################################################################
# Maximum depth that the scan-before-execute code will try
# to recursively prescan code in the current code page, by
# following intra-page branches.
prescan_depth = 3
####################################################################
# end of config file
####################################################################
Processing command-line options
Processing configuration script plex86.conf
Opening VM (/dev/plex86)
Allocating 4MB of physical memory in VM
Setting prescan depth to 3
Mapping virtualized physical memory into monitor
Zeroing virtualized physical memory
Initializing plugins
bochs: ips = 1000000
bochs: font_width = 8
bochs: font_height = 16
bochs: default_depth = 16
bochs: waiting for MapNotify
bochs: MapNotify found.
bochs: vga: interval=10000
replaying IO events from log file '../misc/vga_io.log'.
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: vga: io write: 3da: ignoring: feature ctrl & vert sync
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write 3c0: address mode reg=16
bochs: vga: io write 3c0: address mode reg=17
bochs: vga: io write 3c0: address mode reg=18
bochs: vga: io write 3c0: address mode reg=19
bochs: vga: io write 3c0: address mode reg=20
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: *** io read 3c5 case 1: sequencer clocking mode
load-kernel: loading guest code: /gnu/boot/gnumach (0x195524 bytes) (ELF)
load-kernel: This is a multiboot compliant kernel.
Running VM
Fatal monitor error caused Panic
Abort due to exception 13 at 0008:00150606
Register dump:
CS:0008 SS:0010 DS:0010 ES:0010 FS:0010 GS:0010
EAX:00000000 EBX:00000000 ECX:00000000 EDX:00000000
ESI:00000000 EDI:002b8550 EBP:002a2e94 ESP:002a2e90 EFLAGS:00000006
Stack dump:
002a2e90: 002a2ea4 002a2e9c 0014d3e8 002a2ea4
002a2ea0: 0014d4b8 00000000 00100030 00000000
002a2eb0: 00000000 00000000 00000000 00000000
002a2ec0: 00000000 00000000 00000000 00000000
Current instruction:
0008.00150606 FA cli
Shutting down plugins
bochs: Note: X11: bx_gui_c::exit() not implemented yet.
Unmapping guest physical memory
Tearing down VM
Closing VM