Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Solaris 2.5.1 on QEMU

980 views
Skip to first unread message

Basil Huffman

unread,
Oct 16, 2012, 12:49:23 PM10/16/12
to
Hello all, to start: I have been trying to get this question answered using the QEMU listserv as well but as I am unsure of whether this is an issue relating to QEMU or Solaris.

At any rate, I am emulating Solaris 2.5.1 on Xubuntu 12.04 using QEMU 1.2.0. I followed Artyom Tarasenko's tutorial on how to do this (link: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCEQFjAA&url=http%3A%2F%2Ftyom.blogspot.com%2F2009%2F12%2Fsolaris-under-qemu-how-to.html&ei=lH59UPngI5T9qAG2z4GgDA&usg=AFQjCNFA94ms2FkRGjuvyl2omkBM3L6gzA)

I am able to get it up and running fine using the following command:

"qemu-system-sparc -M SS-5 -nographic -bios ~/ss5.bin -hda ~/solaris.disk"

Notes:
- "-M SS-5" means the machine being emulated is SPARCstation 5

- "-m 256" means 256k memory

- "-bios ss5.bin" means that its running the appropriate bios for SPARCstation 5 (this was a file I downloaded from the site above)

- "-hda ~/solaris.disk" this is the disk file I am using as my hd

I then have a cd which I have made an image of. I have two ways of passing this in to QEMU:

1. as a CD "-cdrom ~/File.iso"
2. as a separate hd image "-hdb ~/File.iso"

