• Aucun résultat trouvé

Introduction Pourquoi Slax? Formatage Rendre la clé bootable sous linux Slax Installshield...

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction Pourquoi Slax? Formatage Rendre la clé bootable sous linux Slax Installshield..."

Copied!
18
0
0

Texte intégral

(1)

2

e

semestre 2006-2007

6, bd maréchal Juin F-14050 Caen cedex 4

Spécialité Informatique 1

re

année

Rapport de mini-projet

Slax sur clé USB

PAITEL Arnaud Montouchet Yohann

Responsable : François Lecellier

(2)

2

Table des matières

Introduction ... 3

1 Pourquoi Slax ? ... 4

2 Formatage ... 5

3 Rendre la clé bootable sous linux... 6

4 Slax ... 7

5 Installshield ... 9

6 Script final ... 15

7 Site Internet ... 16

Conclusion ... 17

Références bibliographiques ... 18

(3)

3

Introduction

Élèves ingénieurs de l'ENSICAEN, nous devions réaliser un projet dans le cadre de l'informatique. Nous avons choisi de créer un Setup qui permettrait d'installer sur une clé USB un système d'exploitation Linux.

En effet lors de notre arrivée, nous utilisions Windows, et il nous fallait installer Linux pour pouvoir travailler les TP chez nous. Nous avons donc pensé à faire ce programme pour faciliter la vie des futurs 1A qui nous suivent.

Nous nous sommes donc penchés sur ce projet, qui nécessitait des aptitudes à la compréhension des systèmes bootables, des scripts BATCH, et surtout du programme InstallShield.

Avec ce programme vous installez SLAX, la distribution que nous avons choisi, mais aussi tout un tas de programmes qui vous faciliteront la vie ainsi que des éditeurs et des compilateurs, et tout ça sur une simple clé USB!!!, ensuite vous

n'avez qu'a booter la clé sur n'importe quel PC relativement récent.

(4)

4

1 Pourquoi Slax ?

Au début nous avons commencé par travailler sur DSL : Damn Small Linux.

En effet ce système était très intéressant du fait de sa très petite taille, environ 50 mo.

Mais nous nous sommes vite rendu compte des problèmes qui s'en suivaient :

 Ancienneté des programmes livrés avec la distribution et grande difficulté d’en rajouter…

 Aucun lien entre Windows et Linux donc le transfert de fichiers était problématique

 De gros problèmes de drivers, donc pas d'internet pour certains, pas de carte graphique pour d'autres.

Au bout de 2 séances à essayer de régler ces problèmes, nous avons décidé de chercher un autre système.

Ensuite nous sommes tombés sur le site : http://www.pendrivelinux.com qui proposait un certains nombre de systèmes linux comme Ubuntu, Knoppix, PclinuxOS à installer sur clé USB.

Seul problème, aussi intéressants que soient ces systèmes, leurs installations nécessitaient l'utilisation d'un liveCD afin de formater la clé depuis linux en tapant une dizaine de commandes dans un terminal.

Nous avons vite abandonné, après quelques tests tout de même sans formater la clé sous linux, résultat : le système plantait au démarrage.

Par contre sur ce même site nous avons découvert SLAX. Après l'avoir installé nous l'avons testé, et nous avons été agréablement surpris par sa rapidité, sa fluidité et ses fonctionnalités alors qu’il tenait sur une clé de seulement 256 Mo.

Le grand avantage de SLAX, c'est qu'il fonctionne avec un système de modules, qui sont en fait des logiciels, ou bien des pilotes, que le système charge au démarrage.

En effet il suffit de copier les modules souhaités dans un dossier sur la clé USB et ceux- ci sont automatiquement intégrés au système.

De plus il existe des centaines de modules disponibles sur http://www.slax.org/modules.php ce qui est très utile, et promet une grande évolutivité du système.

