Installation Solaris Sparc 2.6 (SunOS 5.6) on Qemu - Part3 iou2net.pl Installation

Prerequisites

Host system - Fedora 15 Linux or any other Linux

Ghost system - Solaris 2.6 sparc installed on Qemu disk
https://brezular.com/2012/02/17/installation-solaris-2-6-sparc-on-qemu-part2-solaris-installation/

Qemu v1.0.50 compiled for sparc support installed on host system
https://brezular.com/2012/02/12/installation-solaris-sparc-2-6-sunos-5-6-on-qemu-part-1-qemu-installation/

Script iou2net.pl - connects IOU instance inside Qemu disk to the real world
https://github.com/jlgaddis/iou2net

Solaris 2.6 installation CD
Solaris_2.6_Software_05_98.img

Solaris 9 installation CD
Solaris 9 sol-9-905hw-ga-sparc-dvd.iso

They are four install DVD.

sol-9-905hw-ga-sparc-dvd-iso-a
sol-9-905hw-ga-sparc-dvd-iso-b
sol-9-905hw-ga-sparc-dvd-iso-c
sol-9-905hw-ga-sparc-dvd-iso-d

Merge iso images with cat command:

cat sol-9-905hw-ga-sparc-dvd-iso-? > sol-9-ga-sparc-dvd.iso

Solaris 2.6 packages and source files
Download required packages and create ISO image of them. For easy manipulation with files unpack Solaris packages and source files directly on the ghost system first and then create iso image.Use k3b (Fedora). Qemu disk will be started with virtual CDROM having ISO image attached aspackages.iso.

Solaris 2.6 packages are those with .gz extension. Go to the directory when sparc packages are located and use this script to gunzip them all.

for i in . ; do  gunzip * ; done

Similary, extract tar sources.

for i in $(ls) ; do tar -xvf $i; done

Here is the list  of Solaris Packages. The list of Perl modules is here.

1) Bridging Script

A bridging script will create tap interface and attach it to the bridge. It also attaches host Ethernet interface to the bridge.

/home/brezular/Download/sparc/bridge_interfaces

Find more about script here. The script can be downloaded here.

2) Running Solaris 2.6 from Qemu Disk with Solaris 2.6 Install CD attached

/usr/local/bin/qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic  -boot c -hda ./36G.disk -cdrom ./2.6/Solaris_2.6_Software_05_98.img -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"

Connect to Qemu
telnet localhost 3000

When ok prompt is displayed, enter the command sbus-probe-list f and reset. The system will be rebooted.

Can't open boot device

Type  help  for more information
ok setenv sbus-probe-list f
sbus-probe-list =     f
ok reset

After restart, prompt is displayed again. Boot system from disk0 with command

Can't open boot device

Type  help  for more information
ok boot disk0

Username is root without password set.

Set IP address.
ifconfig le0 172.18.100.150 netmask 255.255.0.0 up

Set default gateway.
route add default 172.18.100.1

If you want to keep default router settings permanent:

touch /etc/defaultrouter
cat >> /etc/defaultrouter
172.8.100.1
^d   <--- ctrl+d

3) Installation Solaris 2.6 Packages

First, get info about disks.

iostat -En

Mount Solaris installation CD to /mnt/

mount -F hsfs -o ro /dev/dsk/c0t2d0s0 /mnt
cd /mnt/Solaris_2.6/Product

Although not neccessary, it is recommended to create a script to help mount CDROM

mkdir -p /usr/local/bin/

cat > /usr/local/bin/mount_cdrom
#Script mounts CDROM to /mnt
mount -F hsfs -o ro /dev/dsk/c0t2d0s0 /mnt
^d

chmod 755 /usr/local/bin/mount_cdrom

Install the required Sun packages.

touch /tmp/admin
cat >> /tmp/admin
instance=overwrite
mail=
basedir=/
^d

cd /mnt/Solaris_2.6/Product
pkgadd -a /tmp/admin -d . SUNWarc
pkgadd -a /tmp/admin -d . SUNWhea
pkgadd -a /tmp/admin -d . SUNWbtool
pkgadd -a /tmp/admin -d . SUNWlibC
pkgadd -a /tmp/admin -d . SUNWlibCf
pkgadd -a /tmp/admin -d . SUNWtoo
pkgadd -a /tmp/admin -d . SUNWlibm
pkgadd -a /tmp/admin -d . SUNWlibms
pkgadd -a /tmp/admin -d . SUNWsprot
pkgadd -a /tmp/admin -d . SUNWdfbh
pkgadd -a /tmp/admin -d . SUNWcg6h
pkgadd -a /tmp/admin -d . SUNWcsu

