How-To : Ubcd4win + Debian sur une clé usb (méthode pour feignant)

Le but de ce how-to

L'idée est de réaliser une clé usb capable de booter à la fois ubcd4win (et différentes images comme memtest ou windiag) et une distribution linux.

Nous allons installer une debian standard sur une partition séparée. Ceci nous permettra d'installer tous les paquets dont on peut avoir besoin (comme partimage, gparted, etc) sans avoir besoin d'une image bootable pour chacun des outils.
Ceci n'a rien a voir avec l'utilisation d'une distribution "live", commme knoppix ou slax, et présente des avantages et des inconvénients :

- C'est une distribution standard, pas vraiment faite pour tourner depuis un disque flash, et qui ne se charge pas dans la RAM. Les performances ne seront donc pas terribles.
- C'est moins sûr qu'un système de fichers en lecture seule.
+ C'est beaucoup plus facile à mettre à jour et à personnaliser, même comparé à des distributions qui offrent un mode "persistant".

En bref

Grosso modo, cela consiste à :

  • installer le système généré par ubcd4win sur la première partition, avec grub4dos comme boot manager, en utilisant le plugin interne "ubcd4win to usb".
  • installer debian sur la seconde partition, avec grub sur le secteur de démarrage de cette partition, en utilisant l'installateur debian standard
  • chainloader grub4dos et grub afin que le système puisse tourner correctement depuis cette partition

 

 

Ceci n'est qu'un exemple de ce que l'on peut faire. Ce n'est probablement pas la méthode la plus rapide ni la plus eficace. Elle a néanmoins le mérite d'être (assez) simple : pas de debootstrap, pas d'installation manuelle de grub...

 

Pré-requis :

 

  • Evidemment, une clé usb. 2GB me semble le minimum absolu, 4GB serait plus adapté.
  • Un système Windows avec ubcd4win installé
  • Un système Linux
  • VirtualBox ou VMWare*

 

*Vous pouvez vous débrouiller sans, mais cela vous épargnera beaucoup de temps perdu et de soucis.

 

Mon environnement réel pour ce tuto consiste en un PC de bureau sous Debian, qui est l'hôte VirtualBox, et une machine virtuelle Windows XP
N'importe quelle combinaison de ce genre devrait faire l'affaire (deux "vrais" PC, linux virtualisé sur windows, linux et windows virtualisés sous mac, un live cd linux booté depuis une machine virtuelle tournant sous windows, ...)
Ma clé est une PNY de 8GB.

 

Etape 1 : Créer la partition pour accueillir ubcd4win

J'utilise ici gparted sous debian, car XP ne peut pas nativement partitionner un disque amovible autrement qu'en créant une seule partition qui prend tout le disque.

gparted, first partition created with 4,4GB in fat32
Si vous voulez savoir comment faire ceci sous windows, jetez un coup d'oeil à : http://www.lancelhoff.com/multi-partition-a-usb-flash-drive-in-windows

Etape 2 : Installation d'ubcd4win sur la clé

Branchez votre clé sur votre machine windows !