Après avoir effectué quelques tests de compatibilité et quelques modifications nous avons donc décidé de prendre cette distribution.

(5)

5

2 Formatage

Il est tout d'abord préférable que la clé soit formatée.

Nous utilisons un logiciel du nom de :

HP USB Disk Storage Format Tool

Nous utilisons ce logiciel car le formatage windows n’est pas très fiable.

Nous pouvons utiliser directement le logiciel ou bien créer un script BATCH contenant uniquement cette ligne de commande :

HPUSBF.EXE %1 -FS:FAT32 -V:SLAX -Y Le "%1" est à remplacer avec la lettre du lecteur USB à formater.

/!\ ATTENTION, l'option -Y signifie que aucune confirmation ne sera demandée à l’utilisateur pour effectuer le formatage ! Donc bien vérifier que la clé est dans le bon lecteur.

Le formatage de la clé est très utile pour repartir d'une clé propre.

Nous avons aussi créé un fichier autorun.inf pour rendre la clé plus accessible, car SLAX doit impérativement être installé à la racine de la clé ce qui représente toutes sortes de dossiers et de fichiers à la racine.

Cet autorun permet lors d'un double click sur la clé USB depuis le Poste de travail d'aller directement dans un dossier vierge sans passer par la racine de la clé afin d'éviter le mélange de vos fichiers avec les fichiers systèmes.

Voici ce que contient le fichier autorun : [autorun]

ICON=boot\slax.ico label=Slax

Open="explorer.exe USB\"

(6)

6

3 Rendre la clé bootable sous linux

Même formatée, la clé n'est pas encore prête pour booter sous linux.

Il faut ensuite activer un flag dans le système de fichiers de la clé.

Pour cela on utilise un programme libre : syslinux.exe, qui prend en argument le nom du lecteur et qui va activer le flag recherché. Il suffit d'écrire cette ligne dans un script BATCH pour lancer le programme :

syslinux.exe -ma %DISK%:

Avec %DISK% qui représente la lettre du lecteur on se trouve la clé, et –ma qui permet d’activer la partition en tant que partition principale et active.

Cette opération sera effectuée à la fin de l'installation grâce à l'exécution de notre script final.

Voila la clé est maintenant prête pour l'installation de SLAX et de ses composants.

(7)

7

4 Slax

Pour rendre la clé utilisable, il a fallut modifier le contenu de l’image de SLAX que l’on a récupéré sur son site.

La première modification a été l’ajout d’un module de traduction, permettant d’activer le support de la langue française dans KDE, l’environnement graphique de la distribution.

Une fois traduite, nous avons taché de rendre le démarrage de la clé plus aisé, en automatisant l’initialisation de la partie graphique de l’ordinateur, ainsi que le lancement de l’environnement.

Auparavant, il fallait, après le démarrage de la clé, et en mode console, taper un nom d’utilisateur et un mot de passe, puis taper les commandes xconf suivie de startx.

Ce n’est en effet pas très amusant pour l’utilisateur.

Nous en avons profité pour ajouter un petit fichier permettant d’avoir le clavier configuré correctement en français, même si l’utilisateur ne démarre pas KDE, appelé dans le fichier syslinux.cfg au démarrage par la commande suivante :

kbdmap fr.ktl

Nous avons ensuite traduit les différents menus qui s’affichent à l’utilisateur, en commençant par le premier, qui n’est affiché que pendant une poignée de seconde, où l’utilisateur choisi dans quel mode il veut démarrer la clé.

Les choix qu’il a alors sont les suivant :

 Attendre 5 secondes, et la distribution se lance toute seule.

 Taper « kdex » et cela a le même effet que d’attendre 5 secondes.

 Taper « kde ». Dans ce cas, la distribution se charge et lance KDE sans avoir initialisé de pilote graphique, ce qui a l’avantage d’être compatible avec toutes les cartes, mais perd par la même occasion l’accélération matérielle.

 Taper « slax » et dans ce cas se retrouve en mode console, sans accélération matérielle, et sans KDE.

 Enfin taper « memtest » et l’utilisateur se retrouve dans un mode spécial, qui n’a rien a voir avec Linux, mais permet de tester la mémoire vive de l’ordinateur et donc de déterminer une défaillance possible de celle-ci. Utile quand on sait que le système utilise énormément cette mémoire.

