Projet

Général

Profil

Personnalisation du DVD

Modifier le fond d'écran du bootloader (CD)

Pour la version fondée sur ubuntu 10.04 il faut supprimer tous les fichiers .pcx du Live pour que seul le splash.pcx soit pris en compte.

convert image/isolinux/splash.png -colors 250 image/isolinux/splash.pcx

Ensuite, pour éviter l'affichage du clavier/souris qui propose d'ensuite afficher le menu de boot:

  • gfxboot.cfg
.../...
hidden-timeout=0
.../...

Modifier le fond d'écran de la session gnome (live):

Pour faire vite et ne pas perdre de temps, je modifie le fichier chroot/usr/share/backgrounds/warty-final-ubuntu.png tout simplement. Pour avoir des fonds d'écrans aléatoires c'est le script /usr/local/bin/random_wallpaper.py qui s'en charge, il va piocher dans la liste des fonds d'écrans qui sont choisis par l'utilisateur.

Modification du usplash

Pour avoir le usplash abuledu il suffit d'installer dans le chroot le paquet usplash-theme-abuledu_0.23_i386.deb, ensuite modifier sa priorité d'installation

  • jaunty
update-alternatives --install /usr/lib/usplash/usplash-artwork.so usplash-artwork.so /usr/lib/usplash/usplash-theme-abuledu.so 20
update-initramfs -u
  • lucid
update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/abuledu/abuledu.plymouth 150
update-initramfs -u

Ensuite il faut copier le fichier initrd dans le bon endroit du cd image

cp chroot/boot/initrd.img-2.6.28-18-generic image/casper/initrd.gz

Définition de la taille de la partition minimale d'ubuntu (partitionnement assisté)

  • Fichier chroot/lib/partman/automatically_partition/10resize_use_free/do_option
# Limit to sizes that will allow enough room for the installation.
# ryxeo taille 8,5 Go semble etre un minimal correct
maxsize="$(expr "$maxsize" - \( 8 \* 1024 + 510 \) \* 1024 \* 1024)" 
if ! longint_le $minsize $maxsize; then

Modification du slideshow affiché durant l'installation

  • Fichiers chroot/usr/share/ubiquity-slideshow/slides/loc.fr

Ajout de ryxeo-stuff a la fin de la procédure d'installation

  • Fichier /usr/lib/ubiquity/apt-setup/finish-install

Paquet spécial ubiquity

Modification du fichier de traduction fr.po pour améliorer l'assistant d'installation ubiquity (abuledu/nouva a la place de ubuntu, et conseil pour ne pas importer de comptes utilisateurs)

  • debian/po/fr.po (messages)
  • d-i/source/migration-assistant/ma-search-users.c (modif le retour des comptes utilisateurs windows pour que ça ne retourne rien)
  • desktop/ubiquity-gtkui.desktop ou desktop/ubiquity-gtkui.desktop.in pour remplacer RELEASE par "AbulEdu 11.04"

Modification du lanceur de ubiquity: wrapper personnalisé

Modification de chroot/usr/share/applications/ubiquity-gtkui.desktop:

Exec=/bin/bash /usr/local/bin/install_wrapper.sh

install_wrapper.sh

#!/bin/bash

#reset sources.list
sudo rm -f /etc/apt/sources.list
cat > /tmp/sources.list.new <<EOF
deb file:/mnt ./

EOF
sudo cp /tmp/sources.list.new /etc/apt/sources.list

#es-ce qu'un serveur abuledu est joignable ?
TESTSERVECOLE=`ping servecole -c1 2>&1 > /dev/null`
if [ "${?}" = "0" ]; then
    zenity --question --title="Attention" --text="Ce DVD permet d'installer la version cliente d'AbulÉdu et nécessite d'avoir un serveur 9.08 pour fonctionner correctement. Si vous n'avez pas cette version sur le serveur, contactez la société RyXéo ou votre revendeur le plus proche.\n\nwww.abuledu.com -- www.ryxeo.com -- tel. 05 35 54 01 18" --ok-label="Continuer" --cancel-label="Annuler" 
    if [ "${?}" = "1" ]; then
    exit
    fi
    touch /tmp/installclientlourd
