В предыдущей статье мы подготовили машину в QEMU к установке Solaris и загрузили её с CD с Solaris 2.6.
В этот раз произведём установку Solaris 2.6 и убережёмся от возникающих подводных камней.
Запускаем QEMU командой из прошлой статьи и подключаемся через telnet к localhost:13666
.
qemu-system-sparc \
-M SS-5 -m 256 \
-bios ss5.bin \
-nographic \
-serial mon:telnet:127.0.0.1:13666,server,nowait \
-hda hda_qcow_36g.img \
-drive media=cdrom,index=6,file=solaris_2.6_598_sparc.iso \
-net nic -net tap,ifname=tap0
Видим приглашение командной строки (если нет - поотбивайте Enter) и загружаемся с cdrom в Single user режиме для записи метки на наш чистый диск (boot cdrom -s
):
Type help for more information
ok
ok boot cdrom -s
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d File and args: -s
SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
Configuring devices...
fdintr: nobody sleeping (c0 0 0)
NOTICE: SBus clock frequency out of range.
/
INIT: SINGLE USER MODE
#
Вызываем команду format
и доходим до этапа выбора параметров диска:
# 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
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. other
Specify disk type (enter its number): 16
Их берём, например, из прошлой статьи:
SUN1.0G cyl 1703 alt 2 hd 15 sec 80
SUN9.0G cyl 4924 alt 2 hd 27 sec 133
SUN18G cyl 7506 alt 2 hd 19 sec 248
SUN36G cyl 24620 alt 2 hd 27 sec 107
Для нашего диска в 36G, соответственно, последняя строчка:
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): SUN36G
selecting c0t0d0
[disk formatted]
Стоит отметить, что использование слишком большого раздела root
, приводит к невозможности загрузки системы. Так что стоит либо использовать меньший объём, либо разделять дисковое пространство между /
и /usr
.
Продолжаем создание разделов на диске:
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
format> partition
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> modify
Select partitioning base:
0. Current partition table (SUN36G)
1. All Free Hog
Choose base (enter number) [0]? 1
Part Tag Flag Cylinders Size Blocks
0 root wm 0 0 (0/0/0) 0
1 swap wu 0 0 (0/0/0) 0
2 backup wu 0 - 24619 33.92GB (24620/0/0) 71127180
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
Do you wish to continue creating a new partition
table based on above table[yes]?
Free Hog partition[6]?
Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 1gb
Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]: 512mb
Enter size of partition '3' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '4' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '7' [0b, 0c, 0.00mb, 0.00gb]:
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 725 1.00GB (726/0/0) 2097414
1 swap wu 726 - 1088 512.06MB (363/0/0) 1048707
2 backup wu 0 - 24619 33.92GB (24620/0/0) 71127180
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 1089 - 24619 32.42GB (23531/0/0) 67981059
7 unassigned wm 0 0 (0/0/0) 0
Okay to make this the current partition table[yes]? yes
Enter table name (remember quotes): sparc
Ready to label disk, continue? y
partition>
Выходим из format
, останавливаем систему (halt
) и загружаемся с cdrom в интерактивный установщик (boot cdrom
):
partition> quit
format> quit
# sync
# halt
syncing file systems... done
Program terminated
ok
ok boot cdrom
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d File and args:
SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
Configuring devices...
fdintr: nobody sleeping (c0 0 0)
NOTICE: SBus clock frequency out of range.
The system is coming up. Please wait.
Далее выполняем установку Solaris в соответствии с вашими предпочтениями, она состоит большей частью из тривиальных этапов, таких как:
Select a Language: English
Select a Locale: USA - English (ASCII only)
What type of terminal are you using: X Terminal Emulator (xterms)
Host name: sparc
Networked: Yes
IP address: 10.0.0.1
Name service: None
System part of a subnet: Yes
Netmask: 255.0.0.0
Regions: other - offset from GMT
Hours offset: 3
System identification is completed.
Allocate Client Services: Continue
Select Languages: None
Доходим до этапа выбора устанавливаемого набора софта:
Select the Solaris software to install on the system.
NOTE: After selecting a software group, you can add or remove software by
customizing it. However, this requires understanding of software
dependencies and how Solaris software is packaged.
[ ] Entire Distribution plus OEM support .. 720.00 MB
[ ] Entire Distribution ................... 701.00 MB
[ ] Developer System Support .............. 633.00 MB
[X] End User System Support ............... 374.00 MB (F4 to Customize)
[ ] Core System Support ................... 181.00 MB
Выбираем по своему вкусу. Также отмечаю, что от выбора того или иного варианта, зависит время установки.
Select Disks: c0t0d0
Select Boot Disk: c0t0d0
Reconfigure EEPROM: Don't Reconfigure EEPROM
Preserve Data: Continue
Automatically Layout File Systems: Manual Layout
File System and Disk Layout: Customize
Slice Mount Point Size (MB)
0 / 1024
1 swap 512
2 overlap 34730
3 0
4 0
5 0
6 /usr 33193
7 0
File System and Disk Layout:
File system/Mount point Disk/Slice Size
=============================================================
/ c0t0d0s0 1024 MB
swap c0t0d0s1 512 MB
overlap c0t0d0s2 34730 MB
/usr c0t0d0s6 33193 MB
Mount Remote File Systems: Continue
Profile: Continue
Reboot After Installation: Manual Reboot
Важно выбрать ручную перезагрузку в последнем пункте, так как в состоянии сразу-после-устаноки система не загружается с ошибкой:
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@0,0: File and args:
SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
Cannot assemble drivers for root /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0:a
Cannot mount root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0:a fstype ufs
panic: vfs_mountroot: cannot mount root
rebooting...
Resetting ...
После завершения установки попадаем в shell и выполняем следующую команду:
echo 'set scsi_options=0x58' >> /a/etc/system
Теперь можно перезагружаться в нашу систему с помощью reboot
.
Если же, вы пропустили этот этап и оказались с незагружаемой системой, загружаемся с cdrom в single user режиме и исправляем это недоразумение:
ok boot cdrom -s
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d File and args: -s
SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
Configuring devices...
fdintr: nobody sleeping (c0 0 0)
NOTICE: SBus clock frequency out of range.
/
INIT: SINGLE USER MODE
# mount /dev/dsk/c0t0d0s0 /a
# echo 'set scsi_options=0x58' >> /a/etc/system
# reboot
Установка завершена, можно загружать систему с помощью (boot disk0
):
ok boot disk0
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@0,0 File and args:
SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
/
При первом запуске будет предложено задать пароль root
'а.
На этом установка Solaris 2.6 завершена, в следующей статье разберём конфигураию и запуск install server'а, и загрузка другой Sparcstation 5 по сети с эмулированного Sparcstation 5 в QEMU.