Obligement - L'Amiga au maximum

Mercredi 13 décembre 2017 - 08:18  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


En pratique : Configuration de U-Boot
(Article écrit par Philippe Ferrucci - février 2005)


Note : traduction par Hervé Dupont et Mehdi Boulahia. Images d'origine par Chris Morris. Merci aux frères Frieden pour avoir mis mon nom dans U-Boot. ;-)

Un peu d'histoire

Il y a plusieurs versions de U-Boot, mais si vous utilisez une version antérieure à la 1.0.0, vous ne pourrez pas lancer AmigaOS 4. Cet article concerne U-Boot 1.1.1 disponible dans la dernière mise à jour d'AmigaOS 4. Vous devrez l'installer. Cette procédure n'est pas aussi facile que l'installation de logiciels, donc si vous ne vous en sentez pas capable, contactez votre revendeur, un groupe d'utilisateurs ou un ami qui pourra vous aider.

1. Vue d'ensemble

U-Boot n'est pas un BIOS (ou firmware) comme ceux que l'on trouve sur les PC, il s'apparente davantage à un contrôleur. Il est basé sur le projet Open Source nommé U-Boot (sourceforge.net/projects/u-boot). Il a été grandement amélioré par les frères Frieden et Andrea Vallinotto avec certainement d'autres personnes de l'équipe AmigaOS 4. Même si ce n'est pas la meilleure solution pour un matériel Amiga, il vous permettra quand même d'effectuer plusieurs choses. Bien sûr, améliorer U-Boot n'est pas une priorité, l'équipe d'AmigaOS 4 ayant d'autres choses importantes à développer. Quand le temps viendra, U-Boot sera mis à jour et peut-être même remplacé par une meilleure solution. Jusque-là, ce sera suffisant pour le travail de tous les jours.

Le rôle de U-Boot est d'initialiser le matériel et de lancer le processus de démarrage du système que vous voulez (AmigaOS ou Linux). Bien entendu, vous serez à même de définir plusieurs paramétrages pour les utiliser soit, uniquement pour le prochain démarrage, soit de façon permanente.

Il y a deux moyens d'utiliser U-Boot car il est composé de deux modes : un mode console et un mode graphique. Si vous n'êtes pas un expert, pas de panique, une fois les quelques variables utiles initialisées, vous n'aurez très certainement plus à utiliser ce mode console. Vous n'utiliserez que le mode graphique avec les menus de U-Boot et ce sera très facile à utiliser.

Votre AmigaOne peut démarrer de différentes manières, selon votre configuration des variables de U-Boot. Mais cet article décrit comment un AmigaOne devrait démarrer afin d'être plus facile à utiliser (c'est un Amiga après tout ;-)). Vous trouverez plus loin une brève description de chaque partie du processus standard de démarrage et ainsi, vous serez en mesure de reconnaître chacun d'eux. Vous apprendrez aussi comment passer d'une partie à l'autre et comment définir les paramètres pour personnaliser le processus de démarrage de votre AmigaOne.

Afin d'expliquer comment l'AmigaOne démarre, il faut comprendre comment gérer les variables de U-Boot. Pour apprendre à jouer avec les variables, référez-vous à la section sur les variables d'environnement plus bas.

2. Les différentes étapes durant le démarrage d'un AmigaOne

2.1 La phase d'initialisation matérielle

Lorsque vous démarrez votre AmigaOne, l'émulateur x86 intégré dans U-Boot exécutera la ROM de votre carte graphique. L'affichage sera alors activé et les premières informations apparaîtront. Le matériel est vérifié et initialisé. U-Boot affichera le type de matériel que vous avez : une carte SCSI avec contrôleur Symbios 53c8xx (si présente), la carte réseau, le contenu du bus IDE (disques durs, lecteurs CD...), etc.

2.2 La console U-Boot

À partir de maintenant, si un délai de démarrage est défini, U-Boot affichera alors le texte "Press any key to interrupt autoboot" et un compte à rebours débutera.

U-Boot

Appuyez sur la touche "Entrée" pour interrompre le compte à rebours. Vous serez face à un écran noir, sans bordures de fenêtre. L'invite de commande symbolisée par le caractère "]" apparaîtra suivie d'un curseur clignotant attendant une commande de votre part.

La console de U-Boot vous permet d'exécuter directement plusieurs commandes. C'est un peu comme un Shell Amiga, mais en plus basique. Vous pourrez alors afficher les composantes de votre matériel, initialiser des variables d'environnement ou démarrer un système d'exploitation.

