Traductions de cette page:

Trinity Rescue Kit 3.4 build 372-2 patché

Je me suis trouvé plusieurs fois dans la situation de devoir transférer des fichiers depuis un PC n'ayant plus d'affichage (par manque d'écran, panne de la carte graphique…) vers un autre ordinateur.

Lorsque l'on veut transformer rapidement un PC en serveur de fichiers SMB (CIFS), le live boot CD Trinity Rescue Kit créé par Tom Kerremans fait l'affaire sans effort. Ce live boot CD basé sur Mandriva 2005 se charge en mémoire en obtenant une adresse IP par requête DHCP, et affiche un menu simple qui permet à tout un chacun de démarrer un serveur SSH, de monter toutes les partitions et de démarrer un serveur Samba en partage public sans mot de passe. Malheureusement cela nécessite de sélectionner deux entrées différentes du menu, et la ré-initialisation du mot de passe root est exigée avant le démarrage du serveur SSH. Aussi, sous une émulation clavier QWERTY pour un clavier physique AZERTY, et sans affichage, toutes ces manipulations deviennent un peu hasardeuses…

Menu de Trinity Rescue Kit

Patch version 2

C'est pourquoi j'ai patché l'image disque linux initiale afin d'ajouter les options de boot suivantes :

  • autoserver : démarre le serveur SSH, monte les partitions dans /share_points, et démarre le serveur Samba
  • rootpass=… : change automatiquement le mot de passe root tel qu'indiqué après =
  • setkmap=… : configure la disposition du clavier telle qu'indiquée après =
  • setlocale=… : configurer la locale telle qu'indiquée après =
  • voluuid=… : alternative à l'option vollabel=, pour indiquer la partition contenant Trinity Rescue Kit
    (cette partition peut désormais être dans un format linux comme ext2)

Échantillon de menu grub2 pour lancer Trinity Rescue Kit 3.4 build 372-2 :

## Note: for splash image, boot option gfxpayload=800x600 is not supported
## by prog /usr/bin/fbresolution. Use vga=788 instead.
 
## Init variable fs_opt_id to allow starting on any media support
insmod extcmd
probe -f -s fstype "($root)"
if test "$fstype" == "iso9660"; then
  probe -l -s fs_opt_id "($root)"
  fs_opt_id="vollabel=$fs_opt_id"
else
  probe -u -s fs_opt_id "($root)"
  fs_opt_id="voluuid=$fs_opt_id"
fi
unset fstype
 
menuentry --class="trk" "TRK 3.4 build 372-2 - SCSI drivers, text menu, autoserver from RAM (256Mb min)" "$fs_opt_id" {
  set fs_opt_id="$2"
  echo "Loading linux kernel..."
  linux /kernel.trk ramdisk_size=65536 root=/dev/ram0 $fs_opt_id vga=788 splash=verbose pci=conf1 scsidrv trkinmem trkmenu rootpass=trk setkmap=fr setlocale=fr_FR.UTF-8 autoserver
  echo "Loading initial ramdisk..."
  initrd /initrd.trk
}
 
menuentry --class="trk" "TRK 3.4 build 372-2 - SCSI drivers, text menu, autoserver" "$fs_opt_id" {
  set fs_opt_id="$2"
  echo "Loading linux kernel..."
  linux /kernel.trk ramdisk_size=65536 root=/dev/ram0 $fs_opt_id vga=788 splash=verbose pci=conf1 scsidrv trkmenu rootpass=trk setkmap=fr setlocale=fr_FR.UTF-8 autoserver
   echo "Loading initial ramdisk..."
  initrd /initrd.trk
}

CD-ROMs Trinity Rescue Kit 3.4 build 372-2 versions a, b, c (patched)

Pour personnaliser le CD-ROM, j'ai ajouté en haut des menus Isolinux/Sylinux, une entrée exécutée par défaut après 5 secondes. Dans cette configuration, Trinity Rescue Kit monte toutes les partitions, démarre automatiquement les serveurs SMB (CIFS), SSH, FTP (et SFTP), et selon la version du CD, charge les pilotes SCSI (version c) et éjecte le CD-ROM (version b et c).
La version a n'éjecte pas le CD-ROM afin de pouvoir fonctionner sur les vieux PC qui possèdent moins de 512 Mo de RAM.

Toutes les entrées de menu configurent la locale et la disposition de clavier françaises et comportent l'option rootpass=trk (mot de passe par défaut) afin de pouvoir changer facilement celui-ci dans l'entrée de menu. J'ai également remonté le menu n°8 en deuxième position parce qu'il me semble avoir quelques similarités avec le menu n°1.

Enfin, j'ai écrit trois scripts bash à la racine du CD. Ces programmes s'exécutent correctement sous Debian 7 mais peuvent contenir quelques bugs mineurs. Les voici :

  • make-trk-isolinux.sh : génèrent un nouveau fichier iso d'image CD bootable depuis son propre répertoire (Technologie Isolinux)
  • make-trk-syslinux.sh : copie les fichiers depuis son propre répertoire vers une clé USB formatée en FAT (Technologie Syslinux).
  • make-trk-usbhd_grub.sh : copie les fichiers depuis son propre répertoire vers n'importe quel périphérique monté en écriture dans le répertoire /media, quelle que soit le type de système de fichiers cible (technologie GRUB-PC alias grub2 avec un sous-menu (chainload expérimental) vers le menu syslinux). Pour les clés USB, je recommande cette dernière méthode de démarrage qui est plus fiable auprès de n'importe quel BIOS.

 Menu de démarrage CD du Trinity Rescue Kit patché

Trinity Rescue Kit build 372-2 (patched) est distribué sous licence libre GPL dans l'espoir que ce sera utile mais SANS AUCUNE GARANTIE.

Sur le CD, j'ai ajouté deux répertoires :

  • boot/ contient GRUB-PC
  • doc/ contient la documentation officielle de TRK 3.4 et les informations sur mes modifications
├── AUTORUN.INF
├── boot/
│   ├── grub/
│   └── mbr.syslinux.bin
├── boot.cat
├── bootlogo.jpg
├── changelog
├── disableautorun.exe
├── doc/
│   ├── official-trk-doc/
│   │   ├── trk-doc.html
│   │   └── trk-doc-img/
│   ├── repacked-doc/
│   │   ├── scripts.changelog/
│   │   ├── howto-patch.txt
│   │   ├── initrd.trk.changelog
│   │   ├── initrd.trk-scripts.tar.gz
│   │   ├── lisezmoi.txt
│   │   ├── readme.txt
│   │   └── trk-root-password.txt
│   └── Trinity Rescue Kit website.URL
├── initrd.trk
├── initrd.trk.old
├── isolinux.bin
├── isolinux.cfg
├── kernel.trk
├── ldlinux.sys
├── make-trk-isolinux.sh
├── make-trk-syslinux.sh
├── make-trk-usbhd_grub.sh
├── memdisk
├── memtest.x86
├── pxelinux.0
├── pxelinux.cfg/
├── syslinux.cfg
├── trinity.ico
├── trk3/
└── vesamenu.c32

Télécharger les images CD

Fichiers iso build #2a + #2b + #2c – 2016-01-07 02:04:29 +0100 :

Fichier iso build #2 – 2014-09-06 04:09:43 +0100 :