Qemu下安装Sun Solairs8简明教程

Qemu下安装Sun Solairs8简明教程(Centos6.1 / Win7)
作者:as_hunter 
前言:我使用的是centos6.1和win7环境,其他环境没有测试,且win7下不能全新安装solaris8只能使用现有镜像。

1.安装qemu
qemu version 1.0.1
进入linux下编译安装qemu
./configure --target-list=sparc-softmmu        //我们只要qemu-system-sparc,安装路径在/usr/local/bin下
make
sudo make install

2.建立硬盘
qemu-img create -f qcow2 solaris8.img 36g
建立一个为36g大小的虚拟磁盘文件。不要选择其他大小,因为后面涉及到硬盘格式化需要的c/h/s参数。
这里提供另一套参数以供选择,磁盘大小10495760k c/h/s=6525/17/189,经测试没有问题。

3.准备sol-8-u7-sparc-v1.iso
执行命令:
qemu-systme-sparc -M SS-5 -m 256 -hda /path/to/solaris8.img -cdrom /path/to/sol-8-u7-sparc-v1.iso -nographic -prom-env auto-boot?

=false
释义:
qemu-systme-sparc     //qemu模拟sparc程序
-M SS-5     //模拟SparcStation-5型号机器,该机最大内存为256
-m 256         //内存256m
-hda /path/to/solaris8.img     //硬盘为solaris8.img镜像文件,/path/to/是该文件的路径,视具体情况而定
-cdrom /path/to/sol-8-u7-sparc-v1.iso //cd光盘为sol-8-u7-sparc-v1.iso
-nographic    //禁用显示器输出,因为显卡模拟有点问题(不是不可以,大部分情况下很卡,偶有问题)
-prom-env auto-boot?=false    //禁止系统自动启动

这里我们使用的是qemu自带的openbios-sparc32,而不是OBP。
4.硬盘格式化
执行如上命令后,系统进入如下提示符:
0 >
输入"boot cdrom:d -s",启动光盘单用户模式
经过一段屏显后进入如下提示符:
#
输入"format"
Searching for disks...WARNING: /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0 (sd0):
        corrupt label - wrong magic number

        Vendor 'QEMU', product 'QEMU', 75497472 512 byte blocks
done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <drive type unknown>
          /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0
Specify disk (enter its number):     <-输入0

AVAILABLE DRIVE TYPES:
        0. Auto configure
        1. Quantum ProDrive 80S
        2. Quantum ProDrive 105S
        3. CDC Wren IV 94171-344
        4. SUN0104
        5. SUN0207
        6. SUN0327
        7. SUN0340
        8. SUN0424
        9. SUN0535
        10. SUN0669
        11. SUN1.0G
        12. SUN1.05
        13. SUN1.3G
        14. SUN2.1G
        15. SUN2.9G
        16. Zip 100
        17. Zip 250
        18. other
Specify disk type (enter its number):     <-输入18
Enter number of data cylinders:     <-输入24620
Enter number of alternate cylinders[2]: 
Enter number of physical cylinders[24622]: 
Enter number of heads:             <-输入27
Enter physical number of heads[default]: 
Enter number of data sectors/track:     <-输入107
Enter number of physical sectors/track[default]: 
Enter rpm of drive[3600]: 
Enter format time[default]: 
Enter cylinder skew[default]: 
Enter track skew[default]: 
Enter tracks per zone[default]: 
Enter alternate tracks[default]: 
Enter alternate sectors[default]: 
Enter cache control[default]: 
Enter prefetch threshold[default]: 
Enter minimum prefetch[default]: 
Enter maximum prefetch[default]: 
Enter disk type name (remember quotes): Qemu36G
selecting c0t0d0
[disk formatted]


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format>                 <-输入label
Ready to label disk, continue?         <-输入y

WARNING: /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0 (sd0):
        corrupt label - wrong magic number

        Vendor 'QEMU', product 'QEMU', 75497472 512 byte blocks
        <Qemu36G cyl 24620 alt 2 hd 27 sec 107>
format>                 <-再次输入label
Ready to label disk, continue?         <-输入y
format>                    <-输入q
#                    <-输入reboot

5.安装
进入
0 >
输入"boot cdrom:d"
language    选择语言
0

locale    键盘布局
0

terminal    终端类型
3        //一定要选这个,不选它以后键盘输入会很崩溃

按提示操作,一般按键为F2或esc+2继续
4)network设置
networkd    yes
DHCP        no
hostname    solaris
IPaddr        10.0.0.1
subnet        yes
netmask        255.255.255.0
IPv6        no
稍等一会儿,弹出配置清单
确认无误按F2继续,有误按F4变更。
kerbero        no
name service    none
Regions        Asia,Eastern    注意按esc-2继续
Time zones    PRC
Date and time
弹出配置清单
没有问题就继续,这里要稍等1-2分钟

