Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : Créer un menu de démarrage sur Pegasos
(Article écrit par Nicolas Gressard - février 2005, mis à jour en mars 2009)
|
|
Introduction
Dans cet article, nous allons voir de quelle manière il est
possible de créer un menu dans le SmartFirmware du Pegasos de
façon à permettre de démarrer facilement
différentes configurations sans avoir à entrer de longues
et rébarbatives lignes de commandes.
Ce travail sera exécuté via un petit outil du nom de BootCreator, disponible
sur www.tbs-software.com/morgoth/projects.html.
Je n'ai personnellement testé BootCreator que sur Pegasos II, mais plusieurs personnes
l'utilisent avec succès sur Pegasos I même si la
fonctionnalité "timeout" ne semble pas fonctionner en
raison de sa version du micrologiciel. BootCreator existe en version MorphOS
et Linux. La procédure décrite ici concerne la version
MorphOS, mais elle est strictement identique sous Linux.
BootCreator ne se révèle pas utile exclusivement dans le cas de l'utilisation de plusieurs systèmes d'exploitation, mais
peut également permettre, par exemple, de lancer MorphOS avec différentes options (debug, etc.).
Alors, BootCreator, comment ça marche ? (® Michel Chevalet)
Le micrologiciel du Pegasos est "scriptable" en langage Forth. Ceci signifie
qu'il dispose d'un interpréteur Forth intégré qui
permet d'exécuter des programmes directement en son sein. C'est
cette fonctionnalité qui va nous permettre de créer un
menu de démarrage. Comme le Forth n'est pas un langage
particulièrement évident à digérer, sans
doute d'ailleurs parce qu'il n'est pas très courant de le
rencontrer, nous allons confier la rédaction dudit script
à un programme : BootCreator.
BootCreator est une "moulinette" en ligne de commande qui va
transformer un fichier de configuration contenant tous les
paramètres du menu que l'on souhaite créer en un script Forth directement
exploitable par le micrologiciel.
Une fois l'archive décompressée, vous êtes en
possession d'un exécutable "bootcreator" et d'un exemple de
fichier de configuration situé dans le répertoire
"examples" nommé "example.bc". Ce dernier est le fichier de
configuration qu'il faudra passer en paramètre à
l'exécutable afin de générer le script en Forth. Éditez
ce fichier avec n'importe quel éditeur de texte et voici ce que
vous voyez :
#
# Example description file for bootcreator 1.1
#
[VERSION]
1
[TITLE]
Boot Menu
[SETTINGS]
AbortOnKey = false
Timeout = 9
Default = 1
[SECTION]
Local HD -> MorphOS (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"
[SECTION]
Local HD -> MorphOS (Debug)
ide:0 boot2.img ramdebug edebugflags="logextended logkprintf
permmemtrack memtrack"
[SECTION]
Local HD -> Linux 2.6.8 (Normal)
ide:0 linux-2.6.8.img video=radeonfb:1024x768@70 root=/dev/hda5
|
- La section [VERSION] doit contenir "1" pour un Pegasos II et "0" pour un Pegasos I.
- La section [TITLE] contient le texte que vous voulez voir affiché au-dessus de votre menu.
- La section [SETTINGS] contient trois valeurs qui parlent d'elles mêmes :
- AbortOnKey = false/true (abandonne si une touche est enfoncée)
- Timeout = x (attend x secondes avant de lancer le choix par défaut)
- Default = x (détermine le choix par défaut)
- Les sections [SECTION] contiennent chacune un couple de valeurs déterminant une
ligne de choix dans le menu.
Pour chaque section [SECTION], la première ligne
détermine le contenu de la ligne qui sera affichée dans
le menu et la seconde ligne contient exactement ce que vous auriez
tapé en ligne de commande dans le SmartFirmware.
D'autres exemples
Ces exemples ne sont évidemment valables uniquement si vous avez au préalable installé
les systèmes en question et seront à adapter à votre configuration.
Pour démarrer MorphOS "normalement", sans activer le debug sur le port série, mettez :
[SECTION]
MorphOS
ide:0 boot.img ramdebug
|
Si vous avez installé un deuxième MorphOS sur une autre partition démarrable, il faudra ajouter l'argument
"bootdevice=nom_de_la_partition" à votre ligne de commande. Par exemple, pour lancer un MorphOS se trouvant sur votre
partition "DH2:", il faudra mettre :
[SECTION]
MorphOS
boot.img ramdebug bootdevice=dh2
|
Pour lancer PegXLin (avec comme configuration : carte graphique Voodoo, partition de démarrage sur
la partition 1 du disque dur maître du second port IDE), mettez :
[SECTION]
PegXLin
ide:0 pegxlin root=/dev/hdb1 video=tdfx hdc=ide-scsi l2cr=0X800000000
|
Pour lancer Mac OS X via PegXMac (avec comme configuration : carte graphique Radeon, partition de démarrage de
MacOnLinux sur la partition 1 du disque dur esclave du premier port IDE), mettez :
[SECTION]
Mac OS X
ide:0 boothd root=/dev/hdb1 video=radeonfb:1024x768-8@75 hdd=scsi hdc=scsi startmacosx
|
Pour lancer le menu de démarrage de PegXMac (avec comme configuration : carte graphique Radeon, partition de démarrage de
MacOnLinux sur la partition 1 du disque dur esclave du premier port IDE), mettez :
[SECTION]
PegXMac Menu
ide:0 boothd root=/dev/hdb1 video=radeonfb:1024x768-8@75 hdd=scsi hdc=scsi
|
Pour lancer Linux Debian 2.6.8 (avec comme configuration : carte graphique Radeon, partition de démarrage de
Linux sur la partition 5 du disque dur maître du premier port IDE), mettez :
[SECTION]
Linux Debian 2.6.8
ide:0 linux-2.6.8.img video=radeonfb:1024x768@70 root=/dev/hda5
|
Pour lancer Linux Yellow Dog 4.0 (avec comme configuration : carte graphique Radeon, partition de démarrage de
Linux sur la partition 1 du disque dur esclave du deuxième port IDE), mettez :
[SECTION]
Linux Yellow Dog 4.0
/pci/ide/disk@0,1:0 /boot/2.6.8.ydl-freescale root=/dev/hdb1
|
Pour lancer AmigaOS 4.1 (dont le nom de la partition est "os4"), mettez :
[SECTION]
AmigaOS 4.1
hd:0 amigaboot.of os4_bootdevice=os4
|
Générer le script
Une fois ce fichier modifié, générez le script
Forth en tapant dans un Shell la ligne de commande suivante :
bootcreator examples/example.bc bootmenu
|
Ceci va avoir pour
conséquence de créer le fichier "bootmenu" que vous
pouvez toujours éditer si vous souhaitez voir à quoi
ressemble le programme Forth résultant. Afin que le micrologiciel
puisse accéder au fichier Forth, il convient de le mettre sur
une partition d'un type qu'il est capable de lire. La partition FFS
contenant votre noyau MorphOS est sans doute la plus adaptée.
La dernière chose à faire, est de modifier la variable
"boot-file" du micrologiciel de façon à ce qu'il exécute le
menu au lieu de lancer directement tel ou tel noyau MorphOS ou Linux.
Pour cela, utilisez la commande suivante dans le micrologiciel (en supposant que la variable "boot-device"
désigne déjà la bonne partition) :
setenv boot-file bootmenu
|
Résultat
Lors de votre prochain démarrage, votre Pegasos présentera un menu de ce type :
Si vous avez fait une erreur dans le paramétrage du menu, pas de panique,
il est toujours possible de reprendre la main dans le
micrologiciel et de démarrer manuellement sur la partition MorphOS ou sur un CD.
A vous de jouer maintenant.
Soutenez le travail d'Obligement
|
|
|