Le comportement de U-Boot dépendra des réglages que vous, ou votre revendeur, aurez appliqués. Mais nous recommandons fortement que vous définissiez les variables d'environnement suivantes afin d'être capable de démarrer soit AmigaOS soit Linux d'une manière simple (en utilisant les menus de U-Boot). Cet article sera basé sur cette configuration.

Entrez les commandes suivantes à l'invite de U-Boot (il n'y a pas de définition de clavier de chargée alors vous devez taper comme sur un clavier en Qwerty) :

] setenv preboot
] setenv bootdelay
] setenv menuboot_delay 5
] setenv bootcmd "menu; run menuboot_cmd"
] saveenv

2.3 Le menu de sélection du démarrage

Maintenant, quand vous démarrez votre AmigaOne, U-Boot affichera une barre de progression semi-graphique comme celle-ci :

U-Boot

Durant le compte à rebours, si vous appuyez sur "Entrée", vous irez dans le menu de sélection de démarrage ("boot selection menu"). Appuyer sur une autre touche vous dirigera vers le menu des préférences.

Cette sélection de démarrage vous permettra de définir quel disque sera scanné à la recherche d'un système à démarrer et vous pourrez ici faire des changements en fonction de quel système vous voulez démarrer et comment. Bien sûr, si vous n'interrompez pas le compte à rebours, le système d'exploitation par défaut sera lancé. Ce réglage est défini dans le menu de la séquence de démarrage ("boot sequence menu").

2.4 Le menu de préférences

Si vous avez pressé une touche différente de "Entrée" durant le compte à rebours graphique, vous irez dans le menu de préférences. Ici, vous pourrez régler tous les réglages qui seront mémorisés, et qui seront donc utilisés à chaque démarrage. A cet égard, c'est différent du menu de sélection du démarrage où vous pouviez changer quelques réglages mais pas les mémoriser. Ils n'étaient utilisés qu'une seule fois, puisque pour "cette fois-là", vous ne vouliez modifier que quelques-uns des paramètres de démarrage, par rapport aux paramètres par défaut.

2.5 Séquence de démarrage console/graphique

Comme une image est plus parlante que des mots, voici les différentes étapes qui sont exécutées. Vous voyez ci-dessous chaque variable qui est impliquée dans le changement de comportement du démarrage.
  • bootdelay : nombre de secondes que dure le compte à rebours textuel,
  • bootcmd : cette variable lancera le menu et démarrera un système en sortie du menu,
  • menuboot_delay : nombre de secondes que dure le compte à rebours graphique.
Vous pouvez voir également sur cette image les différentes touches sur lesquelles vous pouvez appuyer durant le processus de démarrage (et l'action qu'elles engendrent).

U-Boot

3. Le mode console de U-Boot

3.1 Généralités concernant la Console

La console est principalement utilisée pour lancer des commandes et obtenir un résultat direct dès leur exécution ou pour configurer des variables d'environnement. Ces variables sont des réglages que vous pouvez modifier pour faire en sorte que U-Boot réponde à vos besoins. Certaines commandes sont simples à comprendre et à utiliser, vous trouverez ici une description de quelques-unes d'entre elles. Mais il y a aussi des commandes de bas niveau, comme celles qui permettent de modifier la mémoire ou d'effacer la mémoire flash. Elles ne seront d'utilité que pour les experts. Toutes les commandes sont brièvement décrites à la fin de cet article.

Tout d'abord, pour afficher une liste de toutes les commandes disponibles, tapez "help" à l'invite de commande :

] help

Vous pouvez obtenir une aide plus complète spécifique à une commande en tapant "help" suivi du nom de la commande, comme ceci :

] help help

Toutes les commandes peuvent être abrégées (caractères en moins), du moment que la partie entrée permet la distinction entre deux commandes.

Notez aussi que vous pouvez arrêter le déroulement d'une commande en tapant Ctrl-C.

3.2 Variables d'environnement

L'une des commandes les plus utiles est "setenv". Elle vous permet de définir ou d'effacer une variable d'environnement. La syntaxe est celle-ci :

] setenv <name> <text>

Vous pouvez utiliser de telles variables pour définir des paramètres et vous pouvez même les exécuter. Par exemple, il est possible de créer un alias pour la commande "help" avec la commande "setenv h help". Vous pouvez ensuite la lancer en tapant "run h".

Si vous voulez effacer une variable, utilisez la commande sans argument de valeur, comme ceci :

] setenv <name>

