Le but est de créer une image du système dans un répertoire puis de le transférer sur le nas. La commande cdebootstrap prend comme arguments :
sudo cdebootstrap -aarm lenny debian_chroot/ ftp://ftp.proxad.net/mirrors/ftp.debian.org/
La commande se termine par une erreur :
E: Execution failed: Exec format error E: Internal error: install
C'est normal, on est sur un processeur d'une architecture différente.
Ensuite on transfert le contenu vers le nas :
sudo tar cvzf debian_lenny.tar.gz debian_chroot cp debian_lenny.tar.gz $PATH_TO_NAS
Ensuite on se connecte sur le nas pour effectuer la fin de l'installation. On décompresse l'archive :
mv debian_lenny.tar.gz /mnt/md1 cd /mnt/md1 tar xzf debian_lenny.tar.gz
Il faut installer sur le nas les coreutils disponible sur http://en.nas-4220.org/index.php/Tools. Ils fournissent la commande chroot.
Ensuite on chroot :
/mnt/md1/public/coreutils/chroot /mnt/md1/debian_chroot /bin/bash mount proc /proc -t proc
Il faut forcer l'installation des paquets :
cd /var/cache/bootstrap dpkg --force-all -i libc6*deb dpkg --force-all -i dpkg*deb dpkg -iGREB .
Il faut monter /proc sinon dpkg n'arrive pas à effacer certains fichiers. La dernière commande est à répéter autant de fois qu'il faut pour supprimer toutes les erreurs. Il est possible qu'il faille effacer le répertoire /var/mail.
Ajouter un fichier /etc/resolv.conf :
/etc/resolv.conf
nameserver 212.27.40.241 nameserver 212.27.40.240 nameserver 212.30.96.108
Ajouter un fichier /etc/hosts :
/etc/hosts
127.0.0.1 localhost.localdomain localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Éditer le fichier /etc/apt/sources.list :
/etc/apt/sources.list
deb ftp://ftp.proxad.net/mirrors/ftp.debian.org/ lenny main contrib non-free deb http://security.eu.debian.org/ lenny/updates main
Mise à jour :
update-alternatives --config editor aptitude update aptitude safe-upgrade
Création de devices :
aptitude install makedev /sbin/MAKEDEV
Ajout de logiciels utiles :
aptitude install less ssh nfs-kernel-server sudo ntp rsync locales maradns
En dehors du chroot
mkdir /mnt/md1/home mount -o bind /mnt/md1/home /mnt/md1/debian_chroot/home
Création du répertoire contenant le script qui exécutera le chroot :
/mnt/md1/public/applications/debian_chroot chmod 777 /mnt/md1/public/applications/debian_chroot touch /mnt/md1/public/applications/debian_chroot/init chmod 777 /mnt/md1/public/applications/debian_chroot/init touch /mnt/md1/public/applications/debian_chroot/rc.local chmod 777 /mnt/md1/public/applications/debian_chroot/rc.local
Script init :
#!/bin/sh HD_MNT_POINT=$(cat /usr/sausalito/codb/objects/1/Disk.rootdir 2> /dev/null) CWD=$HD_MNT_POINT/public/applications/debian_chroot cp $CWD/rc.conf /etc/ cp $CWD/rc.local /etc/ chmod 777 /etc/rc.local
Script rc.local :
#!/bin/sh killall -9 inetd killall -9 crond killall -9 upnpdevice killall -9 linkChg mount -o bind /mnt/md1/home /mnt/md1/debian_chroot/home mount -o bind /dev /mnt/md1/debian_chroot/dev /mnt/md1/public/coreutils/chroot /mnt/md1/debian_chroot /chroot.init
Le script chroot.init :
#!/bin/sh mount proc /proc -t proc mount sys /sys -t sysfs /etc/init.d/portmap start /etc/init.d/sudo start /etc/init.d/rsyslog start /etc/init.d/ssh start /etc/init.d/nfs-common start /etc/init.d/nfs-kernel-server start /etc/init.d/samba start /etc/init.d/ntp start /etc/init.d/maradns start