We need libraries from package SUNWxwrtl in order to run vim application. We are not going to install the package as libraries would be installed to /lib/ directory. This is not desired behavior because the directory /lib should be presented only as a symbolic link to /usr/lib. Manually copy required libraries to the following directories.

mkdir /usr/openwin/lib/

cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libXmu.so.4 /usr/openwin/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libXext.so.0 /usr/openwin/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/lib/libXm.so.3 /usr/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libXt.so.4 /usr/openwin/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libSM.so.6 /usr/openwin/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libICE.so.6 /usr/openwin/lib/
cp /mnt/Solaris_2.6/Tools/Boot/usr/openwin/lib/libX11.so.4 /usr/openwin/lib/

Halt Qemu image. Boot Qemu with this CD iso image:

/usr/local/bin/qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M
SS-20 -nographic -boot c -hda ./36G.disk -cdrom ./packages.iso -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"

Login to the system and set the Environment Variables.

LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/lib:/usr/local/X11/lib:/usr/dt/lib:/usr/openwin/lib
PATH=/usr/local/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/etc:/usr/etc:/usr/ucb:/usr/openwin/bin:/usr/local/etc
MANPATH=/usr/local/man:/usr/man:/usr/local/X11/man
export LD_LIBRARY_PATH PATH MANPATH

Add the lines also to /etc/profile to have variables kept after restart.

cat >> /etc/profile
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/lib:/usr/local/X11/lib:/usr/dt/lib:/usr/openwin/lib
PATH=/usr/local/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/etc:/usr/etc:/usr/ucb:/usr/openwin/bin:/usr/local/etc
MANPATH=/usr/local/man:/usr/man:/usr/local/X11/man
export LD_LIBRARY_PATH PATH MANPATH
^d

Mount CDROM.

/usr/local/bin/mount_cdrom
cd /mnt/

Install following Solaris packages with pkgadd -d command.

pkgadd -d egd-0.8-sol26-sparc-local
pkgadd -d bison-2.4.3-sol26-sparc-local
pkgadd -d make-3.82-sol26-sparc-local
pkgadd -d popt-1.14-sol26-sparc-local
pkgadd -d tcp_wrappers-7.6-sol26-sparc-local

We have perl installed in /usr/local/bin/. Create a symbolic link /usr/bin/perl pointing to /usr/local/bin/perl.

ln -s /usr/local/bin/perl /usr/bin/perl

4) SUNWcsl Installation

Halt the system and boot from Qemu disk with attached Solaris 9 Installation DVD. We need to install package SUNWcsl available in Solaris 9.

/usr/local/bin/qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -cdrom ./sol-9-905hw-ga-sparc-dvd.iso -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu"TI SuperSparc 60"

/usr/local/bin/mount_cdrom

touch /tmp/admin
cat >> /tmp/admin
instance=overwrite
mail=
basedir=/
^d

We need to bzcat utility to get SUNWcsl installed properly.

cp /mnt/Solaris_9/Tools/Boot/usr/bin/bzcat /usr/bin/
cp  /mnt/Solaris_9/Product/SUNWbzip/reloc/usr/lib/libbz2.so.1 /usr/lib/
cd /mnt/Solaris_9/Product

pkgadd -a /tmp/admin -d . SUNWcsl

Do you want to install these conflicting files [y,n,?,q] n
Do you want to install these conflicting files [y,n,?,q] y
Do you want to continue with the installation of <SUNWcsl> [y,n,?] y

Halt Solaris again and boot it again with packages.iso attached to CDROM.

/usr/local/bin/qemu-system-sparc -bios/usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -cdrom ./packages.iso -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"

5) Additional Solaris Packages and Perl Modules Installation

/usr/local/bin/mount_cdrom
cd /mnt/

pkgadd -d grep-2.7-sol26-sparc-local
pkgadd -d pcre-8.10-sol26-sparc-local
pkgadd -d flex-2.5.35-sol26-sparc-local
pkgadd -d m4-1.4.15-sol26-sparc-local

Use  a verson of grep that handles long lines.

mv /usr/bin/grep /usr/bin/grep-backup
ln -s /usr/local/bin/grep /usr/bin/grep

/usr/local/bin/bash

Edit /etc/passwd and change default shell for root to Bash.

root:x:0:1:Super-User:/:/usr/local/bin/bash