Nous nous sommes ensuite penchés sur les modules qui pourraient se révéler intéressants pour l’utilisateur ensicaennais, à commencer par les modules dits de développement. Nous avons donc intégré un module qui contient en son sein les outils make, gcc (en version 3.3.5) ou encore python. Mais l’utilisateur attend aussi un outil pour « faire du code », et donc nous avons aussi intégrer emacs, ce qui fût assez difficile. Il ne fonctionnait en effet pas directement, et affichait à la place des caractères des carrés assez disgracieux et illisibles. Il fallait donc rajouter un pack supplémentaire, contenant des polices utilisables par emacs.

(8)

8

Nous en avons donc trouvé un, après en avoir essayé quelques uns, et nous avons rajouté sur le bureau de KDE un raccourci pour lancer emacs avec les bonnes polices de caractères.

La commande utilisée alors est la suivante : Emacs –fn fixed

Pour continuer, nous avons intégré les traditionnels Firefox, en version 2.0.0.4, ainsi que OpenOffice en version 2.2, tous deux en français, accompagnés de Blender, en version 2.43, et The Gimp, en version 2.2.12. Pour ces deux derniers, ce ne sont pas forcément les toutes dernières versions, mais ce sont les seules à fonctionner correctement, et à être localisée en français.

Nous avons également ajouté le lecteur Java, le kit de développement n’étant pas encore au point, en version 1.6, ainsi que Google Earth, en version 4, et nécessitant d’avoir des drivers graphiques supportant l’accélération matérielle.

Enfin, nous avons mis un lecteur de fichiers PDF, ainsi qu’un pack de codecs pour le lecteur de fichiers multimédia KPlayer, afin que celui-ci puisse prendre en charge tous les formats de vidéo.

Il faut ajouter à cela que nous avons placé sur le bureau les icones qui sont utiles à l’utilisateur, ainsi qu’une permettant de sauvegarder les modifications apportées au système, celles-ci n’étant pas automatiquement enregistrées d’une session à l’autre pour éviter que dans le cas où l’on fasse une erreur, celle-ci ne rende la clé inutilisable. Il faut donc penser à cliquer sur l’icône pour enregistrer les modifications.

Les drivers supportant l’accélération matérielle pour les deux principaux fabricants de puces graphiques NVIDIA et ATI ont également été ajoutés, et supportent normalement la grande majorité des puces disponibles sur le marché. Mais hélas nous n’avons pu vérifier le fonctionnement de ceux-ci que sur un nombre limité de périphériques, les ressources disponibles ne le permettant pas.

(9)

9

5 Installshield

Le programme que nous avons utilisé pour générer l’installeur s’appelle InstallShield et est édité par la société Macrovision. Nous l’avons choisi pour sa puissance et sa relative simplicité comparée à d’autre générateur d’installeur.

Pour générer l’installeur, nous avons suivi le protocole suivant :

Nous avons d’abord choisi, après avoir essayé de faire l’installeur en mode dit

« InstallScript », de faire celui-ci en mode « Script MSI ». Les différences entre les deux modes concernent la façon dont est géré le mode d’installation (mode complet ou avancé…), ainsi que le moment où intervient le choix de l’emplacement de destination. En effet, en mode « InstallScript », le choix de l’emplacement d’installation intervient après que l’on ait choisi le mode d’installation personnalisé, et n’intervient donc pas si on fait une installation complète. Très ennuyant pour faire un installeur de clé USB.

Enfin, le dernier critère de sélection, qui fût presque le critère décisif, c’est que le mode

