Installation de Debian sur Armadeus APF28

(v1.2) Tuto rédigé par Michel de CREVOISIER – Mars 2013

SOURCES
Debian on APF28 :
 http://www.armadeus.com/wiki/index.php?title=Debian_on_APF

1

INDEX
SOURCES.............................................................................................................................................................. 1 INDEX................................................................................................................................................................... 2 1. Préparation de la carte Armadeus ............................................................................................................. 3 1.1 1.2 1.3 2. Détection ............................................................................................................................................ 3 Connexion ........................................................................................................................................... 3 Accès au BIOS « U-boot » .................................................................................................................. 4

Préparation de la carte SD .......................................................................................................................... 5 2.1 2.2 2.3 2.4 Choix .................................................................................................................................................... 5 Formatage sous Mac .......................................................................................................................... 5 Formatage sous Linux ........................................................................................................................ 5 Montage de la carte SD ..................................................................................................................... 6

3.

Environnement Debian ............................................................................................................................... 7 3.1 3.2 3.3 3.4 3.5 3.6 Préparation du noyau ........................................................................................................................ 7 Préparation du système .................................................................................................................... 8 BIOS ................................................................................................................................................... 10 Réseau ............................................................................................................................................... 10 Optimisations et paramétrage ........................................................................................................ 11 Screenshots ...................................................................................................................................... 12

4.

Environnement Linux intégré ................................................................................................................... 13 4.1 4.2 4.3 Armadeus software : Buildroot ....................................................................................................... 13 Transfert fichiers .............................................................................................................................. 15 Boot depuis la carte SD ................................................................................................................... 15

5.

Problèmes d’ordre général ....................................................................................................................... 16

2

1. Préparation de la carte Armadeus
1.1 Détection
 Pour commencer, branchez le câble mini-USB sur le port USB « debug » de votre ordinateur : o Sous Mac et avec le logiciel Growler, la notification suivante apparaît :

o Vous pouvez également vérifier que le périphérique « tty.usbmodem1411 » est bien détecté en exécutant la commande suivante : ls /dev/tty.*

Note : Si le périphérique n’apparait pas, démarrez la carte avec le câble USB branché à votre ordinateur. Ensuite, enlevez l’USB, débranchez l’alimentation, rebranchez l’USB puis l’alimentation.

1.2 Connexion 1.2.1 Via ZTerm
  Pour se connecter à la carte, nous utiliserons le logiciel Zterm Une fois Zterm installé, lancez-le et allez dans : o Settings > Modem Preferences > Serial port : usbmodem1411

3

o Allez ensuite dans Dial > Directory > New et mettez le Data Rate à 115200

Une fois le profil créé et validé, sélectionnez-le et cliquez sur Dial:

Vous aboutissez sur la console Shell ci-dessous. Connectez-vous sans mot de passe avec le login root :

1.2.2 Via Screen
Vous pouvez également utiliser le logiciel Screen intégré nativement à Mac et Linux : screen /dev/tty.usbmodem1411 115200

1.3 Accès au BIOS « U-boot »
Pour pourvoir accéder au « boot loader » U-boot, vous devez être connecté en console sur la carte. Exécutez alors la commande « reboot » jusqu’à apparition de la séquence ci-dessous :

4

2. Préparation de la carte SD
2.1 Choix
Attention, toutes les cartes ne sont pas supportées. Rendez-vous ici pour connaître les compatibilités. Et attention avec les SD HC (« Haute Capacité ») !

2.2 Formatage sous Mac
Pour formater en EXT2 sous Mac, utilisez le logiciel « Macport » pour ensuite installer le programme « e2fsprogs » : sudo port install e2fsprogs mkfs.ext2 /dev/diskX ou mke2fs –t ext2/dev/diskX Attention ! Si vous êtes sous Mountain Lion (10.8), le logiciel ne fonctionnera pas en raison d’une incompatibilité avec le mode 64 bits. L’erreur que vous aurez sera la suivante : /Library/Extensions/ext2fs.kext failed to load - (libkern/kext) requested architecture/executable not found; check the system/kernel logs for errors or try kextutil(8). mount_ext2: ext2 filesystem is not available

