Jumpstart : automatiser les installations Solaris sans réseaux

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Pour mon boulot, j'ai du automatiser des install Solaris. Et pour ça il existe Jumpstart. Le problème c'est que dans un nouveau datacenter, on a pas toujours ce qu'il faut. Et c'est bien là le problème. C'est pourquoi j'ai potasser des docs sur le net, qui ne fonctionnent vraiment pas toutes et vais tenter d'en faire une compréhensible qui fonctionne (tant qu'a faire).

2 Prérequis

Il vous faudra une Solaris toute fraiche sur laquelle vous allez faire un minimum de configuration. Installez également ce qui vous intéresse.

Note: pour le moment, oubliez la version ZFS du root et mettez vous en UFS. Il n'existe pas de méthode propre pour faire une flash install en ZFS.

Il vous faudra également le package SUNWmkcd pour avoir la commande mkisofs.

3 Création du Flar

Nous allons donc créer une image flar qui va nous faire une archive du système actuel :

Command flarcreate
mkdir -p /export/home/sol10jumpstart
flarcreate -n sol10_jumpstart -c /export/home/sol10jumpstart/sol10_auto.flar

4 Copie du DVD

Nous allons copier le contenu du DVD afin de pratiquer les modifications qu'il faut dessus :

Command cp
cp -Rf /cdrom/cdrom0 /export/home/dvd
rm -Rf /export/home/dvd/Solaris_10/Product

5 x86.miniroot

5.1 Unpack

Nous allons ici décompacter x86.miniroot afin d'en modifier le contenu :

Command root_archive
/boot/solaris/bin/root_archive unpack /export/home/dvd/boot/x86.miniroot /var/tmp/miniroot

5.2 Jumpstart CDROM

Maintenant, pour palier à un petit problème, nous allons éditer ce fichier et vous devrez commentez ces 2 lignes :

Configuration File /var/tmp/miniroot/usr/sbin/install.d/profind
# Factory JumpStart (default) profile search
# Arguments:    none
#
cdrom()
{
   # Factory JumpStart is only allowed with factory
   # stub images, indicated by the file /tmp/.preinstall
   #
   #if [ -f /tmp/.preinstall ]; then
       mount -o ro -F lofs ${CD_CONFIG_DIR} ${SI_CONFIG_DIR} >/dev/null 2>&1

       if [ $? -eq 0 ]; then
           verify_config "CDROM"
       fi
   #fi
}

5.3 sysidcfg

Voici certainement le fichier le plus intéressant pour paramétrer son jumpstart. Mais dans un premier temps, il va falloir supprimer le liens symbolique qui existe de base qui va nous empêcher le bon fonctionnement du jumpstart :

Command rm
rm /var/tmp/miniroot/etc/sysidcfg

Maintenant, nous allons créer un nouveau fichier avec ce contenu :

Configuration File /var/tmp/miniroot/etc/sysidcfg
timezone=UTC
timeserver=localhost
name_service=NONE
network_interface=primary {
  netmask=255.255.255.0
  protocol_ipv6=no
  default_route=NONE }
nfs4_domain=dynamic
security_policy=NONE
#keyboard=US-English
system_locale=en_US
terminal=vt100
root_password=REPLACE_WITH_YOU_OWN

Pour le mot de passe, vous devez récupérer la version cryptée dans /etc/shadow par exemple. Voici un autre exemple :

Configuration File /var/tmp/miniroot/etc/sysidcfg
name_service=none
root_password=TITJXNq6L24dw
network_interface=none
security_policy=none
system_locale=C
terminal=vt100
timeserver=localhost

Et voici un autre exmple :

Configuration File /var/tmp/miniroot/etc/sysidcfg
name_service=none
timezone=UTC
timeserver=localhost
root_password=OngWELbxoVfUU
network_interface=nge0 {hostname=installtemp default_route=1.1.1.2 ip_address
=1.1.1.3 netmask=255.255.0.0 protocol_ipv6=no}
nfs4_domain=dynamic
security_policy=none
system_locale=C
terminal=vt100
timeserver=localhost