« Script MSI » permet d’exécuter un Script à la fin de l’installation, là où le mode

« InstallScript » ne permet que de lancer des exécutables classiques, à condition de créer des raccourcis sur l’ordinateur, et donc à condition de laisser des traces sur cet ordinateur. Nous ne voulions pas ça, mais préférions installer le programme directement sur la clé, autant de fois que l’on veut l’installer sur des clés, sans laisser de traces.

Nous avons donc créé notre installeur, en créant des « fonctionnalités » pour chaque module, afin de permettre à l’utilisateur de sélectionner les modules dont il a besoin. Si l’utilisateur choisit le mode « installation complète », il n’a plus rien à faire jusqu’à la fin de la copie des fichiers.

Avant de choisir le type d’installation, il est demandé à l’utilisateur l’emplacement de sa clé USB.

Le script exécuté à la fin de l’installation écrasant le secteur de boot du disque sur lequel il est installé, on rappelle à l’utilisateur qu’il doit faire attention en choisissant l’emplacement de sa clé USB, les conséquences d’une erreur pouvant être très préjudiciables (l’ordinateur ne démarre plus………).

Nous avons aussi bloqué la navigation des dossiers, l’utilisateur devant installer SLAX à la racine de sa clé USB. Il ne peut donc choisir que le lecteur, pas de sous dossier.

(10)

10

Pour faire cela, nous avons simplement édité les pages de dialogue affichées par l’installeur. Nous avons affecté aux blocs permettant le choix de dossiers la valeur False à l’attribut « enabled ». Nous avons ensuite défini le script responsable de la configuration de la clé, afin que l’installeur exécute ce script dès que la copie est terminée, et avant de quitter.

Après cela, nous avons édité quelques unes des pages de dialogues, afin de personnaliser un peu l’installation, en mettant également des avertissements pour l’utilisateur, aux moments où cela s’avérait nécessaire.

Enfin, dernière étape, nous avons tâché de faire en sorte que l’installeur ne laisse pas de trace sur l’ordinateur à partir duquel il est exécuté.

Pour ce faire, nous avons dû retirer certaines actions de la séquence d’installation. Ces actions sont les suivantes : RegisterProduct, RegisterUser, PublishProduct, et PublishFeatures. Retirer ces actions a pour effet d’éviter que le programme d’installation n’enregistre dans la base de registre de l’ordinateur hôte les informations concernant le programme installé. On évite donc par la même occasion de voir apparaître un nouveau programme dans Ajout/Suppression de programme.

Voici, après installation, ce qu’obtient l’utilisateur quand il démarre sur sa clé :

(11)

11

Pour illustrer le fonctionnement de SLAX, voici quelques possibilités offertes par cette distribution :

L’ENSICAEN… (Google Earth)

(12)

12

Hello SLAX !!! (emacs & gcc)

Retouche photo… (GIMP)

(13)

13

Modélisation 3D (Blender)

Lecture de musique (JuK)

(14)

14

Graver un CD ou DVD (K3b)

Même surfer sur le web ! (Firefox)

(15)

15

6 Script final

Voici le script final qui finit l'installation :

@echo off cls

set DISK=none

set BOOTFLAG=fichiertemp.tmp

echo Ceci est un fichier temporaire, vous devriez le supprimer... >\%BOOTFLAG%

if not exist \%BOOTFLAG% goto readOnly