F2 选择standard
geographic    不选,直接F2
64位支持        不选,直接F2
安装类型        选择Core System Support
F2继续        默认安装引导磁盘

划分磁盘空间
F4    手动分区
只选择/和swap两个分区
F4自定义磁盘空间
共有34730m可用空间,swap 分配1024,剩下的都分配给/ ,其中overlap为空间大小合计(好像可以这样理解)
F2继续
直到安装前一步选择Manual Reboot(这里是关键步骤!)
F2开始安装
安装完毕后进入
#

解决硬盘启动问题
echo "set scsi_options=0x58" >> /a/etc/system

解决只能进入单用户模式问题(据说)

cd /a/etc/rc2.d
mv S75cron s75cron
mv S76nscd s76nscd
mv S88sendmail s88sendmail
mv S71rpc s71rpc
mv S73nfs.client s73nfs.client
mv S74autofs s74autofs
mv S74syslog s74syslog
mv S88utmpd s88utmpd
mv S99audit s99audit

cd /a/etc/rc3.d
mv S15nfs.server s15nfs.server

halt

6.至此,硬盘镜像制作完成。整个安装过程半个小时足矣。
建议在制作完成后新建一个用户,开启系统自带的telnet功能方便以后管理。


既然要使用telnet功能,那么我们就需要进行网络配置。

下面进行网络配置:
1)linux下qemu桥接方式:
yum install -y bridge-utils

cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-br0
编辑ifcfg-eth0,内容如下
DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0        //这里是重点

编辑ifcfg-br0        ip地址自定义
DEVICE=br0
TYPE=Bridge        //这是重点
BOOTPROTO=static
BROADCAST=10.0.0.254
IPADDR=10.0.0.2
NETMASK=255.255.255.0
NETWORK=10.0.0.0
GATEWAY=10.0.0.254
ONBOOT=yes

service network restart
重启网络即可生效

编辑启动脚本
/etc/qemu-ifup
内容如下:
#!/bin/sh
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
sudo /usr/sbin/brctl addif br0 $1
sleep 2

chmod +x /etc/qemu-ifup
启用桥接网络需要管理员权限,将用户加入sudoer组中,或者使用root权限执行该脚本。如果使用root则脚本中无需使用sudo。

linux下启动方式
sudo /path/to/qemu-system-sparc -m 256 -hda /path/to/solaris8.img -nographic -net nic,vlan=0 -net 

tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup

2)复制硬盘镜像到windows系统
下载openvpn并安装-->添加一个tap-win32的网卡,更改网卡名称为tap0,配置ipv4,eg:10.0.0.2/24

下载qemu-windows-1.0.1软件包,有条件自行编译。据说使用mingw可以,我没有成功。

解压缩并将硬盘镜像复制到同一目录,同时确保openbios-sparc32文件与qemu-system-sparc.exe文件在同一目录

打开cmd,进入qemu-windows-1.0.1目录,
eg:
c:\qemu-windows-1.0.1>qemu-system-sparc -m 256 -hda solaris8.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 [-nographic -serial 
mon:telnet:localhost:23,server,nowait]
等待硬盘灯狂闪之后就可以telnet到10.0.0.1地址进行管理了。

<注>:其中[]部分为可选,不选的话会弹出图形化窗口,只是比较卡,很影响运行速度;选用的话理论上可以通过telnet localhost来弹出管理界面
,但是我的系统一直没有反应,但是不加上-serial mon:telnet:localhost:23,server,nowait的话,就无法通过Telnet来访问10.0.0.1,原因不明。

以上就是我近期折腾的结果,水平不高,希望高手指正。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2012.3.27更新
经过又一上午的折腾,在win7下成功编译qemu-0.15.1(编译1.0.1卡住了),目前测试良好,实现了-serial mon参数可用。
发一下,顺便活跃一下气氛。
包括qemu-system-sparc主程序、镜像文件、openvpn安装文件,打包总计20.6m。

<注>:文件包内不包含其他文件,需要请自行更改,谢谢支持。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2012.3.28更新
1) 安装bash并设置为solaris用户默认shell,主要是键盘输入习惯问题,root及su仍然使用csh,我不会改索性就算了;
2)修正solaris用户主目录位置/export/home/solaris;
3)加入iolrc文件,位置为/export/home/solaris/.iolrc;
4)ioyou文件就不放了,体积太大,小猫传不动,21m不到的东西传了我个把小时;

如何上传文件就不说了,在readme里。

qemu-0.15.1;包括qemu-system-sparc主程序、镜像文件、openvpn安装文件,打包总计20.6m
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页