2.3 Formatage sous Linux
Pour définir le partitionnement, utilisez les utilitaires « gparted » ou « fdisk » : fdisk /dev/diskX
Command (m for help):d {enter } Selected partition 1 Command (m for help):n {enter} Command action e extended p primary partition (1-4) p {enter} Partition number (1-4):1 {enter}

Vérifiez le détail des actions qui vont être effectuées : Command (m for help): p
Disk /dev/sda: 131 MB, 131072000 bytes X heads, X sectors/track, X cylinders Units = cylinders of X * X = X bytes Device /dev/sda1 Boot Start End Blocks Id System 1 X X X Linux

5

Pour terminer, validez le tout : Command (m for help): w [write table to disk and exit] Créez ensuite le système de fichier en EXT2 : mke2fs -t ext2 /dev/diskX

2.4 Montage de la carte SD
LINUX (sur carte Armadeus) : Par défaut, les cartes micro-SD sont montées dans /dev/mmcblk0 mount /dev/mmcblk0 /media/mmc MAC (via MacFuse - source) fuse-ext2 /dev/disk1s1 /Volume/SD WINDOWS : (source) Exécutez la commande suivante pour lister les points de montage : cat /etc/fstab

6

3. Environnement Debian
L’objectif de ce point est de préparer une « Debian ARMel » avec l’ensemble des paquets de base. Cette solution est beaucoup plus commode que la précédente dans la mesure où l’on retrouve nativement un grand nombre d’outils facilitant l’intégration d’applications déjà compilées pour cet environnement. Pour information, cette méthode n’exploite pas nativement la carte SD. Au contraire, elle copie l’ensemble des binaires de « Debian Armel » sur la NAND de la carte. C’est pourquoi j’ai adapté la procédure originale disponible ici. Nous utiliserons par ailleurs la version 6 de Debian i386 pour travailler (téléchargement ici).

3.1 Préparation du noyau 3.1.1 Environnement de travail
Installez les prérequis sur votre environnement de travail : apt-get install debootstrap qemu-user-static Créer un répertoire de travail : mkdir /root/apf_debian cd /root/apf_debian

3.1.2 Boostrap
Téléchargez l’ensemble des paquets Debian pour l’architecture Armel : debootstrap --foreign --arch=armel squeeze rootfs http://ftp.debian.org/debian Copiez les fichiers obtenus dans un nouveau « filesystem » : cp /usr/bin/qemu-arm-static rootfs/usr/bin Générez les binaires : DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot rootfs debootstrap/debootstrap --second-stage

3.1.3 Finalisation
Configuration du port série (sinon rien ne s’affichera) : echo 'T0:23:respawn:/sbin/getty -L ttyAM0 115200 vt100' >> rootfs/etc/inittab cp -r /dev/ttySMX0 /root/rootfs/dev/ttySMX0 Si l’erreur suivante « init: Id "X" respawning too fast: disabled for X minutes » apparaît au démarrage, exécutez la commande suivante : cp -r /dev/ttySMX0 /root/rootfs/dev/ttySMX0

7