for %%d in ( D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if exist %%d:\%BOOTFLAG% set DISK=%%d rem cls

del \%BOOTFLAG%

if %DISK% == none goto quit if %OS% == Windows_NT goto setupNT

echo vous devriez vraiment songer a changer de pc, Windows 9x est ancestral.

goto exit :setupNT

tools\WIN\syslinux.exe -ma %DISK%:

goto end

:readOnly

echo Le media sur lequel vous avez installe SLAX est en mode de lecture exclusive...

echo Donc les chances que votre cle demarre sous linux sont nulle...

goto exit :end

echo Votre cle, situee en %DISK%, est bien installee, appuyez sur une touche pour quitter.

goto exit :exit pause > nul :quit

Il fonctionne de la façon suivante :

Le script crée un fichier temporaire : fichiertemp.tmp

Il va ensuite regarder le chemin du fichier et tester sur quel lecteur il se trouve, puis il va lancer la commande permettant d’activer le flag vu précédemment, en ayant vérifier qu’il a les autorisation pour écrire sur la clé.

(16)

16

7 Site internet

Pour le site web, nous nous sommes servis des bases apprises en TP de Html et nous avons utilisé les fonctions déjà connues pour afficher ou effacer un élément de la page.

La seule difficulté a été de pouvoir allonger le fond d’écran suivant la taille de la page, ce qui est possible en le coupant en 3 parties et en multipliant la partie du milieu, on peu le voir dans le script css :

#head {

background-image: url(haut.jpg);

background-repeat: no-repeat;

height: 105px;

width: 945px;

}

#middle {

margin-left: auto;

margin-right: auto;

text-align: left;

background-image: url(milieu.jpg);

width: 945px;

background-repeat: repeat-y;

margin-top: 30px;

}

#end {

clear: both;

background-image: url(bas.jpg);

height: 130px;

width: 945px;

background-repeat: no-repeat;

}

Il faut ensuite ajuster les « <div> » dans un ordre précis pour que cela marche.

Nous n’avons pas copié le contenu de notre rapport sur le site, nous avons préféré mettre un guide d’installation pour notre programme.

Le site est disponible à l’adresse suivante : http://obi.yoann.free.fr

(17)

17

Conclusion

Au début nous avons eu du mal à faire un choix parmi les projets proposés car nous voulions faire quelque chose de concret, nous voulions découvrir un domaine que nous ne connaissions pas et qui nous intéressait.

C'est pourquoi le lancement du projet fût un peu tardif, mais au final quand nous avons trouvé le thème, nous nous sommes beaucoup impliqué afin de pouvoir proposer à la fin, un programme qui marche, utile et surtout utilisable par tout le monde.

Ce projet nous a donc permis de mettre au point un programme qui installe tout seul un système Linux bootable sur clé USB.

Nous nous sommes beaucoup investis, car il profitera à beaucoup de personnes découvrant linux et ne sachant pas l'installer sur clé USB.

De plus SLAX est tellement complet, rapide et prend tellement peu de place pour ce que c'est, qu'il peu aisément tenir sur une clé USB de 256mo, donc inutile d'acheter une clé de dernière génération pour pouvoir profiter de ce programme.

(18)

18

Références bibliographiques

[1] http://www.damnsmalllinux.org [2] http://www.pendrivelinux.com [3] http://www.slax.org/?lang=fr

Références

Documents relatifs

On cherche l’écart (donc la différence) entre les 26 élèves et les 12 livres déjà là!. On doit enlever les 35 places qui sont

f) Calculer la valeur du courant qui circule dans une résistance de 1,8 MΩ lorsqu’une tension de 62 kV est appliquée à

Calculer sa hauteur (arrondi au millimètre). Calculer la longueur du coté [BC].. Calculer la longueur du coté [IK]. d) Avec les données de la figure ci-dessous, calculer BD.. Quelle

Trouvez la norme et l’angle d’orientation du vecteur

[r]

Mettre Mettre à Mettre Mettre à à à jour jour jour en jour en en en cascade cascade cascade les cascade les les les champs champs champs champs correspondants

Chapeau souvent conique ou mamelonné (parfois plus plat), souvent vergeté, rimeux, squamuleux (parfois lisse).. Odeur spermatique

La lame métallique est légèrement crantée pour un meilleur maintien du filtre pendant le serrage ou le désserrage. La fin du démontage et le remontage se