<< Hello world! | Page d'accueil | Galérie photos >> | Galérie photos

Installer une Debian sur une carte SD ou SDHC

Vous allez avoir besoin d'une machine Debian (physique ou virtualisée) pour préparer l'environnement.

Commencez par installer debootstrap :
  • apt-get install debootstrap

Ensuite créez un dossier qui va servir du root et lancez la préparation :
  • mkdir debian-plug
  • debootstrap --verbose --foreign --arch armel lenny debian-plug http://ftp.debian.org/debian

Si votre carte SD ou SDHC n'est pas déjà formatée en EXT3, il faut faire cela :
  • fdisk /dev/mmcblk0 (ou le nom du device)

Utilisez :
  • D pour supprimer une partition
  • N pour créer une nouvelle partition
  • W pour sauvegarder la configuration que vous avez fini
Ensuite, la commande mkfs.ext3 permet de créer un système de fichiers. Par exemple :
  • mkfs.ext3 /dev/mmcblk0p1

A partir de là, on peut monter le disque et copier le système bootstrapé dessus :
  • mkdir /mnt/tmp
  • mount /dev/mmcblk0p1 /mnt/tmp
  • mv debian-plug/* /mnt/tmp/
  • umount /mnt/tmp
Il faut maintenant insérer la carte SD dans le Sheeva Plug, démarré avec l'Ubuntu initial. Connectez-vous en SSH ou via la console série.
  • mkdir /mnt/tmp
  • mount /dev/mmcblk0p1 /mnt/tmp
  • mount -t proc proc /mnt/tmp/proc
  • chroot /mnt/tmp
  • /debootstrap/debootstrap --second-stage
  • apt-get update && apt-get upgrade
  • apt-get install udev locales openssh-server
  • passwd root
Pour finir, il reste un peu de config à faire :
  • Configuration d'un serveur de nom dans /etc/resolv.conf
  • Configuration de localhost dans /etc/hosts
  • Configuration du réseau dans /etc/network/interfaces
  • Modification de /etc/apt/sources.list :
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
  •  Modification de /etc/fstab :
/dev/mmcblk0p1  /               ext3    defaults,rw                                     0       1
tmpfs           /var/log        tmpfs   defaults,rw                                     0       0
tmpfs           /tmp            tmpfs   defaults,nosuid,nodev,mode=0777                 0       0
tmpfs           /var/run        tmpfs   size=1M,rw,nosuid,mode=0755                     0       0
tmpfs           /var/lock       tmpfs   size=1M,rw,noexec,nosuid,nodev,mode=1777        0       0
  • Editez /etc/rc.local
mkdir /var/log/apt
touch /var/log/wtmp /var/log/dmesg
  • Editez /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

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

Quittez ensuite le chroot et rebootez le Plug. Appuyez sur "espace" pour interrompre le boot U-boot ; vous obtenez le prompt "Marvell >>". Nous allons configurer U-boot pour booter sur le nouvel environnement Debian, en utilisant le kernel d'origine en flash.



Les commandes les plus utiles sont :
  • printenv pour lister les variables d'environnement
  • setenv pour définir une variable d'environnement
  • saveenv pour sauver la configuration en flash
Ainsi, nous définissons les deux variables suivantes :
  • setenv debian_boot 'setenv bootargs $(debian_bootargs); nand read.e 0x800000 0x100000 0x400000; bootm 0x800000'
  • setenv debian_bootargs 'console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mmcblk0p1 rw rootdelay=5'
Exécutez la commande run debian_boot pour démarrer sur le nouvel environnement.

Si le démarrage est correct et que vous souhaitez sauvegarder cette configuration en flash, il suffit de retourner dans U-boot, de redéfinir les deux variables précédentes, puis :
  • setenv bootcmd 'run debian_boot'
  • saveenv
  • boot
Enjoy !



Ajouter un commentaire Envoyer un trackback