cdebootstrap
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 :
- -a architecture
- distribution à installer
- répertoire de travail
- miroir à utiliser
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
Installation sur le 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.
Configuration
Ajouter un fichier /etc/resolv.conf :
nameserver 212.27.40.241
nameserver 212.27.40.240
nameserver 212.30.96.108
Ajouter un fichier /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 :
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
Création des homes
En dehors du chroot
mkdir /mnt/md1/home
mount -o bind /mnt/md1/home /mnt/md1/debian_chroot/home
Démarrer le chroot
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 :
1 2 3 4 5 6 | #!/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 :
1 2 3 4 5 6 7 8 9 | #!/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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/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
|