Installation

Un article de Linuxette.

Jump to: navigation, search


ATTENTION: page en cours d'écriture!!!


Je me suis servi de mon portable sous linux (Debian testing), afin de préparer l'image disque du serveur. Le paquet qemu ainsi que, non obligatoire, le module noyau 'kqemu', m'ont permis de créer une machine virtuelle afin d'installer tranquilement ma debian stable avec la dernière image iso de debian:

     $ cd /var/tmp
     $ wget ftp://ftp.proxad.net/mirrors/cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-31r3-i386-binary-1.iso

Installation de la machine virtuelle: création d'un fichier 'image disque' de 1 Gio puis démarrage de la machine virtuelle avec un pseudo cdrom contenant l'image iso.

     $ qemu-img create hda.img 1g
     $ qemu -hda ./hda.img -cdrom ./debian-31r3-i386-binary-1.iso -k fr -boot d

A partir de là, je suis les instructions dans la fenêtre de qemu, et répond aux questions posées:

   * langue français
   * clavier français
   * codage latin-9
   * partition: 1 seule
   * suppression du swap (sera créé après)
   * création d'une partition unique de 1,1 go

L'installation est presque finie. Je redémarre, avec qemu, mais cette fois ci sur le pseudo disque dur, et je passe aux aménagements perso pour terminer l'installation:

     $ qemu -hda ./hda.img -cdrom ./debian-31r3-i386-binary-1.iso -k fr -boot c

J'ai enlevé les man, et quasi toutes les documentations. Aucun programme sous X, et pas de serveur X configuré, bien sur. De plus, je n'ai pas encore installé apache2 ni bind. Pour l'instant, l'installation fait 222 Mo. Ce qui est marrant, c'est que qemu m'a installé une interface virtuelle sur eth0 avec l'adresse 10.0.2.15, j'ai donc acces au net sans me fatiguer!

Voila, je suis content, j'ai presque tout. En premier, je vais recompiler un nouveau noyau avec quelques options en moins, et d'autre en plus. Pour cela, qemu n'est pas la meilleur chose, puisque c'est une émulation. Je vais donc monter mon système, avec l'interface loop, puis je me 'chroot' dedans. L'option offset est obligatoire, car l'image disque est un peu particulière:

     $ cd /var/tmp/
     $ su
     # mount -o rw -o offset=32256 -o loop ./hda.img /mnt/
     # chroot /mnt/
     # locale-gen fr_FR.UTF-8

Là, je suis dans ma nouvelle installation 'virtuelle'. La comande local-gen permet d'éviter les messages du genre

     # aptitude upgrade
     Reading Package Lists... Done
     Building Dependency Tree
     Reading extended state information
     Initializing package states... Done
     Reading task descriptions... Done
     No packages will be installed, upgraded, or removed.
     0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
     Need to get 0B of archives. After unpacking 0B will be used.
     perl: warning: Setting locale failed.
     perl: warning: Please check that your locale settings:
             LANGUAGE = (unset),
             LC_ALL = (unset),
             LC_COLLATE = "C",
             LANG = "fr_FR.UTF-8"
         are supported and installed on your system.

Ensuite, il ne devrait plus y avoir ce problème. En dernier lieu, il faut monter /proc, et configurer /etc/resolv.conf de façon à bien positionner le dns, sinon, pas de réseau, sauf avec les adresses ip uniquement (pas facile à gérer)! Je me place dans /usr/src/linux, puis j'utilise les outils habituels pour créer le nouveau noyau (il y a quelques erreurs du, entre autre, aux différences de locales, mais c'est sans importance):

     # cd /usr/src/linux
     # make menuconfig
     # make-kpkg --initrd --append-to-version=.0.1 --revision=.ncc1701d.0.1 kernel-image
     # exit
     # qemu -hda hda.img -k fr -boot c

Une fois redémarré, plus qu'a installer le nouveau paquet

     $ cd /usr/src
     $ su
     # dpkg -i kernel-image-2.6.17.0.1_.ncc1701d.0.1_i386.deb
     # reboot

Et au prochain reboot, vous avez:

     $ uname -r
     2.6.17.0.1

A présent que tout fonctionne dans la machine virtuelle, il nous faut copier le tout sur la cf-card.

Dans la page suivante, j'explique la configuration des divers éléments (dns, apache, dhcp, nom de domaine, ...)