L'installation de FreeBSD (par le port série car la carte graphique VR-500 n'est pas supportée) n'a pris que quelques minutes: On démarre sur le CD freebsd-8.1-sparc64, on l'installe, c'est fini... Normal quoi.
Je me dit que cela va être identique pour osol (c'est le petit nom d'OpenSolaris)… Grave erreur.
En effet j'ai téléchargé et gravé l'unique image ISO correspondante à mon matériel sur le site OpenSolaris.org qui est «OpenSolaris 2009.06 SPARC Automated Install Image.iso»… Mais impossible de démarrer le SunBlade sur ce CD!
Après quelques recherches, je découvre que ce CD n'est simplement pas bootable et que pour pouvoir installer la version «Automated Install» il faut obligatoirement passer par un serveur PXE à la sauce Solaris…
L'installation simple d'OpenSolaris à partir d'un CD sur une machine sparc n'est tout simplement pas prévus O_o
Heureusement qu'il y a des gens qui ne sont pas bête et en plus très sympa. Et même que l'une de ces rares personnes a mis au point un live CD d'OpenSolaris pour sparc, et même mieux: Il propose en plus un script d'installation d'OpenSolaris à partir de son liveCD.
Un deuxième joyeux larron a réalisé la capture de l'ensemble du process d'installation (ce qui m'a bien aidé pour mon problème de partition EFI).
Aller, fini pour le blabla, place à l'action:
La galette du liveCD encore chaude est dans le lecteur DVD du SunBlade.
On commence par envoyer un «break» pour appeller l'OBP.
À partir du clavier sun: Stop + A
À partir du port série: Ca dépend de votre émulateur
Une fois dans l'OBP on entre
boot cdrom
On attends que ca ce lance, puis au prompt:
login: root
password: opensolaris
Maintenant il faut activer l'interface réseau. Mais pour cela il faut connaitre son nom:prtconf -D | grep net
Ca ne me donne «eri», que l'on active par:
ifconfig eri0 plumb
Maintenant il lui faut configurer son IP, soit en statique:
ifconfig eri0 192.168.0.2/24
Soit en dhcp client:
ifconfig eri0 dhcp start
(Attention le DNS n'est pas fonctionnel)
Puis on démarre ssh:
svcadm enable ssh
On va en profiter pour télécharger le script d'install d'osol depuis une autre machine et le transférer par scp sur votre Sun:
[olivier@freebsd]~>fetch http://www.milax.org/files/zfsinstall_sparc
[olivier@freebsd]~>scp zfsinstall_sparc jack@192.168.100.2:/tmpPassword: jack
Dernière étape avant de lancer l'installation: Connaitre le nom du disque par la commande «format» qui me donne «c4t0d0».
Et vérifier que ce disque utilise le format de partition SMI et non EFI: Comme j'avais déjà installé un FreeBSD qui à créé des partition EFI, j'ai du les supprimer pour créer une seule partition SMI.
root@opensolaris:~# format -e
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c4t0d0 /pci@1f,0/ide@d/dad@0,0
Specify disk (enter its number): 0
selecting c4t0d0
[disk formatted, no defect list found]
Reading the primary EFI GPT label failed. Using backup label.
Use the 'backup' command to restore the primary label.
(...)
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 0
format> partition
(...)
partition> print
Current partition table (unnamed):
Total disk cylinders available: 38307 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 swap wu 0 0 (0/0/0) 0
2 backup wu 0 - 38306 74.53GB (38307/0/0) 156292560
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 - 38306 74.53GB (38307/0/0) 156292560
7 unassigned wm 0 0 (0/0/0) 0
partition> 1
Part Tag Flag Cylinders Size Blocks
1 swap wu 0 0 (0/0/0) 0
Enter partition id tag[swap]:
Enter partition permission flags[wu]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]:
partition> 2
Part Tag Flag Cylinders Size Blocks
2 backup wu 0 - 38306 74.53GB (38307/0/0) 156292560
Enter partition id tag[backup]: unassigned
Enter partition permission flags[wu]: wm
Enter new starting cyl[0]:
Enter partition size[156292560b, 38307c, 38306e, 76314.73mb, 74.53gb]: 0
partition> 6
Part Tag Flag Cylinders Size Blocks
6 usr wm 0 - 38306 74.53GB (38307/0/0) 156292560
Enter partition id tag[usr]: unassigned
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[156292560b, 38307c, 38306e, 76314.73mb, 74.53gb]: 0
partition> 0
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
Enter partition id tag[unassigned]: root
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 38307c
partition> print
Current partition table (unnamed):
Total disk cylinders available: 38307 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 38306 74.53GB (38307/0/0) 156292560
1 unassigned wu 0 0 (0/0/0) 0
2 unassigned wm 0 0 (0/0/0) 0
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 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
partition> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]:
Ready to label disk, continue? y
partition> q
(...)
format> quit
Maintenant on peux lancer le script d'installation sur le slice s0 du disque dur:
root@opensolaris:~# ksh /tmp/zfsinstall_sparc c4t0d0s0
Starting to copy data from UFS root to /zfsroot - this may take some time.
Updating vfstab
updating /zfsroot//platform/sun4u/boot_archive
Installing zfs bootblk on /dev/rdsk/c4t0d0s0
###################################################
OpenSolaris now installed.
Une fois l'installation terminée, on démonte le zfs et on reboot:
root@opensolaris:~# beadm umount opensolaris
root@opensolaris:~# reboot
et on configure le réseau un minimum:
touch /etc/hostname.eri0
touch /etc/dhcp.eri0
touch /etc/dhcp.eri0
Puis remplacer dans le fichier /etc/nsswitch.conf, la ligne:
hosts: file
parhosts: file dns
Un petit reboot pour vérifier que le réseau ce lance tout seul au démarrage.
Vous pouvez ensuite lancer une mise à jour vers la dernière version d'osol (qui utilise nativement les fonctionnalités de clonage zfs pour revenir en arrière):
pkg refresh --full
pkg image-update
pkg image-update
Maintenant, ne reste plus qu'a trouver comment lui installer une jolie interface graphique.