Les variables que vous définissez ne sont valides que dans la session U-Boot courante. Elles seront donc perdues si vous quittez U-Boot, soit en éteignant votre AmigaOne, soit en démarrant un autre système d'exploitation. Si vous voulez sauvegarder vos variables, pour qu'elles survivent à la réinitialisation, utilisez la commande "saveenv". De cette manière, les variables seront sauvegardées dans la mémoire flash (mémoire non volatile).

Pour afficher toutes les variables existantes (ou seulement une), utilisez la commande "printenv", comme ceci :

] printenv
] printenv bootcmd

S'il y a des espaces dans la commande que vous voulez assigner à un nom de variable d'environnement, utilisez les guillemets, comme ceci :

] setenv lnx "diskboot 500000 1:1"

Bien sûr, il vous est possible d'entrer de multiples commandes, séparées par un ";". Les lignes suivantes listent vos périphériques IDE ainsi que les textes d'aide de la commande "ide".

] ide info;help ide

Comme dit précédemment, après que le matériel soit initialisé au moment du démarrage, un compte à rebours est lancé. Si vous ne le voulez pas, effacez la variable "bootdelay" avec :

] setenv bootdelay

Faites de même avec le compte à rebours graphique. Si vous ne le voulez pas, effacez la variable "menuboot_delay".

Après l'exécution de ce compte à rebours, le contenu de la variable "bootcmd" va être exécuté. Le menu va donc s'ouvrir, et ensuite le contenu de la variable "menuboot_cmd" (définie par le menu) va être exécuté.

Si vous utilisez un clavier Amiga avec une carte Catweasel, il vous faudra configurer la variable "stdin" :

] setenv stdin amiga

Si vous utilisez un clavier PC, "stdin est réglé sur "ps2kbd".

Par défaut, le périphérique de sortie est l'écran (la variable "stdout" est réglée sur "vga"). Si vous voulez rediriger la sortie de certaines commandes vers le port série, configurez comme ceci :

] setenv stdout serial

Si vous utilisez le port série de votre AmigaOne pour la sortie, il vous faudra sûrement régler la vitesse de ce port, comme ceci :

] setenv baudrate 115200

Si vous jetez un oeil à toutes les variables d'environnement, vous remarquerez que certaines d'entre elles correspondent aux réglages que vous pouvez trouver dans les menus U-Boot. C'est ainsi que cela fonctionne. Le menu de préférences définit des variables et à la fermeture du menu, U-Boot exécute ces variables.

Commandes de la console :

Dans U-Boot, vous pouvez utiliser plusieurs commandes qui "discutent" directement avec le matériel (IDE, USB, mémoire...). Vous pouvez exécuter des commandes pour lancer les systèmes d'exploitation gérés, et comme déjà expliqué, vous pouvez modifier ces réglages en utilisant la commande "setenv". Pour obtenir une explication sur le fonctionnement des commandes, n'hésitez pas à utiliser la commande "help" associée à un nom de commande. Par ce biais, vous remarquerez que certaines commandes possèdent des arguments. Par exemple, tapez :

] help ide

U-Boot affichera chaque argument qui peut être utilisé avec la commande "ide". Vous pouvez afficher quels disques IDE ont été détectés par U-Boot en tapant :

] ide info

Cela produira le même affichage que ce que vous voyez tout de suite après avoir démarré votre AmigaOne. Si vous venez juste d'insérer un CD/DVD dans le lecteur et que vous voulez qu'U-Boot le détecte, tapez :

] ide reset

De la même façon, vous pouvez afficher les périphériques USB détectés en utilisant :

] usb tree

Quand vous avez acheté votre AmigaOne, il est possible que la date du système n'était pas réglée. Pour régler la date actuelle et la sauvegarder, utilisez la commande "date" comme ceci :

] date MMDDhhmmCCYY

Cela réglera la date avec le jour "DD" du mois "MM" de l'année "CCYY" avec une heure de "hh" heures et "mm" minutes. Exemple : "date 100612252004" pour mettre la date au 6 octobre 2004 à 12:25.

Si vous voulez juste entrer dans le menu et que lorsque vous le quittez, vous voulez retourner à la console, entrez juste "menu" à l'invite de commande. Mais si vous voulez lancer le menu et ensuite démarrer sur le système d'exploitation désiré, utilisez la commande "boot". Cela aura le même effet que si vous veniez juste de démarrer votre AmigaOne. Par exemple, pour lancer le processus de démarrage par défaut.

Tant que vous êtes à l'invite de commande, si vous voulez démarrer votre système d'exploitation en utilisant le multiboot Amiga (nous verrons cela plus loin), par exemple en utilisant le SLB sauvé sur le disque, tapez "boota" à l'invite de commande.

