Restaurer Porta-Switch à avec une connexion SSH
Oussama Hammami, 2010-11-03
Switzernet
Dans un document précèdent nous avons expliqué comment restaurer Porta-Switch (MR-21) à partir des fichiers tar en utilisant un LIVE CD (exemple : Fedora 13) sur la totalité du disque dur avec des partitions LVM [http://switzernet.com/3/public/100926-mr21-tar-lvm/].
Cette procédure nécessite l’accès physique aux serveurs consternés alors qu’en comptant utiliser des serveurs dédiés hébergées (chez OVH, Free …) cette procédure est devenue impossible.
Ce document présente la procédure à suivre pour restaurer Porta-Switch uniquement avec une connexion SSH. On fournit dans ce document toutes les commandes utilisées lors de l’installation de Porta-Sip (nommé ci-dessous billing4)
Vous
devez adapter ces commandes selon le type de serveur à installer.
Vous devez se loguer en root avant de commencer la restauration.
Ce dessous les informations système du serveur utilisé lors de cette restauration.
Canonical Hostname |
ks301251.kimsufi.com |
Listening IP |
91.121.14.113 |
Kernel Version |
2.6.33.5-xxxx-grs-ipv4-64 (SMP) x86_64 |
Distro Name |
|
Processors |
1 |
Model |
AMD Athlon(tm) Processor LE-1660 |
CPU Speed |
2.8 GHz |
BUS Speed |
|
Cache Size |
512 KB |
System Bogomips |
5600 |
|
None |
ATA Hitachi HDP72502 (Direct-Access) |
(2x) Linux Foundation 2.0 root hub (2x) Linux Foundation 1.1 root hub |
Vous devez commencer par le remplacement du LILO par Grub sur une partition bootable FAT16, la gestion du menu du Gub (grub/menu.lst) fait avec Freedos se qui nous offre la possibilité de changer le système à booter au démarrage en utilisant le boot vKVM (OVH). Cette procédure est expliquée dans ce document [http://www.unappel.ch/2/public/101101-dual-boot-dos-debian/i/fr/].
À la fin vous devez avoir comme résultat de la commande fdisk /dev/sda
# fdisk -l /dev/sda
Disk /dev/hde: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1275 10239969 83 Linux
/dev/sda2 * 1275 1518 1953334+ 6 FAT16
/dev/sda3 30336 30401 523264 82 Linux swap / Solaris
/dev/sda4 1519 30335 231472552+ 83 Linux
Partition table entries are not in disk order
On a 4 partitions:
On va restaurer billing4 sur la partition sda4, nous commençons par la création des partitions LVM :
Démonter la partition
umount /home
Changer le type de système de fichier de cette partition (LVM : 8e)
# fdisk /dev/sda
The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0001cd97
Device Boot Start End Blocks Id System
/dev/sda1 1 1275 10239969 83 Linux
/dev/sda2 * 1275 1518 1953334+ 6 FAT16
/dev/sda3 30336 30401 523264 82 Linux swap / Solaris
/dev/sda4 1519 30335 231472552+ 83 Linux
Partition table entries are not in disk order
Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 8e
Changed system type of partition 4 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0001cd97
Device Boot Start End Blocks Id System
/dev/sda1 1 1275 10239969 83 Linux
/dev/sda2 * 1275 1518 1953334+ 6 FAT16
/dev/sda3 30336 30401 523264 82 Linux swap / Solaris
/dev/sda4 1519 30335 231472552+ 8e Linux LVM
Partition table entries are not in disk order
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
Editer /etc/fstab afin de supprimer le montage cette partition au démarrage
# vi /etc/fstab
# <sys.fichiers><pt de montage><type> <options> <dump> <pass>
/dev/sda1 / ext4 errors=remount-ro 0 1
#/dev/sda4 /home ext3 defaults 1 2
/dev/sda3 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
Rebooter le serveur
# reboot
Création du volume physique
# pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created
Si vous obtenez l’erreur ‘Can't initialize physical volume /dev/sda4 of volume group without -ff’ dû au mauvaise format de la table de partitionnement.
La solution la plus simple est de changer le type de la partition consternée (sda4) en 83 avec fdisk, rebooter et formater la partition ensuite rechanger le type de la partition en 8e avec fdisk , rebooter à ce moment la création du volume physique ne va jamais poser un problème.
# fdisk /dev/sda4
t
4
83
# reboot
# mkfs –t ext3 /dev/sda4
# fdisk /dev/sda4
t
4
8e
Une autre solution non recommandé est expliqué ici [http://tldp.org/HOWTO/LVM-HOWTO/initdisks.html]
Création du groupe de volume
# vgcreate VolGroup00 /dev/sda4
Volume group "VolGroup00" successfully created
Création des volumes logiques:
# lvcreate -l 5000 VolGroup00 -n LogVol00
Logical volume "LogVol00" created
# lvcreate -l 5000 VolGroup00 -n LogVol01
Logical volume "LogVol01" created
# lvcreate -l 8000 VolGroup00 -n LogVol03
Logical volume "LogVol03" created
Récupérer le nombre des unités libres du groupe de volume VolGroup00
# vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 220.75 GB
PE Size 4.00 MB
Total PE 56511
Alloc PE / Size 18000 / 70.31 GB
Free PE / Size 38511 / 150.43 GB
VG UUID r96jFh-uptF-7nms-WfB4-TdBk-fF4Z-w1EKMP
Création de dernier volume logique LogVol02:
# lvcreate -l 38511 VolGroup00 -n LogVol02
Logical volume "LogVol02" created
Vérification:
# vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 220.75 GB
PE Size 4.00 MB
Total PE 56511
Alloc PE / Size 56511 / 220.75 GB
Free PE / Size 0 / 0
VG UUID r96jFh-uptF-7nms-WfB4-TdBk-fF4Z-w1EKMP
# ls /dev/VolGroup00/
LogVol00 LogVol01 LogVol02 LogVol03
Formatage des partitions
# mkfs -t ext3 /dev/VolGroup00/LogVol00
# mkfs -t ext3 /dev/VolGroup00/LogVol01
# mkfs -t ext3 /dev/VolGroup00/LogVol02
# mkswap /dev/VolGroup00/LogVol03
Rebooter
# reboot
Montage des partitions LVMs
# cd /mnt
# mkdir root1
# mkdir root2
# mkdir porta
# mount /dev/VolGroup00/LogVol00 root1
# mount /dev/VolGroup00/LogVol01 root2
# mount /dev/VolGroup00/LogVol02 porta
# df
...
Décompression du root1
# cd /mnt/root1
# wget --user="firstname.lastname" --password="******" http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root1.tar.bzip2
# tar -xjvf 100830,1925,billing4,root1.tar.bzip2
Décompression du root2
# cd /mnt/root2
# wget --user="firstname.lastname" --password="******" http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root2.tar.bzip2
# tar -xjvf 100830,1925,billing4,root2.tar.bzip2
Décompression du porta
# cd /mnt/porta
# wget --user="firstname.lastname" --password="******" http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,porta.tar.bzip2
# tar -xjvf 100830,1925,billing4,porta.tar.bzip2
Montage de la partition /boot
# mount /dev/sda2 /boot
# cd /boot
# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/vmlinuz-2.6.27.54
# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/initrd-2.6.27.54.img6.gz
Ajouter dans le fichier de configuration de Grub les lignes suivantes
# vi /boot/grub/menu.lst
default 0
timeout 20
#color cyan/blue white/blue
color light-gray/red red/light-gray
title MR21-2 2.6.27.54 Initrd6
root (hd0,1)
kernel /vmlinuz-2.6.27.54 ro elevator=deadline
initrd /initrd-2.6.27.54.img6.gz
title MR21-2 VG00-LV01
root (hd0,1)
kernel /vmlinuz-2.6.27.54 ro root=/dev/VolGroup00/LogVol01 elevator=deadline
initrd /initrd-2.6.27.54.img6.gz
title MR21-0 VG00-LV00
root (hd0,1)
kernel /vmlinuz-2.6.27.54 ro root=/dev/VolGroup00/LogVol00 elevator=deadline
initrd /initrd-2.6.27.54.img6.gz
title Debian
root (hd0,1)
kernel /bzImage-2.6.34.6-xxxx-grs-ipv6-64 root=/dev/sda1 ro
title Debian vKVM
root (hd0,1)
kernel /bzImage-2.6.34.6-xxxx-grs-ipv6-64 root=/dev/hda1 ro
title FreeDos LiveCD
kernel /memdisk
initrd=/freedos.img
title FreeDos floppy
kernel /memdisk
initrd=/fdboot.img
title DOS
kernel /memdisk
initrd=/Dos5.0.img
Commentez la ligne qui monte la partition boot au démarrage dans :
/mnt/root2/etc/fstab
# vi /mnt/root2/etc/fstab
/dev/VolGroup00/LogVol01 / ext3 defaults 1 1
/dev/VolGroup00/LogVol00 /update_root ext3 defaults 1 2
/dev/VolGroup00/LogVol02 /porta_var ext3 defaults 1 2
#LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol03 swap swap defaults 0 0
Et /mnt/root1/etc/fstab
# vi /mnt/root1/etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
/dev/VolGroup00/LogVol01 /update_root ext3 defaults 1 2
/dev/VolGroup00/LogVol02 /porta_var ext3 defaults 1 2
#LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol03 swap swap defaults 0 0
Télécharger le tar contenant tous les fichiers nécessaire
# cd /mnt/root2/lib/modules/
# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/2.6.27.54.tar.gz
# gunzip 2.6.27.54.tar.gz
# cp 2.6.27.54.tar /mnt/root1/lib/modules
# tar xvf 2.6.27.54.tar
# cd /mnt/root2/lib/modules
# tar xvf 2.6.27.54.tar
Vérification
# ls /mnt/root1/lib/modules
2.6.18-164.0.0.0.1.el5 2.6.27.54 2.6.27.54.tar
# ls /mnt/root2/lib/modules
2.6.18-164.0.0.0.1.el5 2.6.27.54 2.6.27.54.tar
Récupération des informations :
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:18:f3:5e:c3:13
inet addr:91.121.14.113 Bcast:91.121.14.255 Mask:255.255.255.0
inet6 addr: fe80::218:f3ff:fe5e:c313/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:910966 errors:0 dropped:0 overruns:0 frame:0
TX packets:498502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1332902813 (1.2 GiB) TX bytes:47583197 (45.3 MiB)
Interrupt:23
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:67 errors:0 dropped:0 overruns:0 frame:0
TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6394 (6.2 KiB) TX bytes:6394 (6.2 KiB)
# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 91.121.14.113
netmask 255.255.255.0
network 91.121.14.0
broadcast 91.121.14.255
gateway 91.121.14.254
Modification du fichier ifcfg-eth0
# vi /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82578DC Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=static
BROADCAST=91.121.14.255
#HWADDR=00:18:f3:5e:c3:13
IPADDR=91.121.14.113
NETMASK=255.255.255.0
NETWORK=91.121.14.0
ONBOOT=yes
Modification du fichier network
# vi /mnt/root2/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=billing4.switzernet.com
GATEWAY=91.121.14.254
Copier les fichiers dans root1
# cp /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0 /mnt/root1/etc/sysconfig/network-scripts/ifcfg-eth0
# cp /mnt/root2/etc/sysconfig/network /mnt/root1/etc/sysconfig/network
Vous pouvez commenter la ligne indiquant l’adresse mac de la carte reseau du serveur dans le fichier ifcfg-eth0.
# vi /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82578DC Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=static
BROADCAST=91.121.14.255
#HWADDR=00:18:f3:5e:c3:13
IPADDR=91.121.14.113
NETMASK=255.255.255.0
NETWORK=91.121.14.0
ONBOOT=yes
L’adresse mac est insensible à la casse cependant il est toujours préférable de la commenter.
Dans le fichier de configuration menu.lst de grub (ou parfois grub.conf pour fedora redhat), chaque strophe qui définit le chargement d'un système Linux contient essentiellement deux clauses, la clause kernel qui nomme le fichier noyau Linux à charger et la clause initrd qui définit le fichier initrd associé à ce noyau.
initrd signifie "INITial Ram Disk". C'est un système de fichiers compressé, au format cpio. Il contient des bibliothèques, des modules, des commandes. Après que le noyau l'ait installé en RAM, ce dernier exécute le script init ou, dans les versions plus anciennes de Linux, linuxrc. Ce script est écrit en shell nash (man nash). Il contient essentiellement des commandes insmod qui chargent des modules ("drivers") dans le noyau et ensuite bascule vers un fonctionnement normal en montant le véritable "root file system".
Le cas emblématique est celui d’ext3. Le pilote du système de fichiers ext3 n'est pas défini en statique dans le noyau.
C'est un pilote qui est chargé à la demande. Le montage du système fichiers root, le plus souvent de type ext3, n'est possible que si son pilote est dans le noyau. Le pilote se trouve sur le système de fichiers root qui n'est pas encore monté.
C'est un cercle vicieux, Heureusement le script init du fichier initrd procède au chargement du pilote avant même que le système de fichiers root soit monté.
Vous comprenez qu'il ne vous sera nécessaire de modifier le fichier initrd que dans de très rares cas, dont celui où un pilote est nécessaire avant même que le système de fichiers root soit monté.
Déployer l'arborescence contenue dans l'archive cpio :
# ls
initrd-2.6.27.54.img5.gz
# mkdir a
# cd a
# zcat ../initrd-2.6.27.54.img6.gz | cpio -i
17727 blocks
# ls
bin dev etc init init.bak lib proc sbin sys sysroot
Modification du fichier init
# vi init
#!/bin/nash
echo "+-------------------------------+"
echo "| Switzernet (c) 2010 |"
echo "+-------------------------------+"
echo "| Start Initrd 2.6.27.54 |"
echo "+-------------------------------+"
mount -t proc /proc /proc
setquiet
echo Mounting proc filesystem
echo Mounting sysfs filesystem
mount -t sysfs /sys /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs /dev /dev
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
mkdir /dev/shm
mkdir /dev/mapper
echo Creating initial device nodes
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mknod /dev/urandom c 1 9
mknod /dev/systty c 4 0
mknod /dev/tty c 5 0
mknod /dev/console c 5 1
mknod /dev/ptmx c 5 2
mknod /dev/rtc c 10 135
mknod /dev/tty0 c 4 0
mknod /dev/tty1 c 4 1
mknod /dev/tty2 c 4 2
mknod /dev/tty3 c 4 3
mknod /dev/tty4 c 4 4
mknod /dev/tty5 c 4 5
mknod /dev/tty6 c 4 6
mknod /dev/tty7 c 4 7
mknod /dev/tty8 c 4 8
mknod /dev/tty9 c 4 9
mknod /dev/tty10 c 4 10
mknod /dev/tty11 c 4 11
mknod /dev/tty12 c 4 12
mknod /dev/ttyS0 c 4 64
mknod /dev/ttyS1 c 4 65
mknod /dev/ttyS2 c 4 66
mknod /dev/ttyS3 c 4 67
echo Setting up hotplug.
hotplug
echo Creating block device nodes.
mkblkdevs
echo "+-------------------------------+"
echo "| Switzernet (c) 2010 |"
echo "+-------------------------------+"
echo "| Loading modules *.ko |"
echo "+-------------------------------+"
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko
mount -t usbfs /proc/bus/usb /proc/bus/usb
echo "Loading ssb.ko module"
insmod /lib/ssb.ko
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko
echo "Loading uhci-hcd.ko module"
insmod /lib/uhci-hcd.ko
echo "Loading jbd.ko module"
insmod /lib/jbd.ko
echo "Loading ext3.ko module"
insmod /lib/ext3.ko
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading cciss.ko module"
insmod /lib/cciss.ko
echo "Loading libata.ko module"
insmod /lib/libata.ko
echo "Loading ata_piix.ko module"
insmod /lib/ata_piix.ko
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
echo "+-------------------------------+"
echo "| Switzernet (c) 2010 |"
echo "+-------------------------------+"
echo "| Loading modules *.ko |"
echo "+-------------------------------+"
echo Waiting for driver initialization.
stabilized /proc/bus/usb/devices
echo "Loading dm-mod.ko module"
insmod /lib/dm-mod.ko
echo "Loading dm-log.ko module"
insmod /lib/dm-log.ko
echo "Loading dm-mirror.ko module"
insmod /lib/dm-mirror.ko
echo "Loading dm-zero.ko module"
insmod /lib/dm-zero.ko
echo "Loading dm-snapshot.ko module"
insmod /lib/dm-snapshot.ko
echo Waiting for driver initialization.
stabilized --hash --interval 1000 /proc/scsi/scsi
mkblkdevs
echo Scanning and configuring dmraid supported devices
echo "+-------------------------------+"
echo "| Switzernet (c) 2010 |"
echo "+-------------------------------+"
echo "| Scanning LVM partition |"
echo "+-------------------------------+"
echo Scanning logical volumes
lvm vgscan --ignorelockingfailure
echo Activating logical volumes
lvm vgchange -ay --ignorelockingfailure VolGroup00
lvm vgchange -ay --ignorelockingfailure VolGroup01
resume /dev/VolGroup00/LogVol03
resume /dev/VolGroup01/LogVol03
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro LABEL=switzeroot
mkrootdev -t ext3 -o defaults,ro /dev/VolGroup00/LogVol01
mkrootdev -t ext3 -o defaults,ro /dev/VolGroup01/LogVol01
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
echo "+-------------------------------+"
echo "| Switzernet (c) 2010 |"
echo "+-------------------------------+"
echo "| * END * |"
echo "+-------------------------------+"
switchroot
Reconstruction du fichier initrd.xx.img
# find . | cpio -o -H newc >../initrd-2.6.27.54.img6.gz
# cd ..
# ls
initrd-2.6.27.54.img5.gz initrd-2.6.27.54.img6.gz
Vous noterez, l'option -H newc de la commande cpio. Si vous omettez cette option, vous obtiendrez un plantage lors du démarrage, un "kernel panic".
L'argument newc de l'option -H désigne un format pour accepter les systèmes de fichiers de plus de 65535 inodes.
Vous pouvez booter le billing4 sans LVM en utilisant seulement la partition root2 qui contient tous les fichiers du la partition root de ce dernier.
Vous devez créer une partition 83 par exemple sda5 avec fdisk.
Formater cette partition en ext3 avec mkfs.
Rebooter et ensuite monter la partition.
Télécharger http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root2.tar.bzip2 dans la partition sda5 et la décompresser avec tar.
Modifier comme indique ci-dessus les fichiers ifcfg-eth0, network et fstab.
Donner un LABEL à cette partition :
# e2label /dev/sda5 switzeroot
Ajouter dans Grub (menu.lst) les lignes suivantes :
title MR21-2 2.6.27.54 Initrd6
root (hd0,1)
kernel /vmlinuz-2.6.27.54 root=LABEL=switzeroot ro elevator=deadline
initrd /initrd-2.6.27.54.img6.gz
l’initrd cherche ce Label comme la partition root par défaut donc même si vous supprimez l’option root, le kernel bootera sur cette partition.
Restore the Porta-Switch from tar files installation on LVM partitions[]
http://switzernet.com/3/public/100926-mr21-tar-lvm/
Linux Loadable Kernel Module HOWTO
http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/pdf/Module-HOWTO.pdf
Comprendre et modifier un fichier initrd
http://aasoftware.eu/index.php?option=com_content&task=view&id=44&Itemid=39
Dowload fedora
http://download.fedora.redhat.com/pub/fedora/linux/releases/
Creation of a Redhat RHEL Kernel 2.6.9-11 for Debian 3.1r0a Sarge
http://www.debian-administration.org/articles/274
Installer Ubuntu sans CD, ni clé USB: Ubuntu NetInstall
http://www.jellykernel.org/geek/installer-ubuntu-sans-cd-ni-cle-usb-ubuntu-netinstall/
Recettes pour le HOWTO Root RAID
http://www.docmirror.net/fr/linux/howto/os/Root-RAID-HOWTO/Root-RAID-HOWTO.html#toc2