Le Systeme de fichier

Nous allons installer notre système cible dans un dossier local afin de pouvoir travailler depuis notre hôte. Nous allons donc parler d'outils comme debootsrap et chroot ou encore buildroot

Nous pourrions installer directment sur la carte mais la tache est longue et en cas d'erreur il faut tout recommencer.

Nous avons donc préférer installer dans un dossier puis à la fin de copier l'ensemble sur la carte. De plus le processeur de votre PC est plus puissant donc la compilation des librairies, l'installation des paquets et leur téléchargements ira plus vite.
Pour la suite vous devez impérativement etre en root


mkdir ~/a20debian
mkdir -p ~/a20debian/lib/modules
rm -rf ~/a20debian/lib/modules/
cp -r linux-sunxi/output/lib ~/a20debian/
dpkg --configure -a
distro=wheezy
    

Installer le system dans ~/a20debian avec debootstrap
Copier le fichier qemu-arm-static pour la simulation du CPU
Enfin changer le dossier root du systeme à chaut pour simuler la racine du futur systeme dans le dossier a20debian et pouvoir y installer ce que vous voulez :


debootstrap --arch=armhf --foreign $distro ~/a20debian/
cp /usr/bin/qemu-arm-static ~/a20debian/usr/bin/
chroot ~/a20debian/

Pour finaliser l'installation avec debootstrap :


/debootstrap/debootstrap --second-stage

Puis exporter à nouveau la variable distro dans le nouveau system :

distro=wheezy

Ajouter les sources à apt

# for Debian
cat <<EOT >  etc/apt/sources.list
deb http://http.debian.net/debian $distro main contrib non-free
deb-src http://http.debian.net/debian $distro main contrib non-free
deb http://http.debian.net/debian $distro-updates main contrib non-free
deb-src http://http.debian.net/debian $distro-updates main contrib non-free
deb http://security.debian.org/debian-security $distro/updates main contrib non-free
deb-src http://security.debian.org/debian-security $distro/updates main contrib non-free
EOT

 

Modifier le fichier fstab


cat <<EOT > etc/fstab
none    /tmp    tmpfs   defaults,noatime,mode=1777 0 0
# if you have a separate boot partition
# /dev/mmcblk0p2 /boot ext3 defaults 0 0 
EOT
exit

Nous sortons de la symulation pour copier le fichier resolv.conf qui contient des infos dns car notre system est si minimaliste qu'il n'a pas connaissance de son matériel et y accede par chroot

Copier le fichier resolv.conf pour sur la carte puis mettez à jours les packet, votre lang et votre mot de passe. Vous pouvez également installer les packets qui vous interresses


cp /etc/resolv.conf ~/a20debian/etc
chroot ~/a20debian/
export LANG=C
apt-get update
# set up 'apt
cat <<EOT > /etc/apt/apt.conf.d/71-no-recommends
APT::Install-Recommends "0";
APT::Install-Suggests "0";
EOT
# set up locales (Debian) - dpkg scripts tend to complain otherwise
apt-get install locales
dpkg-reconfigure locales
# Choose fr_FR.UTF-8 for both prompts, or whatever you want.
export LANG=fr_FR.UTF-8

Installer les paquets que vous souhaitez utiliser. Nous n'installons pas git (svn etant nécéssaire pour domoticz nous n'aurons pas le choix mais si vous pouvez ne l'installer pas), nous effectuerons les clones et checkout sur le PC puis nous exporterons les sources dans ~/a20debian.
Il faudra ensuite chroot puis compiler pour l'architecture.


apt-get install ntpdate ssh 

Changer le mot de passe root pour pouvoir ce connecter ensuite, Définition du hostname de la board et activation du port série pour l'affichage du debug


passwd
# ensure hostname has not carried over from your build host
echo CUBIE > /mnt/etc/hostname
# enable serial console (Debian/sysvinit way)
echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> etc/inittab

Pour activer le réseau au démarrage sur eth0 editer le fichier /etc/network/interfaces et aujouter


auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

Pour définir une ip fixe :


    address 192.168.11.100
    netmask 255.255.255.0
    gateway 192.168.11.1
    dns-domain example.com
    dns-nameservers 192.168.11.1	

Pour activer le réseau sur le wifi ajouter (pas encore tester) :


auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wireless-essid mynetwork
    wireless-key1 1234567890

Voila pour l'installation de base, c'est fini nous pouvons sortir :

exit