Si vous désirez exécuter une disquette de démarrage Linux (pour mettre à jour le firmware par exemple), utilisez "fdcboot".

Notez que ces deux méthodes chargeront une image U-Boot à partir d'une disquette. Après le chargement, si l'image n'est pas démarrée correctement, c'est que la variable "autostart" n'existe pas. Réglez-là juste sur "yes" et un démarrage de diskboot/fdcboot chargera et exécutera l'image.

Si vous voulez redémarrez votre AmigaOne, vous pouvez taper la commande "reset". Cela aura le même effet que de redémarrer en appuyant sur le bouton de redémarrage de votre tour.

4. Les menus U-Boot

Le système de menu est bien plus simple à utiliser que le mode console. Cela vous permet de définir les réglages, d'afficher des informations à propos de votre système, à partir de quel disque vous voulez démarrer, etc. Utilisez les touches fléchées pour vous déplacer dans les valeurs à éditer (ou à sélectionner) et appuyez sur "Entrée" pour les modifier (ou les sélectionner). Dans le cas d'une valeur modifiable, vous aurez la possibilité de choisir parmi différentes valeurs dans un menu défilant, ou d'entrer du texte pour modifier un réglage de type texte.

Il y a deux menus principaux :

Le menu de sélection de démarrage sert uniquement à changer le disque de démarrage et les arguments permettant de démarrer AmigaOS ou Linux. Le menu de préférences vous permettra d'afficher ou de modifier tous les paramètres d'U-Boot.

5. Le menu de sélection de démarrage

U-Boot

