Groupe d'Utilisateurs de Logiciels Libres
de Nancy et ses environs

MirabellugWiki

KnoPPix

PagePrincipale :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 38.107.191.90

Comment remasteriser sa knoppix 3.4


Cet exemple va nous montrer comment est faite la mirabillix (version francisée de la KNOPPIX avec firefox et thunderbird en lieu et place de mozilla)

Pré-requis


Un CD de knoppix 3.4 ou encore l'image iso du CD sur une parition accessible depuis un système Linux. La knoppix est disponible sur cette page
1Go de RAM (rien que ca !) c'est nécessaire pour la création de l'image compressée du CD. En fait c'est la somme de la RAM physique et du SWAP.
Une partition de 3Go Libre. Je vous conseille une partition à part cela permet d'éviter les fausse manipulations. Dans cette documentation il s'agira de /dev/hda7. A vous d'adapter selon vos besoins.

Préparation du système

En bootant depuis le CD knoppix (recommendé)

  • Démarer correctement depuis votre CD de knoppix avec par exemple l'option lang=fr
  • Configurer votre connection internet (depuis le menu KNOPPIX)
  • ouvrir un shell root (depuis le menu Knoppix->console administrateur)
  • Monter la partition avec
    mount -rw /dev/hda7 /mnt/hda7
    
  • Créer sur cette partition un répertoire de travail (/knx par exemple)
  • si vous n'avez pas 1Go de RAM (cat /proc/meminfo (physical+swap)) vous allez avoir besoin d'un fichier de wswap
    cd /mnt/hda7/knx
    dd if=/dev/zero of=swapfile bs=1M count=750
    mkswap swapfile
    swapon swapfile
    
  • Il faut maintenant 2 répertoires, un pour le master, un pour les sources :
    mkdir /mnt/hda7/knx/master
    mkdir /mnt/hda7/knx/source
    
  • le repertoire KNOPPIX contenant le système de fichier
    mkdir /mnt/hda1/knx/source/KNOPPIX
    
  • Copier les fichier du reprtoire KNOPPIX vers votre repertoire source :
    cp -Rp /KNOPPIX/* /mnt/hda7/knx/source/KNOPPIX
    
    (c'est parfois un peu long)
  • Créer le repertoire KNOPPIX dans le master
    mkdir /mnt/hda7/knx/master/KNOPPIX
    
  • Copier tout le contenu de /cdrom/ vers /mnt/hda7/knx/master sauf le fichier KNOPPIX (~700 Mb).
    cd /cdrom;find . -size -10000k -type f -exec ; cp -p --parents {} /mnt/hda7/knx/master \;
    

En bootant depuis votre système Linux et en ayant l'image ISO

  • Créer un reptoire iso dans /mnt.
    mkdir /mnt/iso
    
  • Monter l'image ISO telechargée
    mount -o loop KNOPPIX-XXX.iso /mnt/iso
    
  • copier tout le contenu de /mnt/iso vers /mnt/hda7/knx/master sauf le fichier KNOPPIX (~700 Mb).
    cd /mnt/iso;find . -size -10000k -type f -exec cp -p --parents {} /mnt/hda7/knx/master \;
    
  • extraire le fichier KNOPPIX vers /tmp/tmp.iso par exemple. Il vous faut pour cela récupérer l'executable extract_compressed_fs qui est sur le CD de knoppix par exemple.
    extract_compressed_fs /mnt/iso/KNOPPIX/KNOPPIX > /tmp/tmp.iso
    
  • Démonter l'iso.
    umount /mnt/iso
    
  • Monter le fichier temporaire de l'iso.
    mount -o loop /tmp/tmp.iso /mnt/iso
    
  • copier les fichiers de l'image iso vers le repertoire source.
    cp -a /mnt/iso/* /mnt/hda7/knx/source
    
  • démonter l'image iso et supprimer le fichier d'image.
    umount /mnt/iso
    rm /tmp/tmp.iso
    

Personnalisation de notre système

  • on va se chrooter dans les sources de l'image (en fait nous allons passer sur un système linux complet, celui de la knoppix de base en l'occurence. Nous ne verrons plus notre système principal.
    chroot /mnt/hda7/knx/source/KNOPPIX
    
    En cas de nombreuse erreurs du style /dev/null permission denied vérifier le status de montage de la partition avec la commande mount qui doit renvoyer mount /dev/hda7 on /mnt/hda7 type ext3 (rw,nosuid,nodev). Dans le pire des cas, utiliser mount --bind /dev /mnt/hda/knx/source/KNOPPIX/dev
  • Maintenant que nous sommes dans l'environement chrooté, il faut bien prendre conscience que / est en fait /mnt/hda7/knx/source/KNOPPIX
  • Pour utiliser la connection internet (cela va être bien utile pour apt), on va monter /proc.
    mount -t proc /proc proc
    
  • Il faut ensuite ajouter nos serveurs de noms dans le fichier /etc/resolv.conf avec des lignes du genre (exemple pour nerim):
    nameserver 62.4.16.70
    
  • Vérifier ensuite que la connection internet fonctionne avec ping gnu.org
  • Il est alors possible d'utiliser toutes les commandes qui agiront sur notre environement chrooté. On peut éventuellement avoir l'affichage avec
    export DISPLAY=127.0.0.1:0.0
    
  • Nous allons alors mettre à jour la base de donnée d'apt avec
    apt-get update
    
  • Je vous déconseille fortement l'utilisation de apt-get upgrade et encore plus apt-get dist-upgrade. Les modifications sont trop importantes et l'image ne fonctionnera pas. Il faut uniquement jouer paquet par paquet.
  • nous pouvons alors désinstaller les packages des langues qui ne nous interressent pas afin de gagner un peu de place.
    for i in de da es it tr ru pl ja nl cs ; do
      kde="$kde kde-i18n-$i"
     done
     rmpacks="$kde openoffice-de-en selflinux user-de manpages-de trans-de-en mozilla-mailnews"
    
     apt-get -y --force-yes --purge --ignore-hold remove $rmpacks
    
  • Nous pouvons ensuite installer la totalité des paquets que nous souhaitons.
    addpacks="openoffice.org openoffice.org-help-fr openoffice.org-l10n-fr  myspell-fr aspell 
    aspell-bin aspell-en aspell-fr manpages-fr mozilla-firefox 
    mozilla-firefox-locale-fr mozilla-thunderbird mozilla-thunderbird-locale-fr"
     apt-get -y --force-yes --ignore-hold install $addpacks
    
  • Il est possible de continuer avec le paquets et même d'utiliser synaptic (gestionnaire de paquet debian graphique)

Personnalisation avancée


  • Nous allons maintenant lancer au moins une fois firefox et thunderbird afin d'avoir les différent profiles de créés. On peut éventuellement à ce moment modifier les signets. Celui de firefox est dans .firefox et thunderbird dans .mozilla-thunderbird. On peut entre autre modifier la taille des polices avec les fichier userChrome.css dans le repertoire chrome du profil.
  • Nous souhaitons que lors de notre prochain reboot, ces différentes options soient sauvegardée. tout d'abord on va copier les préférences avec
    cp .firefox /etc/skel
    cp .mozilla-thunderbird /etc/skel
    
    Il va donc falloir modifier le fichier /etc/X11/Xsession.d/45Xsession. Il suffit en gros d'adapter les lignes déja présentes pour mozilla
    if [ ! -e $HOME/.firefox -a "$FREESPACE" -gt 1500 ] && [ -d /etc/skel/.firefox
    -o -d /usr/share/knoppix/profile/.firefox ]; then
    rsync -Ha --ignore-existing /etc/skel/.firefox $HOME/ 2>/dev/null
    [ "$USER" = "knoppix" ] && rsync -Ha --ignore-existing /usr/share/knoppix/profi
    le/.firefox $HOME/ 2>/dev/null
    fi
    if [ ! -e $HOME/.mozilla-thunderbird -a "$FREESPACE" -gt 1500 ] && [ -d /etc/sk
    el/.mozilla-thunderbird -o -d /usr/share/knoppix/profile/.mozilla-thunderbird ]
    ; then
    rsync -Ha --ignore-existing /etc/skel/.mozilla-thunderbird $HOME/ 2>/dev/null
    [ "$USER" = "knoppix" ] && rsync -Ha --ignore-existing /usr/share/knoppix/profi
    le/.mozilla-thunderbird $HOME/ 2>/dev/null
    fi
    
  • Nous souhaitons aussi avoir le menu knoppix en francais. Les fichiers sont dans usr/share/applnk/Knoppix. Ce sont des fichiers textes placés dans les différents repertoires donc facilement modifiables.
  • La modification des fond d'écran. Il s'agit du fichier /usr/local/lib/knoppix.jpg. IL faudra aussi modifier (mais pas dans le chroot) le fichier /mnt/hda7/knx/master/background.jpg
  • La modification du splash de KDE : /usr/share/apps/ksplash/Themes/Default/ on trouve dans ce répertoire les différents images qui compose le splash on peut aussi en trouver sur LDE-Look
  • Le fichier /etc/init.d/knoppix-autoconfig contient par exemple le windows manager par defaut, les paramètre de langue ... bref tout ce que l'on trouve au boot. Plus géréralement on a une série de fichier /etc/init.d/knoppix-* qui sont des inits spécifiques à la knoppix.
  • La configuration du kicker de KDE dans /etc/skel/.kde/share/config/kickerrc

Grand nettoyage avant de créer l'image

  • Supression des packages orphelins.
    deborphan | xargs apt-get -y remove
    
  • Purger les fichiers de configuration des paquets désinstallés.
    COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
    
  • supprimer les fichiers deb conservés éventuellement par apt.
    COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
    
  • recréer la base de locate.
    updatedb
    
  • IMPORTANT démonter /proc.
    umount /proc
    
  • sortir de l'environement chrooté CTRL-D
  • supprimer les fichiers temporaires.
    rm /mnt/hda7/knx/source/KNOPPIX/tmp/*
    rm /mnt/hda7/knx/source/KNOPPIX/root.bash_history
    rm -rf /mnt/hda7/knx/source/KNOPPIX/.rr_moved/
    

Passer le boot en francais et changer l'image de boot

  • modifier le fichier /mnt/hda7/knx/master/boot/isolinux/isolinux.cfg. Tout d'abord remplacer tous les paramètres lang=us par lang=fr. Ensuite Le début du fichier doit ressember à ceci :
    DEFAULT linux24
    APPEND ramdisk_size=100000 init=/etc/init lang=fr apm=power-off vga=791 initrd=
    minirt24.gz nomce quiet BOOT_IMAGE=knoppix
    TIMEOUT 300
    
    KBDMAP french.kbd
    PROMPT 1
    DISPLAY boot.msg
    
    . IL va falloi récupérer le fichier map francais et le copier dans /mnt/hda7/knx/master/boot/isolinux/. On pourra alors supprimer le fichier german.kbd
  • On peut également modifier le fichier boot.msg. Pour les touches d'aide f2 et f3, il s'agit des fichier f2 et f3
  • Le fichier logo.16 et l'image affichée lors du boot. Pour modifier ce fichier, copier le dans /tmp par exemple. puis :
    lss16toppm <logo.16 >logo16.ppm
    
    On va pouvoir alors modifier le fichier logo16.ppm avec gimp par exemple. Attention ce fichier ne doit avoir que 16 couleurs. On enregistre le fichier en BMP. En effet gimp n'enregistre pas correctemnt en ppm (en fait il sauve le fichier en pnm). ensuite on va convertir le fichier logo16.bmp.
    bmptoppm <logo16.bmp >logo16.ppm
    ppmtolss16 <logo16.ppm >logo.16
    
    Il est ensuite possible de copier le fichier logo.16 a son emplacment d'origine (/mnt/hda7/knx/master/boot/isolinux)

Création de l'image

  • On va créer l'image avec la commande suivante (et oui ce n'est pas simple !, et le processus est très long surtout en version 3.4).
    mkisofs -R -U -V "KNOPPIX.net filesystem" -P "KNOPPIX www.knoppix.net" -hide-rr-moved 
    -cache-inodes -no-bak -pad /mnt/hda7/knx/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs
     - 65536 > /mnt/hda7/knx/master/KNOPPIX/KNOPPIX
    
  • on va recréer le fichier MD5 pour que la vérification soit correcte.
    cd /mnt/hda1/knx/master
    rm -f KNOPPIX/md5sums; 
    find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; 
    >> KNOPPIX/md5sums
    
  • Finalement on va créer l'image ISO finale !
    mkisofs -pad -l -r -J -v -V "Mirabillix" -no-emul-boot -boot-load-size 4 -boot-info-table -b 
    boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat 
    -hide-rr-moved -o /mnt/hda7/knx/mirabilix.iso /mnt/hda7/knx/master
    

That's all folks
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]