a) Install libpcap version of 1.1.1

cp -r /mnt/libpcap-1.1.1/ /export/home/
cd /export/home/libpcap-1.1.1/
./configure
make
make install

b) Install IO-Interface-1.06

cp -r /mnt/IO-Interface-1.06/ /export/home/
cd /export/home/IO-Interface-1.06/
perl Makefile.PL
make
make install clean

c) Install Getopt-Long-2.38

cp -r /mnt/Getopt-Long-2.38/ /export/home/
cd /export/home/Getopt-Long-2.38/
perl Makefile.PL
make
make install clean

d) Install IO-Socket-Multicast-1.12

cp -r /mnt/IO-Socket-Multicast-1.12/ /export/home/
cd /export/home/IO-Socket-Multicast-1.12/
perl Makefile.PL
make
make install clean

e) Install Test-Simple-0.98

cp -r /mnt/Test-Simple-0.98/ /export/home/
cd /export/home/Test-Simple-0.98/
perl Makefile.PL
make install clean

f) Install Time-HiRes-1.9725

cp -r /mnt/Time-HiRes-1.9725/ /export/home/
cd /export/home/Time-HiRes-1.9725/
perl Makefile.PL
make
make install clean

g) Install IO-1.25

cp -r /mnt/IO-1.25/ /export/home/
cd /export/home/IO-1.25/
perl Makefile.PL
make
make install clean

h) Install Module-Load-0.22

cp -r /mnt/Module-Load-0.22/ /export/home/
cd /export/home/Module-Load-0.22/
perl Makefile.PL
make
make install clean

i) Install Locale-Maketext-Simple-0.21

cp -r /mnt/Locale-Maketext-Simple-0.21/ /export/home/
cd /export/home/Locale-Maketext-Simple-0.21/
perl Makefile.PL
make
make install clean

j) Install Module-CoreList-2.60

cp -r /mnt/Module-CoreList-2.60/ /export/home/
cd /export/home/Module-CoreList-2.60/
perl Makefile.PL
make
make install clean

k) Install Params-Check-0.32

cp -r /mnt/Params-Check-0.32/ /export/home/
cd /export/home/Params-Check-0.32/
perl Makefile.PL
make
make install clean

l) Install Module-Load-Conditional-0.46

cp -r /mnt/Module-Load-Conditional-0.46/ /export/home/
cd /export/home/Module-Load-Conditional-0.46/
perl Makefile.PL
make
make install clean

m) Install ExtUtils-Constant-0.23

cp -r /mnt/ExtUtils-Constant-0.23 /export/home/
cd /export/home/ExtUtils-Constant-0.23/
perl Makefile.PL
make
make install clean

n) Install ExtUtils-MakeMaker-6.62

cp -r /mnt/ExtUtils-MakeMaker-6.62/ /export/home/
cd /export/home/ExtUtils-MakeMaker-6.62/
perl Makefile.PL
make
make install clean

o) Install IPC-Cmd-0.76

cp -r /mnt/IPC-Cmd-0.76/ /export/home/
cd /export/home/IPC-Cmd-0.76/
perl Makefile.PL
make
make install clean

p) Install PathTools-3.33

cp -r /mnt/PathTools-3.33/ /export/home/
cd /export/home/PathTools-3.33/
perl Makefile.PL
make
make install clean

q) Install ExtUtils-CBuilder-0.280202

cp -r /mnt/ExtUtils-CBuilder-0.280202/ /export/home/
cd /export/home/ExtUtils-CBuilder-0.280202/
perl Makefile.PL
make
make install clean

r) Install Socket-1.98

cp -r /mnt/Socket-1.98/ /export/home/
cd /export/home/Socket-1.98/
perl Makefile.PL
make
make install clean

s) Install Carp-1.24

cp -r /mnt/Carp-1.24/ /export/home/
cd /export/home/Carp-1.24/
perl Makefile.PL
make
make install clean

t) Install Exporter-5.66

cp -r /mnt/Exporter-5.66/ /export/home/
cd /export/home/Exporter-5.66/
perl Makefile.PL
make
make install clean

u) Install Config-General-2.50

cp -r /mnt/Config-General-2.50/ /export/home/
cd /export/home/Config-General-2.50/
perl Makefile.PL
make
make install clean

v) Install Text-ParseWords-3.27

cp -r /mnt/Text-ParseWords-3.27/ /export/home/
cd /export/home/Text-ParseWords-3.27/
perl Makefile.PL
make
make install clean

w) Install XSLoader-0.15