Dans U-Boot, vous définissez quels réglages utiliser à chaque démarrage de votre AmigaOne. Mais si vous devez en changer certains (par exemple, le disque de démarrage, la configuration de démarrage d'AmigaOS 4, les réglages du noyau Linux, etc.), vous pouvez utiliser ce menu de sélection de démarrage pour les modifier uniquement pour le démarrage actuel. Ces réglages ne sont que temporaires, ils ne seront pas sauvegardés dans la mémoire flash.

Si vous voulez démarrer sur un disque différent de votre disque de démarrage par défaut, choisissez un disque différent à partir du menu "Boot device". Si vous voulez choisir une configuration kicklayout différente pour démarrer AmigaOS, modifiez le champ "Configuration" avec la configuration que vous voulez charger. Si vous laissez ce champ libre, il vous sera demandé avec quelle configuration démarrer.

Changez le champ "Boot arguments for AmigaOS" si vous voulez modifier les arguments que vous voulez envoyer au noyau AmigaOS : niveau de débogage, quelques réglages pour contrôler son fonctionnement. Et si vous démarrer Linux avec la méthode directe (en utilisant "diskboot"), vous pouvez changer ici le champ "Boot arguments for Linux".

Une fois vos choix faits, appuyez sur la touche ESC et choisissez "Boot this configuration". Votre système démarrera avec les réglages sélectionnés. Si vous avez modifié les réglages mais que finalement vous décidez de ne pas les utiliser, choisissez "Continue normal boot". Les réglages affichés à l'écran seront ignorés et les réglages par défaut seront utilisés. Dans le menu ESC, choisissez "Go to preferences menu" pour aller au second menu. Vous pourrez y définir les réglages par défaut pour votre AmigaOne.

6. Le menu de préférences

Il y a plusieurs sous-menus ici. Certains sont utilisés pour afficher des informations à propos de votre système, comme le menu "System information" qui vous affichera plusieurs détails concernant votre processeur, la mémoire, etc.

Dans le menu "Integrated peripherals", vous pouvez changer les réglages des ports série, parallèle, USB et IDE internes. Le seul réglage que vous aurez sûrement à changer sera celui du "PAR port mode". Il faudra le régler sur "EPP".

Le menu "Memory" vous permet de limiter la taille mémoire que votre AmigaOne va utiliser. Ceci est utile sur certains systèmes Linux, si vous avez beaucoup de mémoire (plus de 900 Mo).

Vous pouvez modifier les réglages d'interruptions des ports PCI/AGP de votre AmigaOne dans le menu "PCI/AGP". Le menu "Default/Fix settings" peut être utile pour remettre les valeurs U-Boot par défaut.

Le menu "Diagnostics" effectuera des tests des différentes parties de votre AmigaOne. Cela n'est pas recommandé aux débutants.

Quand vous appuyez sur la touche ESC dans le menu de préférences, vous avez ces choix possibles : "Save settings and exit" : cela sauvegardera les réglages courants dans la mémoire flash et quittera le menu système U-Boot. Le démarrage normal continuera si vous avez réglé la variable d'environnement comme expliqué plus haut. Si vous choisissez "Use settings for this session only", aucun réglage ne sera sauvegardé mais ils seront utilisés pour démarrer le système.

En choisissant "Leave without saving", l'OS démarrera avec les réglages par défaut, ce qui fait que tout changement dans le menu U-Boot sera perdu.

Le dernier choix "Abort U-Boot and enter U-Boot Shell" vous mènera à la console texte.

6.1 Menu séquence de démarrage

U-Boot

Dans ce menu vous pouvez définir quel système d'exploitation votre AmigaOne va démarrer - AmigaOS ou Linux - et quels paramètres seront utilisés pour démarrer ce système. Vous pourrez aussi définir des réglages pour démarrer à partir d'un serveur TFTP sur votre réseau.

Il y a deux méthodes de démarrage principales. La première appelée "Amiga multiboot" est la méthode Amiga. Elle utilise le SLB pour parcourir les disques à la recherche de systèmes amorçables. C'est la méthode de démarrage que nous préférerons.

La deuxième méthode est appelée "Linux boot". Si vous choisissez celle-ci votre ordinateur chargera Linux à partir d'une image du noyau que vous aurez installé au préalable sur une partition de votre disque.

Le paramètre "Boot arguments for AmigaOS" contient une ligne de commande qui est passée au système lors du démarrage. Vous pouvez définir ici des réglages qui vous permettront de modifier le comportement du noyau d'AmigaOS. Un des réglages est "debuglevel=x". Il permet de préciser la quantité d'information de type debug que le noyau debug d'AmigaOS 4 enverra sur le port série. Un changement de cet argument n'est utile qu'à des fins de test ou de débogage.

Le paramètre "Boot arguments for Linux" contient les paramètres que vous utiliserez si vous démarrez un système Linux avec la méthode "Linux boot".

6.2 Options Amiga multiboot

Dans ce menu vous pouvez définir trois disques de démarrage. Ils seront testés du haut vers le bas (pour trouver un système amorçable) lors du démarrage de l'AmigaOne. Le périphérique 1 sera testé en premier, puis le n°2 et enfin le n°3.

Dans le paramètre "configuration" entrez la configuration à démarrer. A la fin du compte à rebours (durée définie juste en dessous), la configuration AmigaOS sera démarrée. Si vous laissez ce champ vide, la configuration que vous souhaitez vous sera demandée lors du démarrage.

6.3 Options Linux boot

Dans ce menu vous pourrez spécifier sur quelle partition de quel disque vous avez installé une image Linux. Dans "boot device", vous devez saisir le numéro du disque et de la partition séparés par un caractère ":".
  • Le disque installé en Maître sur le port Primaire est le numéro 0.
  • Le disque installé en Esclave sur le port Primaire est le numéro 1.
  • Le disque installé en Maître sur le port Secondaire est le numéro 2.
  • Le disque installé en Esclave sur le port Secondaire est le numéro 3.
Vous pouvez aussi définir quel type de démarrage vous voulez : à partir d'un disque ou à partir du réseau.

7. Démarrer un système d'exploitation

Il existe deux façons de démarrer un système : en chargeant une image U-Boot en utilisant la commande appropriée ("diskboot", "fdcboot"...) ou en utilisant la méthode AmigaOS : avec la commande "boota".

7.1 Méthode Linux boot / diskboot

La méthode "image U-Boot" fonctionne comme suit : une commande U-Boot charge une image U-Boot à partir d'un disque. Cette image peut être présente sur une disquette, un CDROM ou sur une partition d'un disque. La commande à exécuter dépendra à partir d'où cette image doit être chargée. La commande "fdcboot" la chargera à partir d'une disquette insérée alors que "diskboot" la chargera à partir d'un CDROM ou disque dur. L'image U-Boot est chargée en mémoire et exécutée à partir de là. Si la variable "autostart" est positionnée à "yes", l'image sera exécutée automatiquement après son chargement. Sans cette variable vous devrez taper la commande "bootm". Notez que vous avez déjà utilisé cette méthode pour mettre à jour U-Boot. Voici quelques utilisations possibles où cette technique "charge et exécute" est utilisée :
  • Quand vous lancez une mise à jour de U-Boot à partir d'une disquette ou d'un CD,
  • Quand vous lancez une installation de Linux à partir d'un CD (le noyau est stocké sur le CD),
  • Quand vous lancez Linux en chargeant un noyau écrit sur une partition d'un disque.
A titre d'exemple, pour démarrer une mise à jour de U-Boot à partir d'un CD vous taperez dans la console "diskboot 500000 1:0" (si votre lecteur de CD est en Maître sur port Primaire).

7.2 Méthode Amiga multiboot / boota

La méthode de démarrage Amiga boot est appelée "multiboot" car elle permet de démarrer AmigaOS ou différents systèmes Linux. Elle est plus flexible que la méthode de démarrage Linux car celle-ci est liée à l'utilisation d'une seule partition : celle sur laquelle l'image Linux est présente.

La méthode Amiga est basée sur l'utilisation du FLB (First Level Booter - Démarreur de premier niveau) qui se trouve dans U-Boot et le SLB (Second Level Booter - Démarreur de second niveau) qui se trouve sur disque. Quand vous démarrez votre AmigaOne, le SLB est exécuté. Il trouvera tous les systèmes/configurations amorçables (Amiga et Linux). Pour faire cela il va parcourir le disque spécifié comme disque de démarrage (souvent votre disque dur principal) sur lequel il va trouver toutes les partitions que vous avez défini comme amorçables dans "Media Toolbox". Sur ces partitions amorçables il va trouver toutes les configurations AmigaOS définies (dans le fichier Kicklayout) et toutes les configurations Linux définies.

Tout ce que vous avez à faire est de sélectionner le disque sur lequel vous voulez démarrer un système. Si vous voulez démarrer le CD AmigaOS 4 sélectionnez "IDE CDRom" dans le menu de sélection de démarrage. Si vous voulez charger AmigaOS 4 à partir du disque, sélectionnez "IDE Disk". Rappelez-vous que cette méthode nécessite que le Second Level Booter (SLB) soit installé sur votre disque (que ce soit un disque dur, un CD, une carte Compact Flash...). Pour plus d'informations à ce sujet, lisez la documentation qui traite de la procédure d'installation (disponible sur le CD AmigaOS).

Le SLB va parcourir le disque pour trouver toutes les configurations AmigaOS et Linux. Les configurations AmigaOS sont lues à partir du fichier Kicklayout qui se trouve dans votre partition système. Pour apprendre à utiliser différentes configurations de modules de noyaux lisez cet article. Vous pouvez définir plusieurs configurations Linux en utilisant une technique similaire. Le SLB va rechercher toute partition Linux que vous avez défini en tant qu'amorçable avec "Media Toolbox". Sur ces partitions, il chargera le fichier texte /boot/a1boot.conf. Écrivez dans ce fichier toutes les configurations que vous voulez créer, une par ligne, en utilisant le format suivant :

<Nom de configuration> <chemin du noyau> <ligne de commande noyau>

Exemple :
Debian2.4.26 /boot/kernel2.4.26 root=/dev/hda...

8. Débogage

Avec la version de débogage du noyau d'AmigaOS 4, vous pouvez envoyer sur votre port série des traces de débogage détaillées. Utilisez un câble null modem pour connecter via le port série, votre AmigaOne à un autre ordinateur. Avec un programme de terminal sur ce dernier, vous pourrez ainsi capturer les informations envoyées par l'AmigaOne. Vous devez régler votre programme pour utiliser une liaison avec 8 bits, pas de parité et 1 bit d'arrêt. La vitesse de transfert doit être adaptée à celle définie dans la variable d'environnement "baudrate" de U-Boot. À partir de là, vous serez en mesure de comprendre pourquoi un programme plante et d'aider le programmeur à résoudre le problème en lui envoyant ces informations.

U-Boot utilise aussi la ligne série. En effet, lorsque vous démarrez votre AmigaOne, un texte ressemblant à ceci est envoyé sur le port série :

U-Boot 1.1.1 (Oct 4 2004 - 16:42:03), Build: 10/04/04

CPU: MPC7455 v2.1 @ 933.333 MHz
Board: AmigaOne
DRAM: 256 MB
FLASH: 0 kB
VGA: OK
In: serial
Out: serial
Err: serial

En fait, vous pouvez envoyer sur le port série n'importe quel texte qui serait normalement affiché dans la fenêtre de console. Vous pouvez le faire en exécutant les commandes suivantes :

] setenv stdout serial
] ide info
] setenv stdout vga