5.4 Pack

Maintenant on va repackager le tout :

Command root_archive
/var/tmp/miniroot/boot/solaris/bin/root_archive pack /export/home/dvd/boot/x86.miniroot /var/tmp/miniroot

6 Déplacer le flar

Déplaçons le flar dans le dossier contenant le DVD de Solaris avec les dernières modifications que nous lui avons apporté :

Command mv
mv /export/home/sol10jumpstart/sol10_auto.flar /export/home/dvd

7 Personnalisation du Jumpstart

Nous allons donc choisir les automatisations que nous souhaitons apporter :

Command
cd /export/home/dvd
rm -Rf .install_config
mkdir .install_config
cd .install_config

7.1 any_profile

Configuration File any_profile
install_type flash_install
archive_location local_file /cdrom/sol10_auto.flar
fdisk all solaris all
partitioning explicit
filesys rootdisk.s0 20480 /
filesys rootdisk.s1 4096 swap
filesys rootdisk.s3 10240 /var
filesys rootdisk.s4 1024 /globaldevices
filesys rootdisk.s7 free /export/home

7.2 begin

Configuration File begin
#!/bin/sh
echo "Begining ISO FLAR based jumpstart."

7.3 finish

Configuration File finish
#!/bin/sh
ROOTDIR=${ROOTDIR:-/a}
 
#echo "Finish script for Jumpstart FINISH"
#echo "Get rid of the nfs prompt"
touch ${ROOTDIR}/etc/.NFS4inst_state.domain
 
# TODO: keep exit status, return it, use the first error encountered.

7.4 rules

Configuration File rules
probe rootdisk
probe disks
probe karch
probe memsize
probe model
probe hostname
any -  begin any_profile finish

Ensuite, il va falloir vérifier toute la conf. Heureusement un petit outil existe (cette commande est obligatoire) :

Command check
/export/home/dvd/Solaris_10/Misc/jumpstart_sample/check

7.5 Grub

Nous allons éditer le menu de boot. Rajoutez ces lignes (doivent être placée au début des title) :

Configuration File /export/home/dvd/boot/grub/menu.lst
title Solaris 10 Jumpstart
      kernel /boot/multiboot kernel/unix - install w -B install_media=cdrom
      module /boot/x86.miniroot

8 Création du fichier ISO

Il ne reste plus qu'a faire le fichier ISO avec tout ce que nous avons pu faire :

Command mkisofs
cd /export/home/dvd/
mkisofs -b boot/grub/stage2_eltorito -c .catalog -no-emul-boot -boot-load-size 4 -boot-info-table -relaxed-filenames -l -ldots -r -N -d -D -V SOL10JUMPSTART -o /export/home/mysol10u6x86.iso .

Il ne reste plus qu'a le graver et booter dessus :-)

9 FAQ

9.1 /export/home/dvd/boot/x86.miniroot: override protection 444

Si vous avez cette erreur, copiez le contenu du DVD dans un dossier et réessayer votre commande (généralement) :

Command
/boot/solaris/bin/root_archive pack /export/home/sol_10_1008_x86/boot/x86.miniroot /var/tmp/miniroot

10 Réferences

http://wikis.sun.com/display/BigAdmin/Creating+a+bootable+ISO+image
http://run.tournament.org.il/tag/flar/
http://docs.sun.com/app/docs/doc/819-5776/6n7r9js2j?a=view
http://www.sun.com/bigadmin/features/articles/jumpstart_x86_x64.jsp
http://forums.sun.com/thread.jspa?threadID=5372582&tstart=0
http://amorin.org/professional/jumpstart.php
http://docs.sun.com/app/docs/doc/820-2315/ggsez?l=fr&a=view
http://www.eng.auburn.edu/~doug/howtos/multipathing.html