Modification du “hostname”: echo 'apf28' > rootfs/etc/hostname echo '127.0.1.1 apf28' >> rootfs/etc/hosts Suppression du mot de passe “root”: sed -i -e 's/root:\*:/root::/' rootfs/etc/shadow Nettoyage des APT: rm rootfs/var/cache/apt/archives/*.deb Pour terminer, “zipper” le tout dans un tar et transférez le sur la NAND via carte SD : tar cvf debian_arm_rootfs.tar rootfs

3.2 Préparation du système
Note : l’ensemble de ces actions est effectué depuis le système intégré à la carte

3.2.1 Extraction des fichiers
Dézippez le tar dans la NAND : cd /root tar xvpf debian_arm_rootfs.tar

3.2.2 Script d’amorçage et modules
Créez un script d’amorçage nommé « /debinit » qui sera appelé par la suite dans le BIOS: #!/bin/sh mount -t proc none /root/rootfs/proc mount -o bind /dev /root/rootfs/dev mount -o bind /dev/pts /root/rootfs/dev/pts mount -o bind /sys /root/rootfs/sys exec chroot /root/rootfs /sbin/init Rendez le exécutable: chmod 755 /debinit Copiez les modules suivants: cp -r /lib/modules/* /root/rootfs/lib/modules cp -r /lib/firmware /root/rootfs/lib/firmware chroot /root/rootfs /sbin/depmod -a

8

3.2.3 Déplacement des répertoires
Etant donné que la NAND ne dispose que de 256 Mo d’espace, nous allons procéder à la copie des répertoires les plus volumineux sur la carte SD. Pour commencer, formatez la carte SD en 3 partitions principales (etc, var, usr) à l’aide de Gparted : usr : 1,5 Go (p1) var : 400 Mo (p2) etc : 100 Mo (p3) Note : Taille des partitions sur une carte de 2 Go Copiez ensuite leur contenu respectif à partir des fichiers originaux de la NAND : mount /dev/mmcblk0p1 /media/mmc-usr cp -rfa /root/rootfs/usr/* /media/mmc-usr mount /dev/mmcblk0p2 /media/mmc-var cp -rfa /root/rootfs/var/* /media/mmc-var mount /dev/mmcblk0p3 /media/mmc-etc cp -rfa /root/rootfs/etc/* /media/mmc-etc Démontage: Sync umount /media/mmc-usr umount /media/mmc-var umount /media/mmc-etc Modifiez le fichier FSTAB afin d’indiquer l’emplacement de ces 3 nouveaux répertoires : nano /root/rootfs/etc/fstab et complétez le avec ces éléments: /dev/mmcblk0p1 /usr ext2 defaults,auto 0 1 /dev/mmcblk0p2 /var ext2 defaults,auto 0 1 /dev/mmcblk0p3 /etc ext2 defaults,auto 0 1

9

3.3 BIOS
Pour terminer, ajoutez une nouvelle option de démarrage dans le BIOS. Concrètement, cette dernière permettra l’amorçage de votre Debian à partir du script du point 3.2.2. BIOS> setenv debboot 'setenv addubifsargs ${addubifsargs} init=/debinit; run ubifsboot' BIOS> saveenv BIOS> run debboot

3.4 Réseau
Les réglages réseau doivent s’effectuer directement dans le BIOS. Ces paramètres seront ensuite « importés » de façon transparente dans le système installé. setenv ipaddr ‘X.X.X.X’ setenv netmask ‘X.X.X.’ setenv gateway ‘X.X.X.X’ setenv write De plus, je vous conseille vivement de fixer les paramètres suivants sur vos switchs Cisco : SW# conf t SW(config)# interface FastEthernet x/x SW(config)# speed 100 SW(config)# duplex half

10

3.5 Optimisations et paramétrage 3.5.1 Paramétrage des dépôts
« apt-get » est le gestionnaire de paquets par défaut sous Debian. Pour modifier ses sources, modifiez le fichier sources.list : nano /etc/apt sources.list Et renseignez les lignes suivantes à votre convenance : deb http://ftp.fr.debian.org/debian stable main contrib non-free deb-src http://ftp.fr.debian.org/debian stable main contrib non-free deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.debian.org/debian/ squeeze-updates main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free

3.5.2 Divers
Modifiez l’heure et la date (l’heure est perdue à chaque débranchement de l’alimentation) : date -s Mettez à jour le système : apt-get update apt-get upgrade Activez le mot de passe root : passw Installez htop pour le monitoring : apt-get install htop Installez SSH server : apt-get install openssh-server

11

3.6 Screenshots

12

4. Environnement Linux intégré
L’objectif de cette partie sera de préparer un noyau Linux précompilé et personnalisé qui pourra être copié sur une carte SD. Dans notre cas, nous utiliserons la version 6 de Debian i386 (téléchargement ici) qui pourra être installée dans un environnement physique ou virtuel.

4.1 Armadeus software : Buildroot 4.1.1 Prérequis
Pour pouvoir utiliser le logiciel fournit par Armadeus, installez les prérequis suivants : apt-get install -y build-essential gcc g++ autoconf automake libtool bison flex gettext apt-get install -y patch subversion texinfo wget git-core apt-get install -y libncurses5 libncurses5-dev apt-get install -y zlib1g-dev liblzo2-2 liblzo2-dev apt-get install -y libacl1 gawk cvs curl lzma libacl1-dev apt-get install -y uuid-dev mercurial

4.1.2 Paramètre de langue
Si vous avez installé votre distribution dans une langue autre que l’anglais, exécutez la commande suivante afin d’ajouter le support de « en_US.UTF-8 » : dpkg-reconfigure locales

Dans le cas contraire, vous rencontrez l’erreur ci-dessous : extra/locale/locale_mmap.h:46: error: '__LOCALE_DATA_WCctype_II_LEN' undeclared here (not in a function)

4.1.3 Installation
Une fois les prérequis installé, exécutez le logiciel Armadeus « Buildroot » : tar xjvf armadeus-5.2.tar.bz2 cd armadeus-5.2 make apf28_defconfig
13

4.1.4 Choix des paquets
Si toute se passe bien, le menu ci-dessous apparaîtra. Vous pourrez alors sélectionner les paquets à intégrer dans votre image :

Pour naviguer, utilisez les flèches et pour revenir au menu précédent faites <Echap><Echap>. Il est recommandé de sélectionner les paquets ci-dessous, en plus de ceux dont vous avez besoin : Package selection :  Compressor o Bzip  Debugging o Dmalloc  Development tools o Autoconf o Automake o Binutils o Disctcc o Make o Libtool  Hardware o USB utils Une fois votre choix de paquets terminé, sauvegardez votre fichier de configuration (par défaut dans buildroot) et quittez le programme :

14

4.1.5 Compilation
Exécutez la commande suivante pour compiler le tout selon les préférences indiquées auparavant : make Note : si l’erreur suivante « On your system /bin/sh is a symbolic link that doesn't point to /bin/bash » apparaitît : mv /bin/sh /bin/sh_original ln -s /bin/bash /bin/sh Une fois la compilation lancée, soyez patient. En effet, de nombreux logiciels seront téléchargés et compilés avec le noyau. Vous trouverez les binaires générés dans : buildroot/output/images

4.2 Transfert fichiers
Une fois la compilation terminée, copiez les fichiers générés sur votre carte micro-SD : cd armadeus-5.2/buildroot/output/images cp apf28-rootfs.ubi apf28-rootfs.ubifs apf28-u-boot.sb /media/SD tar xvf apf28-rootfs.tar -C /media/SD mkdir -p /media/SD/boot cp apf28-linux.bin /media/SD/boot sudo umount /media/disk/SD

4.3 Boot depuis la carte SD
Mode manuel : BIOS> run mmcboot Mode auto : BIOS> setenv bootcmd run mmcboot BIOS> saveenv

15

5. Problèmes d’ordre général
   Perte de l’heure au débranchement de l’alimentation Problème de détection de carte réseau après avoir débranché le câble réseau pendant que le système était en marche Incompatibilité avec un grand nombre de carte SD

N’hésitez pas m’envoyer vos commentaires ou retours à l’adresse suivante : michel_de A-R-0-B-A-5 hotmail . com

16

Sign up to vote on this title
UsefulNot useful