9. Le futur de U-Boot

Comme dit précédemment, quand l'équipe d'AmigaOS 4 aura le temps, elle améliorera U-Boot. Par exemple, une des choses à faire est de retravailler le code de détection des disques IDE. Mais la plupart des amigaïstes sont davantage intéressés par AmigaOS 4.0 et c'est là qu'ils veulent voir les changements. U-Boot, même sans être très convivial, est tout de même suffisant à l'heure actuelle. Modifier le code n'est pas facile car l'équipe du projet Open Source de U-Boot ne semble pas très sérieuse. L'équipe d'AmigaOS 4 a certainement contribué davantage que quiconque au développement du code. Peut-être qu'écrire une solution propriétaire serait plus favorable. L'avenir nous le dira...

10. Liste des commandes

Ces textes d'aide sont affichés à l'écran lorsque vous tapez :

] help <commande>

askenv nom [message] [size]
récupère la variable d'environnement "nom" sur stdin ("taille" caractères max).

askenv nom
récupère la variable d'environnement "nom" sur stdin.

askenv nom taille
récupère la variable d'environnement "nom" sur stdin ("taille" caractères max).

askenv name [message] size
affiche la chaîne de caractères "message" et lit la variable d'environnement "name" sur stdin ("taille" caractères max).

autoscr [adr]
exécute le script démarrant à l'adresse adr. Un en-tête valide autoscr doit être présent.

