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]

Reply via email to