I managed to install Solaris Express on Virtual PC, although it was a hard
game...
Here is a summary of my experience:
Step 0: booting from Install CD 1, it freezes after printing the copyright
lines.
Step 1: following the advices on several threads in this forum, I start the
kernel with -kdv flags (using the edit feature in GRUB). The kernel debugger
loads and stops just before starting the kernel. At this moment I type
moddebug/W0x80000000
:c
This makes the kernel debugger print a message for every module loaded. In my
case the last module, which obviously has a problem, is module 89 (85 in newer
builds) - elfexec.
Step 2. after some reading (should I say "a lot of reading") about kmdb, I
found that moddebug has a flag to set a breakpoint for every module loaded. So
I modified the startup theme:
moddebug/W0x80000001
:c (many times, until elfexec appears)
then with a sequence of ::step out, ::step over (or "[") and ::step into ("]")
commands I tried to find the offending code. I should mention that in parallel
I browsed the source code online (after all, it is exactly for that).
The procedure was to ::step over until the freeze is reached. Then I restart
the virtual machine, and use ::step into for the last call instruction. Many
restarts were needed, but I traced the freeze to elfexec`elfexec, then to
elfexec`mapelfexec (the second call). Then I discovered that if I use ::step
over until mapelfexec is exited (but to ::step out), it does not freeze! If at
this moment I use :c, the system boots successfully.
After some more debugging, I found out that the "point of no return" is in a
call of execmap. It is probably some kind of virtual memory issue.
Step 3. Using the acquired information, I elaborated a startup procedure which
works:
start the kernel with -kdv (in fact, the -v is optional)
::bp execmap (set a breakpoint in execmap)
:c (continue) - at least 4 times
::delete all (remove the breakpoint)
:c (resume booting)
It works on builds 18, 20 and 22 (I have not tested the others). I used only
text install. The installed system boots normally, but a safe mode boot freezes.
You can try the boot procedure "as is" - it may work for you too. If not, you
can use the steps above to locate the problem on your machine (if you like
debugging).
After installing, I had some more problems with the X server and DHCP, but they
are popular enough. You can read about them in this forum as well as in the
Virtual PC newsgroup.
A note to Sun people: you could include Virtual PC in the list of your targeted
hardware. It is just 1 (one) additional configuration to support. There is a
lot of sense to install an evolving OS on a virtual machine. Moreover,
Microsoft Virtual PC is included in any MSDN subscription - a must have for
every Windows developer. This makes a really large amount of developers, hungry
to port their apps to Solaris, provide interoperability solutions and so on.
This message posted from opensolaris.org
_______________________________________________
opensolaris-help mailing list
[email protected]