base
affiche l'adresse et les offsets des commandes mémoire.

base off
met l'offset mémoire à "off" pour les commandes mémoire.

bdinfo
affiche la structure contenant les informations sur les cartes matérielles.

boota
"Boota" est une commande importante qui vous permet d'effectuer des choses qui avant n'étaient qu'un rêve, principalement démarrer AmigaOS 4 sur un AmigaOne.

bootd
effectue un démarrage par défaut. Similaire à "run bootcmd".

bootelf [adresse]
charge une image de type ELF.

bootm [adr [arg ...]]
démarre l'image de l'application stockée en mémoire avec les arguments "arg ..." ; lors d'un démarrage d'un noyau Linux, "arg" peut être l'adresse de l'image initrd.

bootp [loadadress] [bootfilename]
lance l'image via le réseau en utilisant le protocole BootP/TFTP.

bootvx [adresse]
charge l'adresse de l'image ELF vxWorks.

cmp [.b, .w, .l] adr1 adr2 compte
compare la mémoire.

coninfo
affiche les périphériques console et des informations.

cp [.b, .w, .l] source cible compte
copie la mémoire.

crc32 adresse count [adr]
crée une somme de contrôle CRC32 [la sauve à adr]

date [MMDDhhmm[[CC]YY][.ss]]
date reset
sans argument : affiche date et heure.
avec argument numérique : règle la date et l'heure système.
avec "reset" en argument : réinitialise l'horloge.

dcache [on, off]
active ou désactive le cache de données (writethrough).

dhcp
invoque le client DHCP pour obtenir une adresse IP et les paramètres réseau.

diskboot loadAddr dev:part
démarre à partir du disque "dev", partition "part" en chargeant à l'adresse "loadaddr".

echo [args..]
affiche le texte "args" dans la console ; \c empêche un caractère "newline".

erase start end
efface la mémoire flash depuis l'adresse "start" à "end".

erase N:SF[-SL]
efface les secteurs SF-SL de la banque flash numéro N.

erase bank N
efface la banque flash numéro N.

erase all
efface toutes les banques flash.

fdcboot loadAddr drive
démarre sur le lecteur de disquette.

fdosboot
démarre sur une image de disque DOS.

fdosls
liste les fichiers sur un disque DOS.

flinfo
affiche des informations sur toutes les banques flash.

flinfo N
affiche des informations sur la banque flash numéro N.

go addr [arg ...]
démarre l'application à l'adresse "addr" en passant les arguments "arg".

help [command ...]
affiche l'aide (sur la commande "command").
"help" affiche l'aide sur les commandes U-Boot. Sans arguments, un court message sera affiché pour chaque commande. Pour obtenir une aide plus détaillée pour une commande spécifique, tapez "help" avec un ou plusieurs noms de commande en argument.

icache [on, off]
active ou désactive le cache instruction.

ide reset
réinitialise le contrôleur IDE.

ide info
affiche les disques IDE disponibles.

ide device [dev]
affiche ou sélectionne le disque en cours.

ide part [dev]
affiche la table des partitions pour un ou tous les périphériques IDE.

ide read addr blk# cnt
ide write addr blk# cnt
lit/écrit "cnt" blocs en commençant par le bloc "blk#" depuis/à l'adresse mémoire "addr".