Lancez ubcd4win et activez/désactivez les plugins à votre convenance (on n'entrera pas ici dans les détails de l'utilisation d'ubcd4win)

 

N'oubliez pas de cocher "create iso image" car c'est l'étape où ubcd4win réordonne nu2menu. Si cette étape n'est pas effectuée, vous risquez au final de vous retrouver avec un menu en pagaille et plein de doublons. Nous allons plutôt désactiver le plugin "build ISO" pour empêcher la création effective de l'image

ubcd4win, iso building checkedubcd4win, iso building plugin disabled

Vous pouvez à présent fermer la fenêtre des plugins et lance la compilation de votre distrib ubcd4win. Vous avez le temps d'aller boire un café ou de travailler un peu, c'est assez long !
(Bien sûr cette étape est facultative si vous avez déja effectué la compilation auparavant)

 

Lorsque c'est fini, rouvrez la fenêtre des plugins, sélectionnez "ubcd4win to usb" et cliquez sur "config"

ubcd4win, usb installation

Cochez bien "enable disc format" et n'oubliez pas de donner un label à votre partition. La mienne s'appelle UBCD1 (bizarre pour une installation USB, mais je n'aimais pas trop UBUSB).

ubcd4win to usb settings

Vous avez déja une clé bootable sur ubcd4win, grâce aux développeurs qui nous ont bien maché le travail.

 

Etape 3 : Installer Debian

Il vous bien évidemment télécharger une image de cd d'installation, si vous ne l'avez pas déja fait. Pour moi ce sera “debian-40r5-i386-netinst.iso”.

 

Je vous conseille fortement d'effectuer ce qui suit en utilisant VirtualBox ou VMWare, car c'est à la fois plus facile et plus sûr (et que ça vous permettra de faire autre chose pendant les interminables moments où il n'y a rien d'autre à faire qu'à contempler les barres de progression : 2%...3%...4%...). Vous pouvez néanmoins insérer votre clé dans votre pc "réel" et redémarrer depuis le cd d'installation si vous y tenez vraiment. Dans ce cas, vérifiez très attentivement que vous installez bien sur la bonne partition !

 

Créez dans VirtualBox une machine virtuelle, sans disque dur attaché, en outrepassant gaillardement l'avertissement sur les problèmes que pourrait rencontrer la machine virtuelle au démarrage. Attachez à la machine à la fois la clé usb et l'image iso d'installation
Ma machine virtuelle s'appelle "temp":

virtualbox, iso as cd drivevirtualbox, usb devicevirtualbox, vm settings overview

Au lancement, votre machine virtuelle devrait démarrer depuis le cd d'installation

A l'écran de boot, tapez "expert" avant d'appuyer sur entrée. Bien que ce ne soit pas absolument obligatoire, cela vous donnera plus de choix lors de l'installation (comme choisir une distribution stable/testing/unstable ou ne créer que l'utilisateur root).

debian installer, boot prompt

Connectez la clé usb à la machine virtuelle (depuis Périphériques->Périphériques USB dans le menu de la machine virtuelle)

Lancez vous dans l'installation (choix de la langue, disposition du clavier, réseau, etc...). Les options par défaut suffisent généralement.
Arrivé à l'étape du partitionnement, choisissez partitionnement manuel et créez une partition primaire de type ext2 dans l'espace libre disponible sur la clé, montée comme "/". Vous pouvez aussi utiliser le fat32, mais il est déconseillé d'utiliser l'ext3 ou une autre système de fichier avec journalisation, ce qui entraînerait trop d'I/O su la clé.
Evidemment, vous pouvez choisir un schéma de partitionnement différent, comme une partition home séparée, mais gardez à l'esprit que ce n'est qu'une "trousse à outils" que vous cherchez à construire, pas un environnement de bureau !

N'oubliez pas de noter le nom de la partition sur laquelle vous êtes en train de lancer l'installation (pour moi "/dev/sda2")

debian installer, partitioning

Passez outre l'avertissement de l'installeur sur l'absence de swap. Là encore, un espace swap sur une clé usb risquerait de provoquer trop d'écritures sur le disque et de l'user prématurément.

 

Choisissez un mot de pass root et créez (ou non) un utilisateur standard. Même si ce n'est pas très sûr, je considère pour ma part qu'étant donné l'usage purement occasionnel et de dépannage que je fait de cette installatiion, il n'y a pas grand risque à rester root.

 

Rapellez-vous que nous voulons garder un système aussi léger que possible. Désactivez donc le "popularité contest" et décochez tout lors du choix des paquets, même le "système standard". Vous installerez les paquets dont avez besoin plus tard, selon vos besoins.

debian installer, package chooserL'ETAPE IMPORTANTE

L'installation de grub. Par défaut, l'installeur vous propose d'installer grub sur le MBR du premier disque dur. Ce que nous ne voulons pas, car ça sèmerait la pagaille partout. Donc pensez bien à sélectionner NON à l'écran suivant.

debian installer, prompt for grub install

Vous pouvez donc spécifier que vous voulez installer grub sur le secteur de démarrage de la partition qui contient votre installation debian. Celle que vous avez formaté et monté comme "/" à l'étape partitionnement (ou comme /boot si vous avez pris des fantaisies). Si vous avez suivi le même schéma de partitionnement que moi, cela devrait être la deuxième partition de votre clé usb, autrement dit /dev/sda2

 

L'installation proprement dite est maintenant finie, mais il nous faut régler quelques détails pour que tout puisse démarrer et tourner correctement.

 

Etape 4 : derniers ajustements et optimisations

Brancher la clé sur votre machine linux.

Il nous faut attribuer un label (appelé aussi "étiquette") à notre partition, pour empêcher grub et mount de se mélanger les pinceaux dans le partitionnement.
Vous pouvez pour ce faire utiliser gparted ou la commande e2label. J'appellerais la mienne UBCD2. Lorsque vous raccordez votre clé à un système linux, vous devez donc avoir deux partitions UBCD1 et UBCD2 (Windows ne verra que la première)

 

1. En tant que root, éditez le fichier /media/UBCD2/etc/fstab (adaptez le chemin à votre propre point de montage)
De :

proc            /proc           proc    defaults        0       0
/dev/sda2       /               ext2    defaults,errors=remount-ro 0       1
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
/dev/sda1       /media/usb0     auto    rw,user,noauto  0       0
/dev/sda2       /media/usb1     auto    rw,user,noauto  0       0

A :

LABEL=UBCD2   /               ext2    defaults,errors=remount-ro,noatime 0       1
proc            /proc           proc    defaults        0       0
tmpfs      /tmp            tmpfs   defaults,noatime            0   0
tmpfs      /var/lock       tmpfs   defaults,noatime            0   0
tmpfs      /var/log        tmpfs   defaults,noatime            0   0
tmpfs      /var/run        tmpfs   defaults,noatime            0   0
tmpfs      /var/tmp        tmpfs   defaults,noatime            0   1

 

La ligne "LABEL=..." spécifie à mount quelle partition contient le système, car la notation /dev/sda2 n'est pas valide dans le cas présent d'une clé amovible.
l'option noatime est là pour éviter que le système n'écrive la date dans le système de fichiers à chaque fois qu'un fichier est lu.
les lignes "tmpfs..." permettent d'écrire dans la RAM des fichiers dans lequel le système écrit très fréquemment.

 

2. Editez maintenant /media/UBCD2/boot/grub/menu.lst :
De :

title           Debian GNU/Linux, kernel 2.6.18-6-486
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro
initrd          /boot/initrd.img-2.6.18-6-486
savedefault
title           Debian GNU/Linux, kernel 2.6.18-6-486 (single-user mode)
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro single
initrd          /boot/initrd.img-2.6.18-6-486
savedefault

A :

title          Debian GNU/Linux, kernel 2.6.18-6-486
kernel          /boot/vmlinuz-2.6.18-6-486 root=LABEL=UBCD2 ro noresume
initrd          /boot/initrd.img-2.6.18-6-486
title          Debian GNU/Linux, kernel 2.6.18-6-486 (single-user mode)
kernel          /boot/vmlinuz-2.6.18-6-486 root=LABEL=UBCD2 ro single noresume
initrd          /boot/initrd.img-2.6.18-6-486

 

Vous pouvez aussi supprimer l'entrée relative à windows et modifier quelques unes des options par défaut de grub, pour éviter que votre configuration soit perdue lors d'une mise à jour du noyau. Vous repérerez facilement les lignes contenant ces options dans menu.lst, elles commencent par :

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.

 

Voici les changement que j'ai effectués :
De :

# kopt=root=/dev/sda2 ro

A :

# kopt=root=LABEL=UBCD2 ro noresume

De :

# groot=(hd0,1)

A :

## groot=(hd0,1)

 

3. Chainloader les boot managers

Editez /media/UBCD1/menu.lst (encore une fois, modifiez le chemin en fonction du point de montage de votre première partition, celle qui contient ubcd4win) et ajoutez l'entrée suivante :

title Launch "Debian on USB"
rootnoverify (hd0,1)
makeactive
chainloader +1

 

4. Vous y êtes !

Vous pouvez dès à présent redémarrer depuis votre clé usb et ajuster quelques petits détails :

rm -f /etc/blkid.tab*
ln -s /dev/null /etc/blkid.tab
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab

 

Vous devriez maintenant etre en mesure d'installer tout ce que vous voulez en utilisant apt. Je vous conseille d'installer localepurge, qui vous permet d'éliminer tous les fichiers de langues inutilisés, et de gagner ainsi de l'espace disque.
Je me répète un peu, mais gardez bien à l'esprit que vous êtes sur une clé usb. Essayez donc de conserver un système peu gourmand en espace disque et en ressources, en n'installant que des packages légers (Evitez, par exemple, un environnement de bureau KDE ou GNOME complet, et préférez des gestionnaires de fenêtres lights comme Openbox.)

 


Liens en rapport :
http://ubcd4win.com/forum/index.php?showtopic=9630 (en)
http://ubcd4win.com/forum/index.php?showtopic=11445 (en)
http://ubcd4win.com/forum/index.php?showtopic=9668 (en)
http://ubcd4win.com/forum/index.php?showtopic=11375 (en)
http://ubcd4win.com/forum/index.php?showtopic=11375 (fr)
http://feraga.com/node/25 (en)
http://www.debian-administration.org/articles/179 (en)


Plain text

By submitting this form, you accept the Mollom privacy policy.