Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
developpement:productions:sidus4stretch [2017/12/11 10:33]
cpetit [Debootstrap]
developpement:productions:sidus4stretch [2020/08/17 15:58] (Version actuelle)
equemene
Ligne 1: Ligne 1:
-<note warning>​En construction !</​note>​+====== SIDUS pour Debian Stretch ======
  
-====== ​SIDUS  ​======+<note important>​Contenu obsolète : pour une information générique sur SIDUS suivre [[developpement:​productions:​sidus|SIDUS]]</​note>​
  
 <note warning>​Tous les éléments présents dans cette documentation,​ les morceaux de code, etc entrent dans le cadre de la licence [[http://​www.cecill.info/​index.fr.html|CeCILL]]. Il est donc nécessaire de respecter les 4 libertés fondamentales des logiciels libres pour exploiter SIDUS dans sa propre infrastructure. Si vous comptez utiliser SIDUS dans votre infrastructure,​ faites le savoir à son [[emmanuel.quemener@ens-lyon.fr|auteur]],​ Centre Blaise Pascal ou citez le !</​note>​ <note warning>​Tous les éléments présents dans cette documentation,​ les morceaux de code, etc entrent dans le cadre de la licence [[http://​www.cecill.info/​index.fr.html|CeCILL]]. Il est donc nécessaire de respecter les 4 libertés fondamentales des logiciels libres pour exploiter SIDUS dans sa propre infrastructure. Si vous comptez utiliser SIDUS dans votre infrastructure,​ faites le savoir à son [[emmanuel.quemener@ens-lyon.fr|auteur]],​ Centre Blaise Pascal ou citez le !</​note>​
Ligne 257: Ligne 257:
       MENU LABEL SIDUS based on Debian Stretch on x86_64 : OverlayFS mode       MENU LABEL SIDUS based on Debian Stretch on x86_64 : OverlayFS mode
       MENU default       MENU default
-      KERNEL vmlinuz-4.9.0-3-amd64@stretch64nfs +      KERNEL vmlinuz-4.9.0-11-amd64@stretch64nfs 
-      APPEND console=tty1 initrd=initrd.img-4.9.0-3-amd64@stretch64nfs rd.shell sidus=overlay ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​stretch64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0+      APPEND console=tty1 initrd=initrd.img-4.9.0-11-amd64@stretch64nfs rd.shell sidus=overlay ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​stretch64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0
  
 LABEL stretch64aufs LABEL stretch64aufs
       MENU LABEL SIDUS based on Debian Stretch on x86_64 : AUFS mode       MENU LABEL SIDUS based on Debian Stretch on x86_64 : AUFS mode
       #MENU default       #MENU default
-      KERNEL vmlinuz-4.9.0-3-amd64@stretch64nfs +      KERNEL vmlinuz-4.9.0-11-amd64@stretch64nfs 
-      APPEND console=tty1 initrd=initrd.img-4.9.0-3-amd64@stretch64nfs rd.shell sidus=aufs ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​stretch64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0+      APPEND console=tty1 initrd=initrd.img-4.9.0-11-amd64@stretch64nfs rd.shell sidus=aufs ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​stretch64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0
 </​code>​ </​code>​
  
Ligne 337: Ligne 337:
  
 Nous avons par commodité défini des variables d'​environnement correspondant à la racine de notre système ''​$SIDUS''​ et une commande permettant l'​exécution d'une commande par ''​chroot''​ avec une option particulière d'​installation de paquet. Nous avons par commodité défini des variables d'​environnement correspondant à la racine de notre système ''​$SIDUS''​ et une commande permettant l'​exécution d'une commande par ''​chroot''​ avec une option particulière d'​installation de paquet.
 +
 +Configuration de la variable ''​HTTP'':​
 +<code bash>
 +export HTTP=http://​www.cbp.ens-lyon.fr/​sidus/​stretch
 +</​code>​
  
 Installation de ''​debootstrap''​ Installation de ''​debootstrap''​
Ligne 361: Ligne 366:
  
 <code bash> <code bash>
-debootstrap --arch $ARCH --components='​main,​contrib,​non-free'​ stretch $SIDUS http://​ftp.debian.org/​debian+debootstrap --arch $ARCH --components='​main,​contrib,​non-free'​ stretch $SIDUS http://ftp.de.debian.org/​debian
 </​code>​ </​code>​
  
Ligne 374: Ligne 379:
 printf '#​!/​bin/​sh\nexit 101\n' > ${SIDUS}/​usr/​sbin/​policy-rc.d printf '#​!/​bin/​sh\nexit 101\n' > ${SIDUS}/​usr/​sbin/​policy-rc.d
 chmod +x ${SIDUS}/​usr/​sbin/​policy-rc.d chmod +x ${SIDUS}/​usr/​sbin/​policy-rc.d
-</cod+</code> 
-* des paquets exigent l'​accès à la liste des processus, du système, des périphériques,​ de la mémoire virtuelle, des pointeurs de périphériques. Nous devons donc "​binder"​ le montage de ces dossiers du système hôte au système SIDUS :<​code>​+ 
 +* des paquets exigent l'​accès à la liste des processus, du système, des périphériques,​ de la mémoire virtuelle, des pointeurs de périphériques. Nous devons donc "​binder"​ le montage de ces dossiers du système hôte au système SIDUS : 
 +<​code>​
 sidus mount -t proc none /proc sidus mount -t proc none /proc
 sidus mount -t sysfs sys /sys sidus mount -t sysfs sys /sys
Ligne 392: Ligne 399:
 <code bash> <code bash>
 sidus apt-get update sidus apt-get update
-sidus apt-get -y install aptitude dselect dracut dracut-core dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales aufs-dkms aufs-tools firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 dbench iozone3 psmisc console-setup less vim unscd nfs-common stressapptest mlocate ​tshark ​linux-image-${ARCH} linux-headers-${ARCH}+sidus apt-get -y install aptitude dselect dracut dracut-core dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales aufs-dkms aufs-tools firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 dbench iozone3 psmisc console-setup less vim nscd nfs-common stressapptest mlocate ​net-tools hwloc time ssh 
 +sidus apt-get -y install ​linux-image-${ARCH} linux-headers-${ARCH} 
 +# pour architectures 32 bits Intel 
 +sidus apt-get -y install linux-image-686-pae linux-headers-686-pae linux-image-586 linux-headers-586
 </​code>​ </​code>​
 +
 +Sous architectures 32 bits, 2 noyaux sont à intégrer
  
 • Paramétrage de la localisation,​ la langue, le fuseau horaire à partir du serveur lui même : • Paramétrage de la localisation,​ la langue, le fuseau horaire à partir du serveur lui même :
Ligne 446: Ligne 458:
 sidus dpkg-reconfigure dracut sidus dpkg-reconfigure dracut
 </​code>​ </​code>​
- 
- 
- 
  
 • Vérification que le démarreur comprend bien les composants demandés • Vérification que le démarreur comprend bien les composants demandés
-<​code ​bash+ 
-sidus lsinitrd ​/​boot/​initrd.img-*-${ARCH} | egrep '(nfs|overlay)' +<​code>​ 
-lib/modules/4.9.0-3-amd64/kernel/​fs/​overlayfs/​overlay.ko +ls ${SIDUS}/​boot/​initrd.img-*-$(echo ​${ARCH} | sed 's/​i386/​686/​g'​) ​xargs -I '{}' ${SIDUS}/usr/bin/​lsinitrd ​'{}' ​| egrep '(overlay.ko|aufs.ko|sidus)'
-+
-sidus lsinitrd ​/​boot/​initrd.img-*-${ARCH} | egrep '​(aufs)'​ +
-$ lib/​modules/​4.9.0-3-amd64/​updates/​dkms/​aufs.k0+
 </​code>​ </​code>​
  
 +Normalement apparaissent au moins les sorties :
 +<​​code>​​
 +
 +-rwxr-xr-x ​ 1 root ​root ​ 1695 Oct 3 11:46 lib/​​dracut/​​hooks/​​pre-pivot/​​10-sidus-mount.sh
 +-rw-r--r-- ​ 1 root ​root ​ 60300 Nov 28 16:22 lib/​​modules/​​4.9.0-11-686/​​kernel/​​fs/​​overlayfs/​​overlay.ko ​
 +-rw-r--r-- ​ 1 root ​root ​ ​449800 Nov 28 16:22 lib/​​modules/​​4.9.0-11-686/​​updates/​​dkms/​​aufs.ko
  
 +</​​code>​​ ​
  
 • Suppression du hostname pour le paramétrage automatique du HOST • Suppression du hostname pour le paramétrage automatique du HOST
Ligne 476: Ligne 489:
 Pour la résolution DNS Pour la résolution DNS
 <code bash> <code bash>
-cp /​etc/​resolv.conf ${SIDUS}/etc/​resolv.conf+wget -O ${SIDUS}/​etc/​resolv.conf $HTTP/​resolv.conf.sidus
 </​code>​ </​code>​
  
Ligne 497: Ligne 510:
 cp /​etc/​default/​nfs-common ${SIDUS}/​etc/​default/​nfs-common cp /​etc/​default/​nfs-common ${SIDUS}/​etc/​default/​nfs-common
 cp /​etc/​idmapd.conf ${SIDUS}/​etc/​idmapd.conf cp /​etc/​idmapd.conf ${SIDUS}/​etc/​idmapd.conf
 +wget -O ${SIDUS}/​etc/​fstab $HTTP/fstab
 +echo -e '#​!/​bin/​bash\n\n#​ Mount /home folder\nmount /​home\n\nexit 0' > ${SIDUS}/​etc/​rc.local
 +chmod 755 ${SIDUS}/​etc/​rc.local
 </​code>​ </​code>​
  
Ligne 522: Ligne 538:
    * Pour une architecture amd64    * Pour une architecture amd64
 <code bash> <code bash>
-cp ${SIDUS}/​boot/​initrd.img-*-${ARCH} /srv/tftp +ls ${SIDUS}/​boot/​initrd* ​| while read INITRD; do EXTENSION=$(echo ${SIDUS} ​| awk -F'/'​ '{ print $NF }'); NEWINITRD=$(echo $INITRD | awk -F'/'​ 'print $NF}'​)@$EXTENSION; ​ cp $INITRD ​/srv/tftp/$NEWINITRD ;  ​chmod 644 /srv/tftp/$NEWINITRD ;  ​cd /​srv/​tftp/​efi64 ​;  ln -s ../$NEWINITRD $NEWINITRD ; done 
-cp ${SIDUS}/​boot/​vmlinuz-*-${ARCH} /srv/tftp +ls ${SIDUS}/​boot/​vmlinuz| while read KERNEL; do EXTENSION=$(echo ​${SIDUS} | awk -F'/'​ 'print $NF }'); NEWKERNEL=$(echo ​$KERNEL ​awk -F'/' '{ print $NF}'​)@$EXTENSION; ​ cp $KERNEL ​/srv/tftp/$NEWKERNEL ​chmod 755 /​srv/​tftp/​$NEWKERNEL ;  cd /​srv/​tftp/​efi64 ;  ​ln -s ../$NEWKERNEL ​$NEWKERNEL ; done
-chmod 644 /srv/tftp/initrd.img-*-${ARCH} +
-rename "​s/​amd64/​amd64.sidus/​g"​ /​srv/​tftp/​*${ARCH} +
-cd /​srv/​tftp/​efi64 +
-ls ../*${ARCH}.sidus ​xargs -{} sh -c 'export NAME=$(echo ​"​{}" ​sed -e "s/\.\.\///g"​) ​; ln -s ../$NAME $NAME'+
 </​code>​ </​code>​
  
    * Pour une architecture i386    * Pour une architecture i386
 <code bash> <code bash>
-rm /​srv/​tftp/​*[5-6]86* +ls ${SIDUS}/​boot/​initrd* ​| while read INITRD; do EXTENSION=$(echo ​${SIDUS} ​| awk -F'/' '{ print $NF }'); NEWINITRD=$(echo $INITRD | awk -F'/'​ '{ print $NF}'​)@$EXTENSION; ​ cp $INITRD ​/srv/tftp/$NEWINITRD ;  ​chmod 644 /srv/tftp/$NEWINITRD ;  cd /srv/tftp/efi32 ;  ln -s ../​$NEWINITRD $NEWINITRD ; done 
-cp ${SIDUS}/​boot/​initrd.img-*86* /srv/tftp +ls ${SIDUS}/​boot/​vmlinuz* | while read KERNEL; do EXTENSION=$(echo ${SIDUS| awk -F'/' '​{ ​print $NF }'); NEWKERNEL=$(echo $KERNEL | awk -F'/' '​{ ​print $NF}')@$EXTENSION; ​ cp $KERNEL /​srv/​tftp/​$NEWKERNEL ; chmod 755 /​srv/​tftp/​$NEWKERNEL ;  cd /​srv/​tftp/​efi32 ;  ln -s ../​$NEWKERNEL $NEWKERNEL ; done
-cp ${SIDUS}/boot/​vmlinuz-*86* /srv/tftp +
-chmod 644 /srv/tftp/initrd.img-*86* +
-ls /srv/tftp/*[5-6]86* | xargs -I '{}' ​mv '​{}'​ '​{}'​.sidus+
 </​code>​ </​code>​
  
developpement/productions/sidus4stretch.1512984825.txt.gz · Dernière modification: 2017/12/11 10:33 par cpetit