iminfo addr [addr ...]
affiche des informations sur l'en-tête pour une image d'application qui commence à l'adresse mémoire "addr" ; cela inclut la vérification du contenu de l'image (nombre magique, en-tête et somme de contrôle).

loadb [ off ] [ baud ]
charge un fichier binaire depuis le port série avec l'offset "off", à la vitesse "baud".

loads [ off ]
charge un fichier S-Record depuis le port série avec l'offset "off".

loop [.b, .w, .l] adress number_of_objects
boucle sur une liste d'adresses.

md [.b, .w, .l] adress [# of objects]
affiche le contenu de la mémoire.

menu
affiche le menu de préférences.

mm [.b, .w, .l] adress
modifie la mémoire en incrémentant automatiquement l'adresse.

mtest [start [end [pattern]]]
test simple de lecture/écriture en RAM.

mw [.b, .w, .l] adress value [count]
écriture en mémoire.

nm [.b, .w, .l] adress
modifie, lit et garde une adresse mémoire.

pci [bus] [long]
liste courte ou longue des périphériques PCI sur le bus "bus".

pci header b.d.f
affiche l'en-tête du périphérique PCI "bus.périphérique.fonction".

pci display[.b, .w, .l] b.d.f [adress] [# of objects]
affiche l'espace configuration PCI (CFG).

pci next[.b, .w, .l] b.d.f adress
modifie, lit et garde une adresse mémoire CFG.

pci modify[.b, .w, .l] b.d.f adress
modifie la mémoire CFG en incrémentant automatiquement l'adresse.

pci write[.b, .w, .l] b.d.f adress value écrit à une adresse CFG.

post [diagnostic]
exécute des tests matériels, tous ou celui spécifié en argument (memtest / mousetest / kbdirqtest / rtctest / pcitest / idetest / usbtest / ethernettest / lpttest / serialtest / alltest).

printenv
affiche le contenu de toutes les variables d'environnement.

printenv name ...
affiche le contenu de la variable d'environnement "name".

protect on start end
protège la mémoire flash de l'adresse "start" à l'adresse "end".

protect on N:SF[-SL]
protège les secteurs SF-SL de la banque flash numéro N.

protect on bank N
protège la banque flash numéro N.

protect on all
protège toutes les banques flash.

protect off start end
permet l'écriture en mémoire flash de l'adresse "start" à "end".

protect off N:SF[-SL]
permet l'écriture des secteurs SF-SL de la banque flash numéro N.

protect off bank N
permet l'écriture de la banque flash numéro N.

protect off all
permet l'écriture sur toutes les banques flash.

rarpboot [loadadress] [bootfilename]
démarre une image par le réseau en utilisant le protocole RARP/TFTP.

reset
effectue une réinitialisation du processeur.

run var [...] exécute les commandes contenues dans les variables d'environnement passées en paramètre.

saveenv
sauvegarde les variables d'environnement dans la mémoire flash.

scsiboot loadAddr dev:part
démarre à partir d'un périphérique SCSI.

scsi reset
réinitialise le contrôleur SCSI.

scsi info
affiche les périphériques SCSI disponibles.

scsi scan
(re-)scan le bus SCSI.

scsi device [dev]
affiche ou sélectionne le disque en cours.

scsi part [dev]
affiche la table des partitions pour un ou tous les périphériques SCSI.

scsi read addr blk# cnt
lit "cnt" blocs à partir du bloc "blk#" de l'adresse mémoire "addr".

setenv name value ...
règle la variable d'environnement "name" à "value".

setenv name
efface une variable d'environnement "name".

sleep N
délai d'exécution pour N secondes (N est en _décimale_ !).

tftpboot [loadadress] [bootfilename]
démarre l'image via le réseau en utilisant le protocole TFTP.

usb reset
reset (rescan) du contrôleur USB.

usb stop [f]
arrêt du bus USB [f]=forcer.

usb tree
affiche l'arborescence du bus USB.

usb info [dev]
affiche les périphériques USB disponibles.

usb scan
(ré-)analyse le bus USB pour les périphériques de stockage.

usb device [dev]
affiche ou sélectionne le périphérique USB en cours.

usb part [dev]
affiche la table des partitions d'un ou plusieurs périphériques de stockage USB.

usb read addr blk# cnt
lit "cnt" blocs à partir du bloc "blk#" à l'adresse mémoire "addr".

usbboot loadAddr dev:part
démarre à partir d'un périphérique USB.

version
affiche le numéro de version de U-Boot.

vesa
exécute un appel BIOS vesa.


[Retour en haut] / [Retour aux articles]