else
    zenity --question --title="Attention" --text="Votre ordinateur ne semble pas être connecté à un serveur AbulÉdu.
Vous pouvez décider de faire une installation en mode monoposte mais vous n'aurez alors pas accès aux services suivants qui sont fournis par un serveur AbulÉdu:
 - Respecter la loi tout simplement pour une installation scolaire (filtrage, gestion des logs, stockage);
 - Annuaire LDAP permettant l'authentification des utilisateurs;
 - Espaces de stockages individuels et partagés sur le serveur;
 - Accéder aux documents depuis n'importe quel ordinateur du réseau;
 - Respecter le référenciel S2i2e du ministère;
Un descriptif plus complet est présent dans les documents PDF que vous pouvez trouver sur le bureau." --ok-label="Installer la version monoposte" --cancel-label="Annuler" 
    if [ "${?}" = "1" ]; then
    exit
    fi
    touch /tmp/installmonoposte
fi

zenity --question --title="SAUVEGARDE" --text="Je confirme avoir fait une <b>sauvegarde de mes données</b> (sur un disque débranché ou une clé usb) et suis pleinement informé(e) que l'installation d'AbulÉdu Live risque de détruire les données présentes sur mon disque dur (surtout si je me trompe à l'étape de partionnement du disque dur).\n\n<i>Dans le doute nous vous conseillons de demander de l'aide à une personne habituée à faire des installation de systèmes Linux ou à demander de l'aide sur le forum.abuledu.org</i>." --ok-label="Continuer l'installation" --cancel-label="Annuler" 

if [ "${?}" = "1" ]; then
    exit
fi

#on lance ubiquity pour l'installation
ubiquity --desktop %k gtk_ui

Ajout des paquets spéciaux abuledu

  • mettre tous les .deb dans le répertoire ryxeo/deb du dvd
  • créer le Packages
dpkg-scanpackages ./ > Packages
cat Packages | gzip -f9 > Packages.gz

Création des comptes utilisateurs dans la session live

Tout se passe dans le fichier chroot/usr/share/initramfs-tools/scripts/casper-bottom

  • on ne touche pas à 15autologin, normalement on re(dé)configure l'autologin de gdm dans le 50adduser_abuledu (ça fait moins de fichiers à trafiquer) mais c'est une bonne idée de regarder si gdm n'a pas changé (exemple jaunty gdm.conf, lucid custom.conf)
  • 25configure_init -> pas mal de ligne à mettre en commentaires pour éviter qu'on ait des consoles ouvertes (ctrl+F2)
  • 50adduser_abuledu forcément :)

Il faut ensuite penser à reconstruire l'initrd

mount --bind /dev chroot/dev
mount --bind /proc chroot/proc
chroot chroot
update-initramfs -u
logout (sortir du chroot)
cp chroot/boot/initrd.img-2.6.28-11-generic image/casper/initrd.gz

Ouverture de session GDM sans mot de passe

  • /etc/pam.d/gdm.conf
  1. #%PAM-1.0
  2. auth requisite pam_nologin.so
  3. auth required pam_env.so readenv=1
  4. auth required pam_env.so readenv=1 envfile=/etc/default/locale
  5. auth sufficient pam_listfile.so item=user sense=allow file=/etc/gdm/nopassusers.txt onerr=fail
  6. @include common-auth
  7. auth optional pam_gnome_keyring.so
  8. @include common-account
  9. session required pam_limits.so
  10. @include common-session
  11. session optional pam_gnome_keyring.so auto_start
  12. @include common-password
  • modification du script qui ajoute les comptes utilisateurs "live" pour ajouter les login dans le fichier nopassusers.txt

Les skels utilisateurs, trombines etc.

Tout se copie dans
  • chroot/etc/skel
  • chroot/usr/share/skels/
  • chroot/usr/share/pixmaps/faces/
  • image/isolinux
  • chroot/usr/share/icons/AbulEdu
  • chroot/usr/local/bin

Nom de la machine

  • scripts/casper-bottom/18hostname

GDM 2.30

Trombines

Modification du thème

  • chroot/usr/share/gdm/gdm-greeter-login-window.ui
  • cf #1558
Redmine Appliance - Powered by TurnKey Linux