Outils pour utilisateurs

Outils du site


informatique:docs:debian_stretch_soekris

Contexte

Pour les besoins d'un projet j'ai eu besoin d'installer une Debian 9 sur une vieille Soekris net5501 qui traînait au boulot. Ces modèles ne possèdent pas de sortie video (vga ou hdmi) car le but de ces PC industriels est d'être utilisés avec des consoles série.

Pour m'éviter la mise en place d'un DHCP avec PXE etc, j'ai décidé de plutôt partir sur une installation via debootstrap sur la carte compact flash. Les but de cette doc est de vous donner quelques infos si vous avez besoin de faire la même chose.

A priori la Debian 9 sera la dernière qu'on pourra installer sur ce modèle car les processeurs i585 ne sont plus supportés… Seuls les 686 le sont.

Bien que l'AMD Geode LX qui se trouve dans la Soekris soit un 585 il est tout de même supporté par la Strecth.

Préparation de la compact flash

Dans la mesure ou ces cartes sont en général de faible capacité (2, 4 ou 8Go) il n'est pas nécessaire (selon moi) de créer de multiples partitions. Pour ma part je crée une partition unique sur toute la carte et si j'ai besoin de swap, j'utilise un fichier swap à la racine.

On va donc partir du postula que la carte ne possède qu'une partition et est déjà formatée. Dans tous les exemples suivants on suppose que la partition de la carte est accessible via '/dev/sdb1' et qu'elle sera montée sur '/mnt/soekris'.

Installation via debootstrap

Nous allons donc utiliser debootstrap pour l'installation. Par défaut debootstrap n'installe que le strict minimum pour un système donc nous allons lui passer quelques paramètres supplémentaires afin d'ajouter ce qu'il manque pour que le système puisse booter correctement (un kernel, grub, etc…).

Dans les ajouts nous trouverons :

  • linux-image-686 (kernel i686 pour booter la Soekris)
  • grub-pc (pour installer le boot loader sur la compact flash)
  • openssh-server (pour pouvoir se connecter sur la Soekris apres le boot :-P)
  • net-tools (pour les commandes telles que ifconfig)

Voici donc la ligne permettant de déployer le système :

Installation via debootstrap
debootstrap --arch=i386 --include=grub-pc,linux-image-686,openssh-server,net-tools --components=main,contrib,non-free --verbose stretch /mnt/soekris http://ftp.fr.debian.org/debian

Configuration du système

Une fois l'installation terminée nous allons pouvoir personnaliser un peu le système afin de pouvoir booter dessus ainsi que d'avoir un retour console via le port série.

Console série

Par défaut la Soekris affiche sa phase d'initialisation en 19200 baud (8n1) lorsqu'elle démarre. Du coup afin d'éviter d'avoir à changer de débit après le boot, j'ai décidé de configurer la console série Linux sur le même débit. Pour des besoins de debugging ce débit est largement suffisant.

Pour activer la console série il suffit de configurer Grub correctement dans le fichier 'etc/default/grub' et de mettre les paramètres suivants :

/mnt/soekris/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,19200"
 
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"

Hostname

Réglage du hostname
echo "soekris" >/mnt/soekris/etc/hostname

SSH

Dans mon cas, il n'y a pas d'utilisateur crée dans le système (car pour la suite je vais utiliser un annuaire LDAP) du coup je vais devoir m'y connecter en root. Il faut donc autoriser root à se connecter en ssh.

Activer le compte root sur ssh
sed -i "s/PermitRootLogin prohibit-password/PermitRootLogin yes/g" /mnt/soekris/etc/ssh/sshd_config

fstab

Pour que le système puisse booter il va avoir besoin de savoir ou est '/' ;)

Création d'un fstab
echo "UUID=$(blkid -s UUID -o value /dev/sdb1) / ext4 errors=remount-ro,noatime 0 1" >/mnt/soekris/etc/fstab

Réseau

La Soekris possède 4 interfaces réseau. Dans mon cas elles sont nommées comme suit :

Interface Debian Interface physique
enp0s6 vr0
enp0s7 vr1
enp0s8 vr2
enp0s9 vr3

Vous pouvez configurer le réseau par avance via le fichier '/mnt/soekris/etc/network/interfaces' pour avoir du DHCP ou une IP fixe à votre convenance.

Installation du bootloader

Maintenant que le système est configuré, nous allons installer le bootloader et prendre en compte les paramètres définis pour Grub (console série, etc…). Pour cela nous allons faire un chroot pour entrer dans l'environnement et lancer les commandes qui vont bien.

chroot + installation de grub
# On mount bind les devices système pour que l'environnement chrooté
# puisse avoir connaissance des devices montés
mount -o bind /proc /mnt/soekris/proc
mount -o bind /sys /mnt/soekris/sys
mount -o bind /dev /mnt/soekris/dev
mount -o bind /dev/pts /mnt/soekris/dev/pts
 
# Chroot dans le système de la future Soekris
chroot /mnt/soekris /bin/bash
 
# Installation du bootloader sur la compact flash
grub-install /dev/sdb
 
# Création du fichier de config grub
update-grub

Si tout c'est bien passé c'est le bon moment pour mettre un mot de passe au compte root sinon pas de connexion possible lors du reboot ;)

passwd
Sortie de l'environnement chrooté
exit
 
# Démontage des mount bind
umount /mnt/soekris/dev/pts
umount /mnt/soekris/dev
umount /mnt/soekris/sys
umount /mnt/soekris/proc

A ce stade vous devriez pouvoir mettre la compact flash dans la Soekris et booter dessus…

informatique/docs/debian_stretch_soekris.txt · Dernière modification : 2022/11/27 17:24 de lestat

Outils de la page