cp -r /mnt/XSLoader-0.15/ /export/home/
cd /export/home/XSLoader-0.15/
perl Makefile.PL
make
make install clean

x) Install Net-Pcap version 0.14

cp -r /mnt/Net-Pcap-0.14/ /export/home/
cd /export/home/Net-Pcap-0.14/
perl Makefile.PL INC=-I/usr/local/include/pcap LIBS='-L/usr/local/lib -lpcap'
make
make install clean

Remove files in /export/home. We do not need them anymore.

cd /export/home/
rm -rf /export/home/*

6) SSH  Configuration

cat /var/adm/wtmpx >> /usr/local/etc/prngd/prngd-seed
cat /var/adm/wtmpx >> /usr/local/etc/prngd/prngd-seed

mkdir /var/spool/prngd
/usr/local/sbin/prngd /var/spool/prngd/pool
ln -s /var/spool/prngd/pool /dev/egd-pool

To start prngd at boot create an init script:

cat >> /etc/init.d/prngd

#!/bin/sh

pid=`/usr/bin/ps -e | /usr/bin/grep prngd | /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
case $1 in
'start')
/usr/local/sbin/prngd /var/spool/prngd/pool
;;
'stop')
if [ "${pid}" != "" ]
then
/usr/bin/kill ${pid}
fi
;;
*)
echo "usage: /etc/init.d/prngd {start|stop}"
;;
esac
^d

Assign privilegies to the script.

chgrp sys /etc/init.d/prngd
chmod 555 /etc/init.d/prngd
ln -s /etc/init.d/prngd /etc/rc2.d/S98prngd

Setting up the sshd user and the /var/empty directory

mkdir /var/empty/
chown root:sys /var/empty/
chmod 755 /var/empty/
groupadd sshd
useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd

Create rsa and dsa public/private key pair

ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""

Create an init script.

cat >> /etc/init.d/sshd

case "$1" in
'start')
if [ -x /usr/local/sbin/sshd ]; then
echo "Starting the secure shell daemon"
/usr/local/sbin/sshd &
fi
;;

'stop')
echo "Stopping the secure shell daemon "
pkill -TERM sshd
;;
*)
echo "Usage: /etc/init.d/sshd { start | stop }"
;;
esac
exit 0
^d

chown root /etc/init.d/sshd
chgrp sys /etc/init.d/sshd
chmod 555 /etc/init.d/sshd
ln -s /etc/init.d/sshd /etc/rc2.d/S98sshd

To be bale login we have to set password for root account. Set password to root.

passwd

7) IOU Configuration

a) Prevent the iou binaries call home

cat >> /etc/hosts
127.0.0.127 xml.cisco.com
127.0.0.127 cisco.com
127.0.0.127 terence.cisco.com
127.0.0.127 terence
127.0.0.127 xml
127.0.0.127 cisco
^d

b)  Setting the NETMAP and iourc file

cat >> /etc/profile
IOURC=/export/home/iou/iourc
NETIO_NETMAP=/export/home/iou/NETMAP
export IOURC NETIO_NETMAP
^d

mkdir /export/home/iou/
touch /export/home/iou/NETMAP

cat >> /export/home/iou/iourc
[license]
iou = xxxxxxxxxxxxxxxx;  # Using hostname "iou" and hostid "72000000"
^d

Even hostid is calculated based on MAC address of the first Ethernet card, it is not changed when MAC address is changed.

To get valid licence number use crack.py script. Python must be installed.

mount -F hsfs -o ro /dev/dsk/c0t2d0s0 /mnt
cp -r /mnt/iou/carck.py /export/home/iou/
chmod 755 ./crack.py

cp -r /mnt/python-2.6.2-sol26-sparc-local /export/home/python/
cd /export/home/python/
pkgadd -d python-2.6.2-sol26-sparc-local

c) iou2net.pl, wrapper, iou_binary

cp /mnt/iou/iou2net.pl /export/home/iou/
chmod +x /export/home/iou/iou2net.pl

cp /mnt/iou/wrapper /export/home/iou/
chmod +x /export/home/iou/wrapper

cp /mnt/iou/iou_binary /export/home/iou/
chmod +x /export/home/iou/iou_binary

8) CPU Usage Limitation

To decrease CPU load of the host system use cpulimit utility.

Install Fedora packages.

sudo yum install svncpp.i686

Get the latest source code from Subversion repository with this command

svn checkout https://cpulimit.svn.sourceforge.net/svnroot/cpulimit/trunk cpulimit
cd ./cpulimit
make

Copy binary to /usr/local/bin/

cp ./cpulimit /usr/local/bin/

Examples of use:

- Get PID and CPU load with t0p command:

2534  root     20   0  403m 357m 2708 R 40.3 11.8  47:24.83 qemu-system-spa
1793  root     20   0  317m  54m  29m S 15.2  1.8  13:37.23 plasma-desktop

- Process can be specified by its name or PID.

Limit a process by name to 40% CPU

sudo /usr/local/bin/cpulimit -e qemu-system-sparc -l 40

or limit a process by PID to 40% CPU

sudo /usr/local/bin/cpulimit  -p 2534 -l 40

Clear logs and history

rm /.ssh/known_hosts
rm /.new
> /var/adm/wtmpx
> /.bash_history

9) Testing

a) Start Qemu disk

/usr/local/bin/qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"

Set sparc machine IP address:

ifconfig le0 172.18.100.150 netmask 255.255.0.0 up

Hostname IOU must be resolved by local DNS

cat >> /etc/hosts
172.18.100.150 iou

cat >> /export/home/iou/NETMAP
1:0/0@iou  11:0/0@iou    # iou is the hostname of the sparc qemu
1:0/1@iou  22:0/0@iou    # 11 and 22 are the gns3 router instances

b)  Run the iou sparc binary and the iou2net.pl script

/export/home/iou/wrapper -m  /export/home/iou/unixl2-upk9-ms.port-security -p 2001 -- -m 128 -q 1 &

perl /export/home/iou/iou2net.pl -p 11 -u 20001:172.18.100.141:30001 &
perl /export/home/iou/iou2net.pl -p 22 -u 20002:172.18.100.141:30002 &

172.18.100.141  is the Fedora host ip address.

c)  Start GNS3, use the cloud node and connect the routers using NIO_UDP settings

nio_udp:30001:172.18.100.150:20001
nio_udp:30002:172.18.100.150:20002

172.18.100.150 is the remote (qemu sparc) IP address.

26 thoughts on “Installation Solaris Sparc 2.6 (SunOS 5.6) on Qemu - Part3 iou2net.pl Installation

  1. Hi..

    I can not boot...error message.

    sudo qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -m 512 -cdrom ./2.6/Solaris_2.6_Software_05_98.img -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu “TI SuperSparc 60″

    qemu-system-sparc: -cpu “TI: drive with bus=0, unit=0 (index=0) exists

  2. Above error is caused by double quotes when copy and paste quemu start script

    qemu-system-sparc: -cpu “TI: drive with bus=0, unit=0 (index=0) exists

    qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -cdrom ./2.6/Solaris_2.6_Software_05_98.img -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"

    "TI SuperSparc 60" --- This is the culprit.

  3. Can not compile libpcap-1.1.1 in solaris.... ./configure error... PLZZZZ HELP

    checking if dl_passive_req_t struct exists... no
    checking for getifaddrs... no
    checking sys/bufmod.h usability... yes
    checking sys/bufmod.h presence... yes
    checking for sys/bufmod.h... yes
    checking sys/dlpi_ext.h usability... no
    checking sys/dlpi_ext.h presence... no
    checking for sys/dlpi_ext.h... no
    checking whether we have SIOCGLIFCONF... no
    checking for socklen_t... no
    checking for getaddrinfo... no
    checking whether to build optimizer debugging code... no
    checking whether to build parser debugging code... no
    checking whether we have DAG API headers... no (/usr/local/include)
    checking whether we have the DAG API... no
    checking whether we have Septel API... no
    checking whether we have Myricom Sniffer API... no (/opt/snf)
    checking for flex... flex
    checking for flex 2.4 or higher... yes
    checking for bison... bison
    checking for ranlib... ranlib
    checking if sockaddr struct has the sa_len member... no
    checking if sockaddr_storage struct exists... no
    checking if dl_hp_ppa_info_t struct has dl_module_id_1 member... no
    checking if unaligned accesses fail... yes
    checking for USB sniffing support... no
    configure.: no Bluetooth sniffing support implemented for solaris2.6
    configure.: no CAN sniffing support implemented for solaris2.6
    checking for a BSD-compatible install... ./install-sh -c
    configure.: creating ./config.status
    config.status: error: cannot find input file: Makefile.in
    #

  4. Solution to error: config.status: error: cannot find input file: Makefile.in for libpcap

    mv makefile.in Makefile.in

  5. HI..

    What is below error in qemu monitor ?

    qemu-system-sparc -bios /usr/local/share/qemu/ss20_v2.25_rom -M SS-20 -nographic -boot c -hda ./36G.disk -cdrom ./packages.iso -m 512 -serial telnet:0.0.0.0:3000,server -net nic,vlan=0,macaddr=00:aa:00:60:00:01,model=lance -net tap,vlan=0,ifname=tap0,script=no -smp 2,cores=4 -cpu "TI SuperSparc 60"
    QEMU waiting for connection on: telnet:0.0.0.0:3000,server
    QEMU 1.0.50 monitor - type 'help' for more information

    (qemu) ESP ERROR: esp_mem_write: Unhandled ESP command (a2)

  6. Awesome job sir! helped me a lot ;-) everything is fine ... but I've a little Q ... Is it possible to get more than one cpu under qemu?!?! vainly, I set it like you, but "there is nothing" for me, and you too. I copied here from your another post:
    Cpu #1 Nothing there
    Cpu #2 Nothing there
    Cpu #3 Nothing there

    thanks

  7. simics does a better job..you can have more than 4 GB ram in simulated solaris.
    Performance also significantly better.

    Anyway it is great post. Thanks Brez.

  8. Thank you, successfully installed the whole procedure on a windows host, running rhel 6 guest, running qemu-solaris/iou

    A question: can the solaris boot-up procedure (setenv, reset, boot) be automated somehow?

    very nice post/guide

      1. Thanks.

        I don't know what I did wrong but I can't make it working on Solaris 10. I have installed all packages and perl modules but keep getting the following error:

        Can't create IOU pseudo socket.

        The other issue i have is the following code does not work:

        next
        if !( $_ =~
        m/^d+:d+/d+@[w-]+[ t]+$pseudo_instance:d+/d+@[w-]+(s|t)*$/
        );

        So looks like that I am missing some modules..

  9. I have managed successfully to install everything :)

    Windows 7 64bit - > VMware Workstation 7 - > Ubuntu 12.04 32 bit - > Quemu 1.1.1 -> Solaris 2.6 Sparc.

    Thanks a lot !!!!

  10. Hi,

    I am getting error when build libpcap 1.1.1 in solaris

    # make
    make: *** No rule to make target `VERSION', needed by `version.h'. Stop.

    I am also failed when Installing perl module IO-Interface-1.06

    # cd /export/home/IO-Interface-1.06/
    # perl Makefile.PL
    Checking for getifaddrs()... Nope, will not use it.
    Checking for sockaddr_dl... Okay, I will use it.
    Could not open 'Interface.pm': No such file or directory at /usr/local/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm line 3079.
    # make
    make: *** No targets specified and no makefile found. Stop.

    Please give suggestion to overcome this problem. Thanks

    1. Maybe you should check your filenames.
      I created 'iso' files and mounted it.
      Then the capital letters in the original filenames are now all lower cases.
      I had to manually change all relevant filenames to the original ones.

  11. I followed all "5) Additional Solaris Packages and Perl Modules Installation"
    to the final step of "x) Install Net-Pcap version 0.14"
    and now I'm having some problem.

    # perl Makefile.PL INC=-I/usr/local/include/pcap LIBS='-L/usr/local/lib -lpcap'

    looking for -lpcap... yes
    checking for pcap_lib_version() in -lpcap... yes
    trying to detect actually available functions... ok
    Writing Makefile for Net::Pcap
    , or } expected while parsing object/hash, at character offset 263 (before ""author":["Sx{e9}ba...") at /usr/local/lib/perl5/5.8.5/CPAN/Meta/Converter.pm line 23
    at /usr/local/lib/perl5/5.8.5/ExtUtils/MM_Any.pm line 1278

    After this, 'make' would return error.

    Can you help me, please?

    1. Oh, I just solved the problem.
      I though files in the folder named 't' was test purpose
      and not critical.
      But after I update all the lowercased filenames in the 't' folder,
      perl / make / make install clean all worked.

  12. Great work, but my question is: worth the effort? I've read on RouteReflector blog that Solaris IOU versions contains almost every functions (for example, in L2 emulation only VTP is on the list of the missing features). Is this true? Did someone tested all the functions work under Solaris that are not under Linux?

  13. I have installed a sparc windows 7 qemu, but I can not run the network I have tap32windows installed but I can not make it work, is there any chance to help me? thank you

  14. ok boot disk0
    Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@0,0 File and args:
    Trap # (hex) be

    Why did you not enter the installation interface?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.