mercredi 13 août 2008

Installation d'une Debian GNU/Linux Etch sur un Soekris net4501 (méthode Debootstrap)

Ingrédients :
- Avoir une Compact Flash (CF) de 1Go (ou plus, ça marche avec une
512... mais bon soyons fous au prix d'une CF aujourd'hui...!)
- Un lecteur de carte/USB (!)
- Une machine Debian GNU/Linux (Etch ou autre) opérationnelle, avec une
connexion internet
- Un serveur DHCP
- Un câble Null-Modem 9 broches (si vous voulez vous amuser avec Minicom)
- Un Soekris net4501
- De la patience...
** Sur la machine qui va servir à installer le système minimum faire : **
Connecter la CF sur votre lecteur de carte
dmesg (pour voir le nom de votre CF reconnu dans le système)
fdisk /dev/sdX (probablement, où X = une lettre)
mkfs.ext3 /dev/sdX
Créer 2 partitions principales :
--
Swap --> 128 Mo (ID 82) (tune2fs -c 0 /dev/sdX, recommandé pour une CF)
Ext3 --> le reste (ID 83)
--
apt-get install minicom (équivalent HyperTerminal, pour les windowziens :-)
apt-get install debootstrap
mount -t ext3 /dev/sdXY /mnt/CF
debootstrap --arch i386 etch /mnt/CF/ ftp://ftp.de.debian.org/debian/
(boire un café !)
mount -t proc proc1 /mnt/CF/proc
mount -o bind /dev /mnt/CF/dev
chroot /mnt/CF
apt-get install locales console-data console-common
dpkg-reconfigure locales console-data
apt-get install initrd-tools
apt-get install linux-image-2.6.24[...]486 (ou installer un autre kernel)
apt-get install pciutils bzip2 sysfsutils dhcp3-client resolvconf
openssh-server openntpd ntpdate [...vous pouvez ajouter d'autres paquets...]
Modif "/etc/hosts" à
--
127.0.0.1 localhost
--
Modif "/etc/hostname" à
--
net4501 # (par exemple)
--
Modif "/etc/network/interfaces" à
--
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
auto eth0
iface eth0 inet dhcp
--
Modif "/etc/fstab" à
proc /proc proc defaults 0 0
/dev/hda1 none swap sw 0 0
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
--
!! Il est à noter que le Soekris verra vos partitions en /dev/hdXY... Et
plus en /dev/sdXY puisque normalement il n'y aura que le lecteur CF sur
votre système !!
--
passwd (pour fixer le mot de passe root)
apt-get install grub
--
Lancer grub
> root (hd1,1) !! remplacer par les informations correctes dans votre
système, il s'agit là de la partition bootable de votre soekris !!
> setup (hd1)
> quit
--
Eventuellement faire un "update-grub" pour créer "menu.lst" s'il n'est pas créé avec la commande précédente
--
Modif "/boot/grub/menu.lst" à
--
# Activer la console série, unit 0 est /dev/ttyS0, unit 1 est
/dev/ttyS1..., ajouter ces 2 lignes au début du fichier
[...]
serial --unit=0 --speed=19200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
[...]
# Modifier les paramètres de boot du kernel en conséquence :
kernel /boot/vmlinuz-2.6.24[..]486 root=/dev/hda1 ro console=tty0
console=ttyS0,19200n8
[...]
--
Mettre la CF dans votre Soekris, puis le démarrer
Lancer minicom et configurer votre connexion série comme il faut, la
vitesse de connexion sur un soekris net4501 est de 19200 8N1 (voir
Remarques)
Normalement tout se passe bien et cela démarre :)
Au démarrage, cela va se bloquer sur "crond", mais en fait non.
Connectez vous en SSH (après avoir récupéré l'adresse IP de votre
Soekris dans les logs de votre serveur DHCP) --> ssh
root@<adresse_IP_du_Soekris>
Une fois connecté, pour avoir la console au démarage :
Modif fichier "/etc/inittab" à
--
[...]
T0:23:respawn:/sbin/getty -L ttyS0 19200 vt100 (il suffit en général de
décommenter la ligne qui est déjà configurée)
[...]
--
Normalement maintenant au boot vous devriez voir apparaitre le prompt de
login !
** Sur le Soekris net4501 (en SSH ou console) **
hwclock --set --date="<mois>/<jour>/<année_2_digits>
<heure>:<minute>:<seconde>" (le Soekris étant surement réglé sur
1980...ce qui pose des problèmes à la commande "apt-get" dans beaucoup
de cas...)
tzconfig
... A vous de jouer, la route est longue mais la voie est libre !

*************** Remarques ***************
Minicom :
--
Erreur --> appuyer sur une touche pour continuer (en boucle)
--
1/ Faire Ctrl-A, puis Z, puis O, puis "configuration du port série",
puis lettre F (contrôle d'erreur matériel), mettre à "NON"
2/ Grub (Stage 2 ce lance), mais le clavier est inaccessible...
3/ (Re)Faire Ctrl-A, puis Z, puis O, puis "configuration du port série",
puis lettre F (contrôle d'erreur matériel), mettre à "OUI"
4/ Le clavier est de nouveau accessible ! Booter en appuyant sur
entrée.

*************** MAJ ***************
- Il faut mieux utiliser PuTTY qui donne de meilleurs résultats que Minicom ^^

Aucun commentaire: