graver un cdrom bootable Solaris

mercredi 17 septembre 2008
par  Jerome ROBERT
popularité : 11%

Merci à Andre Faucillon  ( expert stockage et cluster sur matériel SUN )auteur de ces articles !

Comment graver un cdrom bootable Solaris


première méthode

# Copyright StartIP 1999-2000 La difficulte a resoudre dans la gravure d'un cederom bootable est la presence de systemes de fichiers UFS et HSFS sur le meme cederom. La procedure suivante vous permet de realiser la copie ou l'adaptation d'un cederom Solaris bootable. Inserez le cederom bootable d'origine dans le lecteur de cederom de votre station SUN (que nous supposerons en target 6). Pensez a travailler dans un repertoire contenant suffisamment d'espace (environ 1.5 Go). 1. Recuperation de la VTOC (partitionnement) du Cederom ---------------------------------------------------- Executez la commande suivante : dd if=/dev/dsk/c0t6d0s0 of=cdrom.vtoc bs=512 count=1 2. Recuperation des systemes de fichiers HSFS ------------------------------------------ Executez, en Bourne shell, la commande suivante : for partition in 1 2 3 4 5 do dd if=/dev/dsk/c0t6d0s${partition} of=cdrom.s${partition} done 3. Recuperation de la partition numero 0 du cederom ------------------------------------------------ Recopiez dans votre repertoire d'adaptation les parties qui vous interesse. Vous pouvez si vous ne souhaitez pas adapter votre copie de cederom bootable recopier tout (utilisez la commande cp ou tar pour copier). 4. Ajout dans la future partition 0 du cederom vos propres objets -------------------------------------------------------------- Vous pouvez ajouter tout ce dont vous aurez besoin (scripts, binaires, packages...). ATTENTION !!!!! ========= L'image de la partition 0 que vous genererez de DOIT pas etre de taille superieure a la partition 0 actuelle du cederom bootable. Si vous souhaitez connaitre la taille actuelle de la partition 0 du cederom bootable, executez la commande suivante : dd if=/dev/dsk/c0t6d0s0 of=/dev/null bs=512 La taille sera exprimee en blocks de 512 octets. 5. Adaptation de la partition 1 du cederom (cdrom.s1) ------------------------------------------------- Cette phase vous permet de demarrer votre application au lieu du programme suninstall par exemple. Vous devez trouver une ligne pouvant etre remplacee (un commentaire par exemple). Vous devez ensuite utiliser un editeur hexadecimal ou emacs en mode binaire pour inserer votre parametrage. Par exemple : #***** S30sysid.net peut devenir moninstall #sid.net Placez votre ou vos script dans votre repertoire d'adaptation. La partition 0 (votre repertoire d'adaptation) du cederom bootable est montee sous /usr apres le demarrage sur cederom. 6. Creation de l'image de la partition 0 du future cederom ------------------------------------------------------- Creez cette image avec Gravetou. Nous supposerons que cette image s'appellera imagecd.iso. 7. Supression des 512 premiers octets de imagecd.iso ------------------------------------------------- Nous placerons ulterieurement la VTOC du cederom dans ces 512 octets. Votre configuration ne sera pas endommagee par cette manipulation. Executez la commande : dd if=imagecd.iso of=image.data bs=512 skip=1 8. Adaptation de la taille de la future partition 0 ------------------------------------------------ Enlevez du nombre de blocks de la partition 0 du cederom bootable, le nombre de block + 1 du fichier image.data. Exemple : dd if=/dev/dsk/c0t6d0s0 of=/dev/null bs=512 donne blocks la commande executez a l'etape 7 a donnee 500000 blocks 679040 - ( 500000 + 1 ) = 179039 9. Construction d'un fichier d'extension ------------------------------------- Grace a la valeur fournie dans l'etape 8 nous allons construire un fichier permettant d'atteindre la taille initiale de la partition 0 du cederom. Executez la commande : dd if=/dev/zero of=image.pad bs=512 count=179039 L'argument count est egale au resultat de l'operation de l'etape 8. 10. Concatenation des differents fichiers crees ------------------------------------------- Executez : cat cdrom.vtoc > cdboot.iso cat image.data >> cdboot.iso cat image.pad >> cdboot.iso cat cdrom.s1 >> cdboot.iso cat cdrom.s2 >> cdboot.iso cat cdrom.s3 >> cdboot.iso cat cdrom.s4 >> cdboot.iso cat cdrom.s5 >> cdboot.iso 11. Gravure du cederom ------------------ Utilisez gravetou pour graver l'image contenue dans le fichier cdboot.iso. Si vous souhaitez uniquement recopier un cederom bootable, vous pouvez utiliser la meme technique sans les etapes d'adaptation. Utilisez la commande dd pour chaque partition du cederom bootable. Concatenez les fichiers crees dans un seul et utilisez gravetou pour graver l'image ainsi generee. 12. Vérification de l'image ----------------------- mount -r -F fbk -o type=hsfs /dev/fbk0:/grave/rep/cdrom.s2 /mnt

