Table of Contents
Flash Card - TRET
Voici la procédure permettant l'installation de Debian Squeeze sur une carte flash pour une utilisation avec une carte Soekris net5501-70.
L'installation se fait au travers de l'utilitaire debootstrap
qui téléchargera est installera Debian à notre place. Il nous restera néanmoins toutes la configuration du système à effectuer, notamment le GRUB et le montage des partitions.
Pour l'installation d'une ubuntu dernière version, il se peut que debootstrap ne connaisse pas la version que vous voulez insaller.
Vérifier quel version vous avez avec
debootstrap --version
et dans quel version doit être utilisé pour cette version sur : http://packages.ubuntu.com/search?keywords=debootstrap
Si vous avez besoin d'une nouvelle version de deboostrap pour l'installation ici : http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap
Réinitialisation de la carte flash
La carte flash est préparée pour accueillir le nouveau système.
Remise à zéro de la carte flash
On procède à une remise à zéro de chaque byte de la carte. Ce qui nous permettra, lorsqu'on fera un image de la carte, d'avoir un bon taux de compression.
/root# dd if=/dev/zero of=/dev/sdb
L'opération peut prendre un certain temps, selon la taille de la carte.
Création de la partition système
Lors du démarrage de la minicentrale, en mode console on peut observer le démarrage du bios et repérer la ligne suivante:
Pri Mas SanDisk SDCFH-004G LBA Xlt 968-128-63 3906 Mbyte
Ce qui est ensuite utilisé pour utiliser fdisk correctement!
Une fois la carte remise à zéro, on crée la partition sur laquelle sera déposée le système.
# fdisk -C 968 -H 128 -S 63 /dev/sdb
- On crée une nouvelle partition [n]
- Nous voulons une partition primaire [p]
- Ce sera la partition N° 1 [1]
- On débute par le premier cylindre []
- On finit par le dernier cylindre []
- On peut contrôler le résultat [p]
- Puis valider les changement [w]
Formatage de la partition système
On met en place un système de fichier sur notre partition nouvellement crée.
/root# mkfs.ext3 -v /dev/sdb1
Installation de Debian
Mise en place de l'image
Nous allons installer Debian Squeeze sur notre carte flash via l'utilitaire debootstrap
qui téléchargera et mettra en place le système pour nous.
# mkdir -p /mnt/cf # mount /dev/sdb1 /mnt/cf # debootstrap --arch=i386 squeeze /mnt/cf http://ftp.ch.debian.org/debian
or
# debootstrap --arch=i386 jessie /mnt/cf http://ftp.ch.debian.org/debian
Le programme va prendre un certain temps à télécharger les différents composant et à les mettre en place.
Montage des systèmes de fichier pour l'image
Pour pouvoir nous chrooter sur notre carte flash, nous devons lier quelques systèmes de fichiers qui sont normalement présent à l'exécution du système.
# mount -t proc none_proc /mnt/cf/proc # mount -t sysfs none_sys /mnt/cf/sys # mount --bind /dev /mnt/cf/dev
Configuration du système
Pour pouvoir configurer notre système sur notre carte flash, on va se chrooter dans sa racine. Et monter un dernier système nécessaire au bon fonctionnement du chroot.
# LANG=C chroot /mnt/cf /bin/bash # mount -t devpts devpts /dev/pts
Configuration de fstab
Le script debootstrap
met en place le système, mais ne configure pas le montage des partitions.
On va modifier le fichier /etc/fstab
pour qu'il monte les systèmes voulus au démarrage.
On commence par récupérer l'UUID de notre carte flash.
# UUID=$(dumpe2fs /dev/sdb1 | grep 'UUID' | cut -d':' -f2 | tr -d ' ')
# echo "proc /proc proc nodev,noexec,nosuid 0 0" >> /etc/fstab # echo "UUID=$UUID / ext3 defaults,noatime 0 1" >> /etc/fstab
On rajoute aussi le montage de plusieurs systèmes temporaires qui contiendront les logs et autres fichiers temporaire. Nous ne voulons pas que ces fichiers soient écrit sur la carte, ils l'useraient trop vite.
proc /proc… UUID=… tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0 tmpfs /var/run tmpfs defaults 0 0 tmpfs /var/log tmpfs defaults 0 0 tmpfs /var/lock tmpfs defaults 0 0
Configuration du temps
# dpkg-reconfigure tzdata
- Europe
- Zurich
Configuration du réseau
On modifie le fichier /etc/network/interfaces
pour lui configurer les interfaces.
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or # /usr/share/doc/ifupdown/examples for more information. auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Enfin, on définit le nom de la machine dans /etc/hostname
.
intranet.bolay.co
Configuration du gestionnaire de paquets
On rajoute des sources au gestionnaire de paquets aptitude
, grâce au fichier /etc/ap/sources.list
.
deb http://ftp.ch.debian.org/debian squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main
On contrôle que tout s'est bien déroulé avec un aptitude update
ou apt-get udpate
.
Installation de paquets supplémentaires
On installe (optionnellement), puis configure la gestion du français :
# aptitude install locales # dpkg-reconfigure locales
- On sélectionne la locale
fr_CH ISO-8859-1
- Elle sera notre langue par défaut
# aptitude install console-data
- On sélectionne notre clavier depuis la liste
- On utilise un clavier qwertz
- Avec une disposition Swiss
- On utilise une Autre disposition que l'USA
- Disposition qui vient de Switzerland
- Plus précisément, la Switzerland - French
- Avec le charset Latin1 and Latin5
On installe un client NTP pour rester à l'heure.
# aptitude install ntpdate
ou
# apt-get install --no-install-recommends ntpdate
Et on configure le client NTP avec le fichier /etc/default/ntpdate
:
# The settings in this file are used by the program ntpdate-debian, but not # by the upstream program ntpdate. # Set to "yes" to take the server list from /etc/ntp.conf, from package ntp, # so you only have to keep it in one place. NTPDATE_USE_NTP_CONF=yes # List of NTP servers to use (Separate multiple servers with spaces.) # Not used if NTPDATE_USE_NTP_CONF is yes. NTPSERVERS="ntp.metas.ch 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org" # Additional options to pass to ntpdate NTPOPTIONS=""
On installe un noyau spécifique aux processeurs mono-cœur.
# aptitude install linux-image-486
On installe encore quelques utilitaires standard.
# aptitude install rsyslog sudo
ou
# apt-get install --no-install-recommends rsyslog sudo
Puis finalement on install le serveur ssh
# tasksel install ssh-server
Et en option:
# tasksel install standard
Tasksel permet d'installer des composants “essentiels” facilement. Il est utilisé lors de l'installation standard de Debian pour nous permettre d'installer une interface graphique ou un serveur SSH.
Installation et configuration du GRUB - Jessie
Nous allons maintenant installer GRUB.
# apt-get install grub-pc
Editer /etc/default/grub
GRUB_CMDLINE_LINUX="console=ttyS0,19200" GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --unit=0 --speed=19200 --stop=1"
et finalement
update-grub
Installation et configuration du GRUB - Squeeze
Nous allons maintenant installer GRUB.
# aptitude install grub
- On laisse la commande pour le chargement du noyau vide
- On installe GRUB sur le disque /dev/sdb
On modifie la configuration de /etc/default/grub
GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` #GRUB_CMDLINE_LINUX_DEFAULT="quiet" # Attention à bien mettre la vitesse du port série à la même valeur que le BIOS de # notre carte GRUB_CMDLINE_LINUX_DEFAULT="verbose console=ttyS0,19200n8 reboot=bios" GRUB_SERIAL_COMMAND="serial --unit=0 --speed=19200" GRUB_CMDLINE_LINUX="" # Pour qu'il n'aille pas chercher sur notre partition Mac ou Windowns GRUB_DISABLE_OS_PROBER="true" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console GRUB_TERMINAL=serial # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_LINUX_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
# echo '(hd0) /dev/sdb' > /boot/grub/device.map
Une fois notre configuration peaufinée, on réinstalle le grub et on régénère sa config et on s'assure que c'est bien hd0
qui est utilisé.
# grub-install /dev/sdb # update-grub # sed -i 's/hd1/hd0/g' /boot/grub/grub.cfg
Dernières configuration (misc.)
On désactive tout les terminaux de type écran et l'on active celui de type série dans le fichier /etc/inittab
.
#1:2345:respawn:/sbin/getty 38400 tty1 #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6 # Mettre la même valeur utilisée par le BIOS et par le GRUB T0:23:respawn:/sbin/getty -L ttyS0 19200 vt100
On définit un mot de passe pour l'utilisateur root
.
# passwd root //1234//
On nettoie notre gestionnaire de paquet.
# aptitude clean
ou
# apt-get clean
Démontage du système
Une fois l'installation terminée, il faut démonter toutes nos partitions.
# umount /dev/pts # exit
# umount /mnt/cf/dev # umount /mnt/cf/sys # umount /mnt/cf/proc # umount /mnt/cf
Enfin, on contrôle l'état de notre disque.
# df -h
Configuration post-installation
On met la carte flash sur notre carte Soekris, on branche le câble série sur lequel une session screen
est démarée (screen /dev/ttyUSB0 19200
) et l'on branche l'alimentation.
Si tout se passe bien, Debian devrait démarrer normalement.
Il nous reste néanmoins quelques réglages à faire…
Re-configuration des interfaces ethernet
L'utilitaire debootstrap
n'a pas configurer nos interfaces ethernet correctement.
On lance la commande dpkg-reconfigure udev
pour qu'il régénère la configuration de nos interfaces. Cependant, il peut garder certaine trace de l'ancien système.
Il faut alors éditer le fichier /etc/udev/rules.d/70-persistent-net.rules
pour retirer les interfaces qui font références à notre ancien système et renommer correctement les interfaces de la carte Soekris.
Le résultat doit ressembler à ça :
<files> # PCI device 0x1106:0x3053 (via-rhine) SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:00:24:ce:39:99 0”, ATTR{dev_id}==“0x0”, ATTR{type}==“1”, KERNEL==“eth*”, NAME=“eth0”
# PCI device 0x1106:0x3053 (via-rhine) SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:00:24:ce:39:99 1”, ATTR{dev_id}==“0x0”, ATTR{type}==“1”, KERNEL==“eth*”, NAME=“eth1”
# PCI device 0x1106:0x3053 (via-rhine) SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:00:24:ce:39:99 2”, ATTR{dev_id}==“0x0”, ATTR{type}==“1”, KERNEL==“eth*”, NAME=“eth2”
# PCI device 0x1106:0x3053 (via-rhine) SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:00:24:ce:39:99 3”, ATTR{dev_id}==“0x0”, ATTR{type}==“1”, KERNEL==“eth*”, NAME=“eth3” </file>
Un simple redémarrage suffit à avoir nos interfaces présentes correctement.