I had to install to my disk image by treating the solaris install cd as a separate hd (i.e. passed in as "-hdb ~/SOLARIS_2.5.1.iso" because when passing it in as a cdrom, I would get overflow errors.

At any rate, when I load into Solaris, I am unable to mount the cd image to install.

When I load it in as a cdrom, I get the following error message:

# /etc/mount -o ro -F hsfs /dev/sr0 /mnt
mount: /dev/sr0 is already mounted, /mnt is busy,
or allowable number of mount points exceeded

When I load it in as a separate hd, I get the same error message:
# /etc/mount /dev/dsk/c0t2d0s0 /mnt
mount: /dev/dsk/c0t2d0s0 is already mounted, /mnt is busy,
or the allowable number of mount points has been exceeded

Now, assuming this is not a QEMU issue (I am following that up separately). What would I need to do to fix this problem? Some people have suggested to me already that this could be a case of the automounter stepping up (but I don't see anywhere where it is auto-mounted when I run df), and some have suggested that there are some settings I might want to look at in vfstab.

Any thoughts/ideas/help you all can share would be appreciated. Hopefully, I clarified things sufficiently. If not, let me know.

Doug McIntyre

unread,
Oct 16, 2012, 1:06:08 PM10/16/12
to
Basil Huffman <bahu...@gmail.com> writes:
>- "-m 256" means 256k memory

Presumably that means 256M of memory, as we haven't had 256k since the
early '80s?

>- "-hda ~/solaris.disk" this is the disk file I am using as my hd

Right now that is blank?

>At any rate, when I load into Solaris, I am unable to mount the cd image to=
> install.

The typical install process is to boot off of CDROM, which has both a
bootable system on it, as well as installation media packages. Once the
CDROM boot is complete, then it automatically runs suninstall, to
start the installation process.

You never see a shell in this process, and it is difficult to see a shell.
(ie. it isn't supported). Once suninstall finishes, the system reboots
onto the hard drive that the system was installed onto.

>When I load it in as a cdrom, I get the following error message:

># /etc/mount -o ro -F hsfs /dev/sr0 /mnt
>mount: /dev/sr0 is already mounted, /mnt is busy,
> or allowable number of mount points exceeded

Presumably, because you booted off the cdrom drive, and it is already mounted.
There are actually multiple partitions on the Solaris installation cdrom.
/dev/sr0 most likely isn't what you are looking to mount anyway.

If you don't get into suninstall, then I'd have to say your qemu isn't
emulating well enough, and just running a program bombs you out into
a shell. suninstall is nothing special. It is big and heavy and
complex, but it does nothing out of the ordinary.

The typical solaris install *never* had to mount anything off the
CDROM, nor to run anything from the shell.

You boot off CDROM, you installed the OS with the program it autoran,
you rebooted onto your HD. That was it.

Andrew Gabriel

unread,
Oct 16, 2012, 1:14:49 PM10/16/12
to
In article <b369008c-c024-4d72...@googlegroups.com>,
Basil Huffman <bahu...@gmail.com> writes:
> Hello all, to start: I have been trying to get this question answered using the QEMU listserv as well but as I am unsure of whether this is an issue relating to QEMU or Solaris.
> At any rate, I am emulating Solaris 2.5.1 on Xubuntu 12.04 using QEMU 1.2.0. I followed Artyom Tarasenko's tutorial on how to do this (link: http://w=
> ww.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCEQFjAA&url=http%3A%2F%2Ftyom.blogspot.com%2F2009%2F12%2Fsolaris-under-qemu-how-to.html&ei=lH59UPngI5T9qAG2z4GgDA&usg=AFQjCNFA94ms2FkRGjuvyl2omkBM3L6gzA)
> I am able to get it up and running fine using the following command:
> "qemu-system-sparc -M SS-5 -nographic -bios ~/ss5.bin -hda ~/solaris.disk"
> Notes:
> - "-M SS-5" means the machine being emulated is SPARCstation 5
> - "-m 256" means 256k memory
> - "-bios ss5.bin" means that its running the appropriate bios for SPARCstation 5 (this was a file I downloaded from the site above)
> - "-hda ~/solaris.disk" this is the disk file I am using as my hd
> I then have a cd which I have made an image of. I have two ways of passing this in to QEMU:
> 1. as a CD "-cdrom ~/File.iso"
> 2. as a separate hd image "-hdb ~/File.iso"
> I had to install to my disk image by treating the solaris install cd as a separate hd (i.e. passed in as "-hdb ~/SOLARIS_2.5.1.iso" because when passing it in as a cdrom, I would get overflow errors.
> At any rate, when I load into Solaris, I am unable to mount the cd image to install.
> When I load it in as a cdrom, I get the following error message:
> # /etc/mount -o ro -F hsfs /dev/sr0 /mnt
> mount: /dev/sr0 is already mounted, /mnt is busy,
> or allowable number of mount points exceeded
> When I load it in as a separate hd, I get the same error message:
> # /etc/mount /dev/dsk/c0t2d0s0 /mnt
> mount: /dev/dsk/c0t2d0s0 is already mounted, /mnt is busy,
> or the allowable number of mount points has been exceeded
> Now, assuming this is not a QEMU issue (I am following that up separately). What would I need to do to fix this problem? Some people have suggested to me already that this could be a case of the automounter stepping up (but I don't see anywhere where it is auto-mounted when I run df), and some have suggested that there are some settings I might want to look at in vfstab.
> Any thoughts/ideas/help you all can share would be appreciated. Hopefully, I clarified things sufficiently. If not, let me know.

ISTR that OBP in systems of that age required the CD drive to operate
in 512 bytes/sector mode, which is probably why you have to pretend
it's a hard disk to boot from it. (CD's are actually 2048 bytes/sector.)
It was very handy that you could copy a cd image onto a raw disk and
boot the system from it, when testing out installation cds.

I can't remember in detail how a SPARC install CD worked back in 2.5.1,
but I suspect it's already mounted as the root disk by the time you
are in a position to type any commands into Solaris, or at least one
of the slices on it is. What does mount(1M) say is already mounted at
this point? You may need to specify the s2 slice to mount the HSFS at
the beginning of the cdrom, which is where the installation files are.
I did know all this once, as I wrote software to rebuild the install
cds for an OEM who added their own software to them, but that's a long
time ago.

IIRC, to install, you issue the OBP command:
boot cdrom -- install

--
Andrew Gabriel
[email address is not usable -- followup in the newsgroup]

Basil Huffman

unread,
Oct 16, 2012, 1:51:19 PM10/16/12
to
Thanks for responses. To clarify:

- Yes, I meant 256 M for memory

- I installed Solaris 2.5.1 onto the disk image (solaris.disk). I can boot into it from bios (boot disk0). The process when I installed it was, when bios came up, call "boot disk1:d" and then the installed went through the machinations.

- What I am trying to do is, install some software from a cd (accessing either via cdrom or hdb), which I have made an iso image of. The cd just has some shell scripts and binary files. It is nothing special, I have installed the same software on physical SPARCstations. I am trying to migrate from that setup to a virtual environment.

- What you are saying Andrew re: sector length sounds correct, as I believe this is a reasoning I was given by QEMU folks. When you say to specify the slice, you mean something like, "mount /dev/dsk/c0t2d0sX" (with X being slice?) instead of "mount /dev/sr0 ..."

- A dump of mount:

# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid on Tue Oct 16 12:38:33 2012
/usr on /dev/dsk/c0t0d0s6 read/write/setuid on Tue Oct 16 12:38:33 2012
/proc on /proc read/write/setuid on Tue Oct 16 12:38:33 2012
/dev/fd on fd read/write/setuid on Tue Oct 16 12:38:33 2012
/var on /dev/dsk/c0t0d0s4 read/write/setuid on Tue Oct 16 12:38:33 2012
/export/home on /dev/dsk/c0t0d0s7 setuid/read/write on Tue Oct 16 12:38:35 2012
/opt on /dev/dsk/c0t0d0s5 setuid/read/write on Tue Oct 16 12:38:35 2012
/usr/openwin on /dev/dsk/c0t0d0s3 setuid/read/write on Tue Oct 16 12:38:35 2012
/tmp on swap read/write on Tue Oct 16 12:38:35 2012

- Also, "df -k":

# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 16663 12155 2848 82% /
/dev/dsk/c0t0d0s6 106047 79864 15583 84% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
/dev/dsk/c0t0d0s4 106047 3183 92264 4% /var
/dev/dsk/c0t0d0s7 1284877 9 1156388 1% /export/home
/dev/dsk/c0t0d0s5 157063 45779 95584 33% /opt
/dev/dsk/c0t0d0s3 140903 106431 20382 84% /usr/openwin
swap 338008 8 338000 1% /tmp

- finally, /etc/vfstab:
# cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t0d0s1 - - swap - no -
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no -
/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no -
/dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /var ufs 1 no -
/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes -
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /opt ufs 2 yes -
/dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /usr/openwin ufs 2 yes -
swap - /tmp tmpfs - yes -

Andrew Gabriel

unread,
Oct 16, 2012, 5:58:16 PM10/16/12
to
In article <319c6227-02a1-4bd2...@googlegroups.com>,
Basil Huffman <bahu...@gmail.com> writes:
> Thanks for responses. To clarify:
> - Yes, I meant 256 M for memory
> - I installed Solaris 2.5.1 onto the disk image (solaris.disk). I can boot into it from bios (boot disk0). The process when I installed it was, when bios came up, call "boot disk1:d" and then the installed went through the machinations.

Oh, I thought you were trying to install the OS.

> - What I am trying to do is, install some software from a cd (accessing either via cdrom or hdb), which I have made an iso image of. The cd just has some shell scripts and binary files. It is nothing special, I have installed the same software on physical SPARCstations. I am trying to migrate from that setup to a virtual environment.
> - What you are saying Andrew re: sector length sounds correct, as I believe this is a reasoning I was given by QEMU folks. When you say to specify the slice, you mean something like, "mount /dev/dsk/c0t2d0sX" (with X being slice?) instead of "mount /dev/sr0 ..."

The device is in use by the vold, the volume manager, which should
have mounted the CD automatically when it saw it (on /cdrom, IIRC),
so do a mount(1M) command when the image file is attached to the
CD device to see if it's been mounted.

If vold is not managing to mount it, stop vold (/etc/init.d/volmgt stop),
and then try mounting it by hand.

Basil Huffman

unread,
Oct 17, 2012, 11:59:54 AM10/17/12
to
I am unclear as to what you mean by mount(1M). There are 2 mount binaries on my machine: /etc/mount and /usr/sbin/mount. I am currently using /etc/mount.

One thing that happened when I ran mountall, was this:

# /etc/mountall
checking ufs filesystems
/dev/rdsk/c0t0d0s3: is stable.
/dev/rdsk/c0t0d0s5: is stable.
/dev/rdsk/c0t0d0s7: is stable.
mount: /tmp already mounted
mount: /dev/dsk/c0t0d0s5 is already mounted, /opt is busy,
or the allowable number of mount points has been exceeded
mount: /dev/dsk/c0t0d0s3 is already mounted, /usr/openwin is busy,
or the allowable number of mount points has been exceeded
mount: /dev/dsk/c0t0d0s7 is already mounted, /export/home is busy,
or the allowable number of mount points has been exceeded

Could that mean anything?

Also, I stopped vold and tried to hand mount it but it says that there is no such device. I am assuming that the cdrom is /dev/sr0, is this a correct assumption?

Michael

unread,
Oct 17, 2012, 12:44:36 PM10/17/12
to
Hi,

On 10/17/12 05:59 PM, Basil Huffman wrote:
> I am unclear as to what you mean by mount(1M). There are 2 mount binaries on my machine: /etc/mount and /usr/sbin/mount. I am currently using /etc/mount.
>
Sorry for breaking in here but /etc/mount is a script and
/usr/sbin/mount the the binary.
mount(1M) means the man page for man, try $ man -s1 mount


> One thing that happened when I ran mountall, was this:
>
> # /etc/mountall
> checking ufs filesystems
> /dev/rdsk/c0t0d0s3: is stable.
> /dev/rdsk/c0t0d0s5: is stable.
> /dev/rdsk/c0t0d0s7: is stable.
> mount: /tmp already mounted
> mount: /dev/dsk/c0t0d0s5 is already mounted, /opt is busy,
> or the allowable number of mount points has been exceeded
> mount: /dev/dsk/c0t0d0s3 is already mounted, /usr/openwin is busy,
> or the allowable number of mount points has been exceeded
> mount: /dev/dsk/c0t0d0s7 is already mounted, /export/home is busy,
> or the allowable number of mount points has been exceeded
>
> Could that mean anything?
>
It means that after you have mounted once(at boot perhaps) trying to
mount a second time gives the information that it has already been mounted!

check df -s

> Also, I stopped vold and tried to hand mount it but it says that there is no such device. I am assuming that the cdrom is /dev/sr0, is this a correct assumption?
hmm, long long time since I had 2.5.1, but I think so.
what command did you give?

/michael

Basil Huffman

unread,
Oct 17, 2012, 1:19:32 PM10/17/12
to
Upon further inspection, /etc/mount is a symbolic link to /usr/sbin/mount

> what command did you give?

I used the command suggested by Andrew Gabriel, above: /etc/init.d/volmgt stop

I then tried to mount via:

# /etc/mount -o ro -F hsfs /dev/sr0 /cdrom
mount: /dev/sr0 no such device

I can physically see it is there and it points to /dev/c0t2d0s2

Same deal when I try mounting /dev/c0t2d0s2:

# mount -o ro -F hsfs /dev/c0t2d0s2 /cdrom
mount: No such device
mount: cannot mount /dev/c0t2d0s2

hzy0...@gmail.com

unread,
May 30, 2014, 2:31:56 AM5/30/14
to
anyone would like to send me an solaris 2.5 iso image? or older solaris iso images (2.2 .2.3 2.4),thanks a lot
0 new messages