deuxième méthode

La vtoc du cd 1/2 de solaris 8: ------------------------------ ROOT cli44im# prtvtoc /dev/dsk/c0t0d0s0 * Unallocated space: * First Sector Last * Sector Count Sector * 1273600 2560 1276159 * 1283840 26880 1310719 * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 4 10 0 1079040 1079039 1 2 10 1079040 194560 1273599 2 0 00 1273600 2560 1276159 3 0 00 1276160 2560 1278719 4 0 00 1278720 2560 1281279 5 0 00 1281280 2560 1283839 On l'extrait : ------------- ROOT cli44im# dd if=/dev/dsk/c0t6d0s0 of=cdrom.vtoc bs=512 count=1 1+0 records in 1+0 records out ROOT cli44im# ls -al total 22 drwxr-xr-x 3 root root 512 Nov 26 14:59 . drwxr-xr-x 24 root root 1024 Nov 26 14:54 .. -rw-r----- 1 root other 512 Nov 26 14:59 cdrom.vtoc drwx------ 2 root root 8192 Nov 26 14:58 lost+found On recupere toutes les partitions sauf la 0 : -------------------------------------------- ROOT cli44im# for partition in 1 2 3 4 5 > do > dd if=/dev/dsk/c0t6d0s${partition} of=cdrom.s${partition} > done 194560+0 records in 194560+0 records out 2560+0 records in 2560+0 records out 2560+0 records in 2560+0 records out 2560+0 records in 2560+0 records out 2560+0 records in 2560+0 records out ROOT cli44im# ls -al total 204998 drwxr-xr-x 3 root root 512 Nov 26 15:03 . drwxr-xr-x 24 root root 1024 Nov 26 14:54 .. -rw-r----- 1 root other 99614720 Nov 26 15:03 cdrom.s1 -rw-r----- 1 root other 1310720 Nov 26 15:03 cdrom.s2 -rw-r----- 1 root other 1310720 Nov 26 15:03 cdrom.s3 -rw-r----- 1 root other 1310720 Nov 26 15:03 cdrom.s4 -rw-r----- 1 root other 1310720 Nov 26 15:03 cdrom.s5 -rw-r----- 1 root other 512 Nov 26 14:59 cdrom.vtoc drwx------ 2 root root 8192 Nov 26 14:58 lost+found On calcule la taille de la part s0 : ---------------------------------- ROOT cli44im# dd if=/dev/dsk/c0t6d0s0 of=/dev/null bs=512 1079040+0 records in 1079040+0 records out On recupere le contenu de s0 : ----------------------------- ROOT cli44im# cd /cdrom/cdrom0/s0 ; tar cvpf - . | (cd /tmp/image_s0 ; tar xvpf -) Modification de image_s0 : ------------------------- Elle ne devra pas depasser 539mo. Dans notre cas, j'ai retire tous les packages de "Solaris_8/Product", pour y mettre une archive "sol8_secu_nov.flar" On genere un fichier ISO9660 apres modifications : ------------------------------------------------- ROOT cli44im# mkisofs -R -d -L -l -o ./cdrom.iso ./image_s0 On retire les premiers 512 blocks (toc) de cette image : ------------------------------------------------------- ROOT cli44im# dd if=./cdrom.iso of=./cdrom.s0 bs=512 skip=1 857343+0 records in 857343+0 records out On verifie la taille : --------------------- dd if=cdrom.s0 of=/dev/null bs=512 857343+0 records in 857343+0 records out On calcule la quantite de blocs de 512 qu'il faudra rajouter, pour arriver a la taille d'origine : ------------------------------------------------------------------------------------------------- 1079040 - (857343 + 1) = 221696 On creer le fichier pad : ------------------------ dd if=/dev/zero of=image.pad bs=512 count=221696 On genere le fichier ISO final : ------------------------------- ROOT cli44im# cat cdrom.vtoc > sol8_flash.iso ROOT cli44im# cat cdrom.s0 >> sol8_flash.iso ROOT cli44im# cat image.pad >> sol8_flash.iso ROOT cli44im# cat cdrom.s1 >> sol8_flash.iso ROOT cli44im# cat cdrom.s2 >> sol8_flash.iso ROOT cli44im# cat cdrom.s3 >> sol8_flash.iso ROOT cli44im# cat cdrom.s4 >> sol8_flash.iso ROOT cli44im# cat cdrom.s5 >> sol8_flash.iso On grave un CD a partir de ce fichier : -------------------------------------- cdrecord speed=6 dev=0,0,0 ./sol8_flash.iso

Navigation

Articles de la rubrique

Statistiques

Dernière mise à jour

mercredi 4 octobre 2023

Publication

273 Articles
Aucun album photo
Aucune brève
6 Sites Web
2 Auteurs

Visites

102 aujourd’hui
133 hier
827487 depuis le début
1 visiteur actuellement connecté