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 :
Ensuite créez un dossier qui va servir du root et lancez la préparation :
Si votre carte SD ou SDHC n'est pas déjà formatée en EXT3, il faut faire cela :
Utilisez :
A partir de là, on peut monter le disque et copier le système bootstrapé dessus :
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 :
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 :
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
- 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
- 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
- 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
- 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'
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