============== Buildbox HOWTO (c) Nicolas Kovacs ============== Dernière révision : 12 décembre 2015 Ce HOWTO décrit la configuration d'une machine dédiée à la compilation de paquets Slackware. * Introduction * Matériel * Schéma de partitionnement * Configuration de LILO * Configuration de Conky * Pense-bête pour la configuration de chaque système * Multiboot et connexion SSH Introduction ------------ Mon réseau local comporte désormais une nouvelle machine dédiée à la compilation de paquets Slackware pour MLED (Microlinux Enterprise Desktop) et MLES (Microlinux Enterprise Server), gracieusement offerte par une entreprise française qui souhaite rester anonoyme. J'ai eu quelques ennuis avec la compilation sous VirtualBox suite à un bug avec OpenGL, et j'ai décidé d'opter pour une solution quelque peu archaïque, mais robuste et pérenne. Matériel -------- Il s'agit d'une station de travail HP Elite 3100, munie d'un processeur Intel Core i7, de 4 Go de RAM et d'un simple disque dur 500 Go. Schéma de partitionnement ------------------------- La machine est un multiboot qui contiendra en tout et pour tout 17 (!) systèmes différents : * 1 système principal pour le dépôt de paquets centralisé et la supervision * 4 versions de MLES pour 2 architectures * 4 versions de MLED pour 2 architectures Étant donné qu'avec un tel nombre de partitions, on arrive au-delà des limites du partitionnement avec 'fdisk', il faudra utiliser 'gdisk' et un schéma de partitionnement GPT. Voilà à quoi cela ressemble : # gdisk -l /dev/sda GPT fdisk (gdisk) version 0.8.7 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 976773168 sectors, 465.8 GiB Logical sector size: 512 bytes Disk identifier (GUID): 0B13CCA6-AC95-4EDB-A50C-CC2A10A625F4 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 976773134 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 12085247 5.8 GiB 8200 Linux swap 2 12085248 137914367 60.0 GiB 8300 Linux filesystem 3 137914368 169371647 15.0 GiB 8300 Linux filesystem 4 169371648 200828927 15.0 GiB 8300 Linux filesystem 5 200828928 232286207 15.0 GiB 8300 Linux filesystem 6 232286208 263743487 15.0 GiB 8300 Linux filesystem 7 263743488 295200767 15.0 GiB 8300 Linux filesystem 8 295200768 326658047 15.0 GiB 8300 Linux filesystem 9 326658048 358115327 15.0 GiB 8300 Linux filesystem 10 358115328 389572607 15.0 GiB 8300 Linux filesystem 11 389572608 462972927 35.0 GiB 8300 Linux filesystem 12 462972928 536373247 35.0 GiB 8300 Linux filesystem 13 536373248 609773567 35.0 GiB 8300 Linux filesystem 14 609773568 683173887 35.0 GiB 8300 Linux filesystem 15 683173888 756574207 35.0 GiB 8300 Linux filesystem 16 756574208 829974527 35.0 GiB 8300 Linux filesystem 17 829974528 903374847 35.0 GiB 8300 Linux filesystem 18 903374848 976773134 35.0 GiB 8300 Linux filesystem * /dev/sda1 est la partition d'échange (swap) commune à tous les systèmes. * /dev/sda2 contient le système "principal" avec notamment la configuration du chargeur de démarrage LILO, le gestionnaire de fenêtres minimal WindowMaker et Conky pour surveiller l'espace disque. * /dev/sda3 et /dev/sda4 : MLES 14.0 (32-bit et 64-bit) * /dev/sda5 et /dev/sda6 : MLES 14.1 (32-bit et 64-bit) * /dev/sda7 et /dev/sda8 : MLES 14.2 (32-bit et 64-bit) * /dev/sda9 et /dev/sda10 : place pour une future version de MLES * /dev/sda11 et /dev/sda12 : MLED 14.1 (32-bit et 64-bit) * /dev/sda13 et /dev/sda14 : MLED 14.2 (32-bit et 64-bit) * /dev/sda15 et /dev/sda16 : place pour une future version de MLED * /dev/sda17 et /dev/sda18 : une autre future version de MLED Configuration de LILO --------------------- Le système principal monte les partitions des autres systèmes au démarrage : --8<---------- /etc/fstab ---------------------------------------------------- /dev/sda1 swap swap defaults 0 0 /dev/sda2 / ext4 defaults 1 1 /dev/sda3 /mnt/sda3 ext4 defaults 0 0 /dev/sda4 /mnt/sda4 ext4 defaults 0 0 /dev/sda5 /mnt/sda5 ext4 defaults 0 0 /dev/sda6 /mnt/sda6 ext4 defaults 0 0 /dev/sda7 /mnt/sda7 ext4 defaults 0 0 /dev/sda8 /mnt/sda8 ext4 defaults 0 0 /dev/sda11 /mnt/sda11 ext4 defaults 0 0 /dev/sda12 /mnt/sda12 ext4 defaults 0 0 /dev/sda13 /mnt/sda13 ext4 defaults 0 0 /dev/sda14 /mnt/sda14 ext4 defaults 0 0 ... --8<-------------------------------------------------------------------------- Chacun des systèmes a une stance correspondante dans lilo.conf : --8<---------- /etc/lilo.conf ------------------------------------------------ ... image = /boot/vmlinuz-generic-3.10.17 initrd = /boot/initrd.gz root = /dev/sda2 label = Slack64-14.1 read-only image = /mnt/sda3/boot/vmlinuz-generic-smp-3.2.45-smp initrd = /mnt/sda3/boot/initrd.gz root = /dev/sda3 label = MLES-14.0-32bit read-only image = /mnt/sda4/boot/vmlinuz-generic-3.2.45 initrd = /mnt/sda4/boot/initrd.gz root = /dev/sda4 label = MLES-14.0-64bit read-only image = /mnt/sda5/boot/vmlinuz-generic-smp-3.10.17-smp initrd = /mnt/sda5/boot/initrd.gz root = /dev/sda5 label = MLES-14.1-32bit read-only image = /mnt/sda6/boot/vmlinuz-generic-3.10.17 initrd = /mnt/sda6/boot/initrd.gz root = /dev/sda6 label = MLES-14.1-64bit read-only image = /mnt/sda7/boot/vmlinuz-generic-smp-4.1.13-smp initrd = /mnt/sda7/boot/initrd.gz root = /dev/sda7 label = MLES-14.2-32bit read-only image = /mnt/sda8/boot/vmlinuz-generic-4.1.13 initrd = /mnt/sda8/boot/initrd.gz root = /dev/sda8 label = MLES-14.2-64bit read-only image = /mnt/sda11/boot/vmlinuz-generic-smp-3.10.17-smp initrd = /mnt/sda11/boot/initrd.gz root = /dev/sda11 label = MLED-14.1-32bit read-only image = /mnt/sda12/boot/vmlinuz-generic-3.10.17 initrd = /mnt/sda12/boot/initrd.gz root = /dev/sda12 label = MLED-14.1-64bit read-only image = /mnt/sda13/boot/vmlinuz-generic-smp-4.1.13-smp initrd = /mnt/sda13/boot/initrd.gz root = /dev/sda13 label = MLED-14.2-32bit read-only image = /mnt/sda14/boot/vmlinuz-generic-4.1.13 initrd = /mnt/sda14/boot/initrd.gz root = /dev/sda14 label = MLED-14.2-64bit read-only ... --8<-------------------------------------------------------------------------- Lorsqu'on invoque LILO, on obtient ceci : # lilo Added Slack64-14.1 + * Added MLES-14.0-32bit + Added MLES-14.0-64bit + Added MLES-14.1-32bit + Added MLES-14.1-64bit + Added MLES-14.2-32bit + Added MLES-14.2-64bit + Added MLED-14.1-32bit + Added MLED-14.1-64bit + Added MLED-14.2-32bit + Added MLED-14.2-64bit + Configuration de Conky ---------------------- Sur le système principal, Conky sert principalement à surveiller l'espace disque de tous les systèmes installés : --8<---------- ~/.conkyrc ---------------------------------------------------- # .conkyrc # Configuration de base background yes double_buffer yes alignment top_right default_color b0b0b0 use_xft yes xftfont Bitstream Vera Sans Mono:size=12 xftalpha 0.8 gap_x 20 gap_y 150 update_interval 1.0 # Variables TEXT Slackware 14.1 64-bit ${color ddaa00}sda2 $color ${fs_bar /} MLES 14.0 32-bit ${color ddaa00}sda3 $color ${fs_bar /mnt/sda3} MLES 14.0 64-bit ${color ddaa00}sda5 $color ${fs_bar /mnt/sda4} MLES 14.1 32-bit ${color ddaa00}sda6 $color ${fs_bar /mnt/sda5} MLES 14.1 64-bit ${color ddaa00}sda7 $color ${fs_bar /mnt/sda6} MLES 14.2 32-bit ${color ddaa00}sda8 $color ${fs_bar /mnt/sda7} MLES 14.2 64-bit ${color ddaa00}sda9 $color ${fs_bar /mnt/sda8} MLED 14.1 32-bit ${color ddaa00}sda12 $color ${fs_bar /mnt/sda11} MLED 14.1 64-bit ${color ddaa00}sda13 $color ${fs_bar /mnt/sda12} MLED 14.2 32-bit ${color ddaa00}sda14 $color ${fs_bar /mnt/sda13} MLED 14.2 64-bit ${color ddaa00}sda15 $color ${fs_bar /mnt/sda14} --8<-------------------------------------------------------------------------- Lancer Conky automatiquement au démarrage de WindowMaker : --8<---------- ~/GNUstep/Library/WindowMaker/autostart ----------------------- #!/bin/sh /usr/bin/conky --8<-------------------------------------------------------------------------- Pense-bête pour la configuration de chaque système -------------------------------------------------- * Les systèmes n'ont pas de partition '/boot' séparée. * Désélectionner les groupes de paquets E, KDE, KDEI, XAP et XFCE. * Ne pas réinstaller LILO, qui se trouve déjà sur /dev/sda2 ! * Laisser les services configurés par défaut. * Au premier redémarrage, installer le paquet 'user-settings-console'. * Configurer 'slackpkg' et effectuer la mise à jour initiale. * Configurer la disposition du clavier en mode graphique. * Créer un utilisateur. * Monter /dev/sda2 sur /mnt/sda2. * Installer WindowMaker ou Xfce et passer en init 4. * Ajouter le nouveau système au moniteur disque de Conky. * Élaguer le système de base. * Sur MLED 64-bit, installer la couche Multilib. Multiboot et connexion SSH -------------------------- Pour éviter les erreurs lors de la connexion à distance, il suffit de copier les clés SSH du système principal vers les autres systèmes installés : # cp /etc/ssh/ssh_host_*key* /mnt/sdaX/etc/ssh/ ------------------------------------------------------------------------------ # vim: syntax=txt