|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Dans mon dernier article, j'ai expliqué comment j'utilisais Linux sur mon Amiga 4000. Faire tourner Linux sur un Amiga a toujours été un cas d'utilisation fascinant pour moi ; je me suis passionné pour ces deux domaines dès mon plus jeune âge. Peu après avoir acheté mon Amiga 4000 d'occasion en 2022, j'ai découvert un article intéressant sur Reddit indiquant que NetBSD (un autre système d'exploitation de type UNIX) est compatible avec l'Amiga. Le titre de cet article était, à mon avis, quelque peu trompeur, car il laisse entendre que la compatibilité avec l'Amiga a été ajoutée récemment, ce qui est faux : NetBSD gère l'Amiga depuis sa version 1.0 (sortie en 1994). La compatibilité avec l'Amiga a été considérablement améliorée en 2022. NetBSD est un système d'exploitation intéressant : c'est le premier dérivé de BSD, créé à partir de 386BSD par un groupe de développeurs en 1992, insatisfaits de son processus de développement. FreeBSD est un dérivé créé par un autre groupe de développeurs la même année. OpenBSD est issu de NetBSD en 1995 et DragonFly BSD de FreeBSD en 2003, suite à des désaccords. Chacune de ces distributions dérivées de BSD poursuit des objectifs et des standards différents. NetBSD privilégie la portabilité et la simplicité. Son slogan, "Of course, it runs NetBSD" (Bien sûr, ça tourne sous NetBSD), et son architecture et son infrastructure facilitent grandement le portage vers de nouvelles plates-formes. De ce fait, il a été porté sur de nombreux types de processeurs et d'architectures matérielles, notamment le PC et l'Amiga. Les autres distributions dérivées de BSD ont des objectifs différents : OpenBSD se concentre sur la sécurité et la fiabilité, tandis que FreeBSD vise à être une distribution dérivée de BSD plus équilibrée et généraliste. DragonFly BSD, quant à lui, met l'accent sur le multi fil d'exécution et la gestion multiprocesseur symétrique. Un autre aspect intéressant du processus de portage de NetBSD sur Amiga est sa complexité. Pour porter NetBSD sur Amiga, il a fallu au préalable adapter la chaîne d'outils de compilation à AmigaOS. Le résultat de ce processus de portage est un projet de bibliothèque nommée ixemul.library, fournissant une interface d'appels système UNIX pour AmigaOS. ixemul.library est l'élément principal de la distribution Geek Gadgets, qui propose une vaste collection d'utilitaires UNIX utilisables sous AmigaOS. Il y a quelque temps, j'ai utilisé le gestionnaire de paquets Nix pour automatiser la compilation des paquets contenant ces outils afin de porter mon projet de formats de fichiers IFF de Linux vers AmigaOS et de créer un programme de visualisation pour AmigaOS. Bien que NetBSD soit un système d'exploitation intéressant, je n'ai jamais autant utilisé les dérivés BSD que Linux. Par exemple, je n'en ai jamais utilisé aucun comme système d'exploitation de bureau. C'est FreeBSD que je connais le mieux : je l'ai utilisé pour des serveurs Web, comme cible de portage pour le gestionnaire de paquets Nix afin d'ajouter une cible de compilation à la ferme de compilation de notre université (qui utilise Hydra, le système d'intégration continue basé sur Nix), et comme cible de portage pour mon cadre de travail expérimental de gestion de processus Nix. Mon expérience avec OpenBSD et NetBSD est plus limitée : le seul cas d'utilisation notable que j'ai eu avec eux est leur utilisation comme cibles de portage pour le gestionnaire de paquets Nix, comme pour FreeBSD. Hormis quelques expériences simples, je n'ai jamais rien fait de significatif avec DragonFly BSD. Compte tenu de l'impact de l'article et de mes expériences passées avec NetBSD, l'essayer sur mon Amiga 4000 figurait en bonne place sur ma liste de choses à faire. Ce fut une expérience enrichissante : outre l'installation de NetBSD, c'était aussi la première fois que je l'utilisais comme système d'exploitation pour travailler, et non comme simple environnement de développement. Dans cet article, je partagerai mon expérience. 1. Premiers pas avec NetBSD pour Amiga Dans mon précédent article (sur Linux sur Amiga), j'expliquais que la prise en main était un peu compliquée, car la plupart des informations nécessaires étaient obsolètes et éparpillées. Avec NetBSD, le processus de démarrage a été beaucoup plus simple : la page Web de NetBSD pour Amiga est, à mon avis, très bien conçue et permet de télécharger facilement le fichier ISO du CD-ROM d'installation ainsi que les instructions d'installation spécifiques à Amiga. De plus, contrairement à Debian, je peux utiliser la dernière version de NetBSD (la version 10.1 au moment de la rédaction de cet article) sur mon Amiga 4000. Avec Debian, je n'ai pas pu utiliser de version supérieure à 3.1. Pour être précis : le portage m68k a été abandonné après Debian 3.1, puis réintroduit dans Debian 9.0. Malheureusement, les versions 9.0 et suivantes n'ont pas fonctionné sur mon système. La dernière version de Debian est la 12.9 au moment de la rédaction de cet article. 1.1 Installation de NetBSD sur Amiga 4000 La procédure d'installation ne semble pas très conviviale, mais elle n'est pas trop difficile à mon avis si vous avez déjà une certaine expérience d'AmigaOS et d'un système d'exploitation de type UNIX. Pour installer NetBSD sur un Amiga, j'ai suivi leur documentation. En résumé, elle se compose des étapes suivantes :
À l'instar de Linux, NetBSD possède un processus de démarrage particulier : son utilisation requiert un noyau en cours d'exécution. Ce noyau n'est pas présent par magie, mais doit d'abord être chargé depuis un emplacement externe. Un chargeur d'amorçage est un programme chargé de faciliter ce processus. Dans mon précédent article, j'ai expliqué qu'il existe différentes manières de charger un noyau. Plus important encore, il est possible de le charger le plus rapidement possible après la mise sous tension en utilisant le moins de ressources possible de la ROM ou du système d'exploitation natif. C'est ce que j'appellerai le démarrage à froid. De plus, il est possible de démarrer d'abord sur un système d'exploitation existant et de charger une image noyau pendant que ce système est en cours d'exécution. Une fois le noyau chargé, il peut prendre le contrôle du système. C'est ce que j'appelle le démarrage à chaud. Sur Amiga, il est courant d'effectuer un démarrage à chaud pour Linux (contrairement à Linux sur PC, où le démarrage à froid est la pratique courante). Avec NetBSD sur Amiga, c'est en fait l'inverse : le démarrage à froid est la méthode privilégiée. Comme je l'ai déjà expliqué dans la section précédente, nous devons rendre les partitions d'échange et racine amorçables dans HDToolBox. De plus, nous devons autoriser ces partitions à utiliser des blocs d'amorçage personnalisés. Au démarrage de mon Amiga, je peux maintenir les deux boutons de la souris enfoncés pour accéder au menu de démarrage. Dans ce menu, je peux sélectionner la partition à partir de laquelle je souhaite démarrer (par défaut, le système parcourt la liste des lecteurs/partitions amorçables de haut en bas et sélectionne la première option disponible). ![]() En sélectionnant "netbsd-root", je peux démarrer depuis ma partition racine NetBSD contenant un bloc de démarrage personnalisé fournissant un chargeur de démarrage. Ce chargeur permet de charger un noyau NetBSD avec les paramètres de ligne de commande souhaités. ![]() Il existe une autre méthode pour démarrer NetBSD : l'outil en ligne de commande "runbootblock". Cet outil permet d'exécuter automatiquement le code stocké dans un bloc de démarrage d'une partition depuis une session AmigaOS en cours d'exécution. Cette approche se situe entre le démarrage à chaud et le démarrage à froid : il s'agit d'un démarrage à chaud d'un noyau depuis un système d'exploitation en cours d'exécution, utilisant les fonctionnalités d'un démarrage à froid. On pourrait qualifier cette méthode de démarrage tiède. Bien que j'utilise sans problème le menu de démarrage du Kickstart, je trouve également pratique de démarrer NetBSD directement depuis le Workbench. Pour cela, j'ai créé une icône sur le bureau appelée "StartNetBSD" pour effectuer un démarrage tiède de NetBSD. ![]()
La commande ci-dessus indique que nous souhaitons exécuter le bloc d'amorçage de la partition netbsd-root située sur le premier disque dur. Nous utilisons le pilote scsi.device pour accéder à cette partition. Le démarrage à chaud fonctionne correctement lorsque j'utilise le jeu de composants de l'Amiga pour le tapon de trame ("framebuffer"). Malheureusement, avec ma carte RTG CyberVision64/3D, l'affichage est altéré. J'ai découvert que l'initialisation de l'affichage VGA par AmigaOS est en cause ; par conséquent, pour utiliser NetBSD avec ma carte RTG, je dois systématiquement effectuer un démarrage à froid complet. 2. Étapes post-installation Après avoir installé NetBSD, j'ai dû effectuer plusieurs étapes de configuration supplémentaires pour que tous mes cas d'utilisation soient pris en charge. Je me suis largement inspiré de ce guide d'installation de NetBSD 9.2 pour Amiga. 2.1 Désactivation des services inutiles La première chose que j'ai remarquée après le premier démarrage, c'est que mon installation NetBSD démarre assez lentement. Même après la connexion, la lenteur persiste. En exécutant la commande "ps", j'ai constaté la présence d'un processus en arrière-plan, "makemandb", qui consomme une part importante du temps processeur. De plus, j'ai remarqué que "postfix" mettait un certain temps à démarrer. N'ayant pas besoin de ces services, je les ai désactivés au démarrage en ajoutant les lignes suivantes au fichier `/etc/rc.conf` :
2.2 Configuration des comptes utilisateurs Par défaut, il n'existe qu'un seul compte utilisateur : l'utilisateur "root" (racine), qui dispose de tous les privilèges. De plus, aucun mot de passe n'est défini pour l'utilisateur root. Il est possible de configurer le mot de passe root en exécutant la commande suivante :
Nous pouvons configurer un compte utilisateur sans privilèges et définir un mot de passe comme suit :
2.3 Activation des wcons Dans l'installation par défaut, l'interface en ligne de commande est assez rudimentaire : un fond gris avec du texte noir et une seule fenêtre de terminal. Pour améliorer l'expérience en ligne de commande de NetBSD, je peux activer wscons, le pilote de console de station de travail indépendant de la plate-forme pour NetBSD. Il gère l'abstraction complète du clavier et de la souris et permet le multiplexage de terminaux. Pour activer wscons, il faut d'abord déployer un noyau compatible ; le noyau par défaut ne possède pas cette fonctionnalité. Un noyau compatible wscons est disponible sur le CD-ROM de NetBSD. Je peux remplacer le noyau par défaut en me connectant à mon installation NetBSD et en exécutant les commandes suivantes :
Dans l'extrait de code ci-dessus, je copie le noyau compatible wscons depuis le CD-ROM NetBSD vers le répertoire racine, je le décompresse, je sauvegarde l'ancien noyau et enfin je remplace le noyau par défaut par le nouveau. Il faut également activer le service wscons au démarrage. Pour cela, ajoutez la ligne suivante au fichier "/etc/rc.conf" :
Pour utiliser plusieurs terminaux, nous devons ouvrir "/etc/ttys" dans un éditeur de texte et activer les consoles ttyE1, ttyE2 et ttyE3 en passant leurs indicateurs "off" à "on" : ![]() 2.4 Configuration des modes vidéo du tampon de trame Une autre question m'intrigue : comment configurer le périphérique de sortie et la résolution du tampon de trame ? Par exemple, au démarrage du noyau, NetBSD utilise automatiquement l'affichage de ma carte CyberVision64/3D en résolution 640x480 et en mode couleur 8 bits. Bien que je sois satisfait de l'utilisation de ma carte RTG, je souhaite également pouvoir utiliser le jeu de composants AGA de l'Amiga pour l'affichage. De plus, je souhaite pouvoir basculer entre différents modes graphiques. Sous Linux, cela se fait en passant le paramètre vidéo approprié au noyau. Sous NetBSD, cette configuration s'avère très complexe. D'après la page de manuel de démarrage (qui décrit les paramètres de démarrage du noyau NetBSD), il n'existe qu'un seul paramètre noyau relatif à l'affichage : -A. La documentation indique que ce paramètre active le mode d'affichage AGA, mais il a en réalité une double fonction : il active bien le mode AGA pour que l'affichage utilise 256 couleurs, mais il configure également l'écran en mode "double NTSC" (640x400, non entrelacé). Sans le paramètre -A , le noyau NetBSD est configuré pour utiliser 8 couleurs et un mode d'affichage NTSC haute résolution entrelacé (640x400). Bien que mon Amiga possède un jeu de composants AGA, mon téléviseur LED ne semble pas accepter les modes d'affichage double NTSC ou double PAL. Outre les possibilités de configuration très limitées du jeu de composants Amiga, je n'ai trouvé aucun paramètre du noyau permettant de sélectionner le périphérique tempon de trame. Après quelques recherches, j'ai compris qu'il n'est pas possible de fournir davantage d'options de mode d'affichage. En consultant les notes d'installation de NetBSD sur GitHub, j'ai constaté que je ne suis pas le seul à rencontrer des problèmes d'affichage. En résumé, l'auteur explique comment il a ajusté les paramètres d'affichage du mode AGA pour qu'ils correspondent à ceux d'une sortie VGA, en copiant les paramètres du pilote amifb Linux et en compilant le noyau NetBSD pour Amiga. J'ai finalement compilé moi-même un noyau en suivant les mêmes instructions. Pour ce faire, j'ai téléchargé une image ISO de NetBSD 10.1 pour machines x64 et je l'ai installée dans une machine virtuelle VirtualBox sur mon PC. Dans cette machine virtuelle VirtualBox, j'ai téléchargé le code source de NetBSD 10.1 en exécutant la commande suivante :
Je peux configurer la chaîne d'outils de compilation croisée en exécutant :
La commande ci-dessus télécharge automatiquement les dépendances requises (par exemple, les archives sources du compilateur croisé, de l'éditeur de liens croisés, etc.) et les compile. Mon premier objectif était de vérifier si je pouvais effectuer les ajustements nécessaires pour forcer le noyau à utiliser les puces Amiga pour l'affichage du tampon de trame. J'ai finalement modifié deux fichiers et désactivé plusieurs options. Le premier fichier que j'ai modifié est "sys/arch/amiga/conf/GENERIC". J'y ai commenté les propriétés suivantes :
La propriété la plus importante à commenter est CV3DCONSOLE. Désactiver la console CyberVision64/3D garantit que ma carte CyberVision64/3D ne sera jamais détectée. Par conséquent, NetBSD est forcé d'utiliser le jeu de composants Amiga natif. La désactivation de la console CyberVision64/3D entraîne également la désactivation du pilote graphique couleur correspondant (grfcv3d0), du périphérique tampon de trame (grf7) et du périphérique d'émulation de terminal (ite7). Outre la CyberVision64/3D, j'ai désactivé plusieurs autres fonctionnalités inutiles. Par exemple, je n'ai pas besoin de la gestion des résolutions non standard (VGA, Super72). Je peux également désactiver la gestion des cartes RTG supplémentaires, car je n'en possède pas. La désactivation de leurs consoles entraîne également la désactivation de leurs pilotes graphiques couleur, périphériques de tampon de trame et périphériques d'émulation de terminal correspondants. Un autre fichier que je dois modifier est la configuration wscons (sys/arch/amiga/conf/WSCONS) :
Dans le fichier ci-dessus, je dois également désactiver les périphériques graphiques couleur, le tampon de trame et l'émulation de terminal que j'avais commentés dans le fichier de configuration précédent. Après avoir configuré le noyau, je peux le compiler avec la commande suivante :
L'image du noyau résultante se trouve dans "src/sys/arch/amiga/compile/obj/WSCONS/netbsd". Je l'ai copiée sur ma partition racine NetBSD et nommée "netbsd-NORTG". Si je souhaite utiliser une session NetBSD avec les puces de mon Amiga (en mode d'affichage haute résolution 8 couleurs entrelacées), je peux fournir la commande suivante au chargeur de démarrage :
Ce qui donne lieu à la session NetBSD suivante : ![]() Après avoir compilé ce noyau, j'ai également expérimenté avec son code source afin de tenter d'éviter l'utilisation du mode d'affichage incompatible "double NTSC". Malheureusement, j'ai découvert que les modes d'affichage sont codés en dur dans le noyau (plus précisément, dans le fichier "src/sys/arch/amiga/dev/grfabs_cc.c"). Après avoir testé différents réglages d'affichage (y compris ceux du moniteur VGA décrits dans le service Gist de GitHub), j'ai constaté qu'en réduisant de moitié le nombre de lignes de balayage pour le mode AGA, j'obtiens un affichage acceptable (du moins dans la console). Malgré ce résultat, mon mode AGA personnalisé est inutilisable : si je souhaite utiliser le système X Window, le serveur d'affichage ne semble pas reconnaître mon mode d'affichage modifié. Par conséquent, il ne démarre pas. J'ai finalement renoncé à enquêter sur ce problème et j'ai décidé d'utiliser simplement le mode graphique non-AGA. 3. Utilisation du système X Window L'un des avantages du système X Window sur NetBSD/Amiga est son intégration avec wscons. De ce fait, sa configuration est très simple. Il semble toutefois manquer un fichier de périphérique de pseudo-terminal. Sans ce fichier, xterm refuse de démarrer. Je peux créer ce fichier manquant en exécutant les commandes suivantes :
Autre avantage appréciable : contrairement au système X Window pour Debian Linux/Amiga, la version NetBSD gère également le jeu de composants Amiga pour l'affichage graphique. En utilisant une session console du noyau NORTG, il me suffit d'exécuter "startx" et après quelques instants, j'obtiens ceci : ![]() 3.1 Réglage des modes d'écran À ma connaissance, il est impossible de modifier le mode d'affichage en cours d'exécution avec le jeu de composants Amiga. En revanche, avec ma carte CyberVision64/3D, c'est possible. Pour cela, je dois charger un fichier de définition du mode d'affichage. J'ai donc ajouté une ligne au script "/etc/rc.local" pour charger ce fichier au démarrage :
Dans l'instruction en ligne de commande ci-dessus, le paramètre "/dev/grf7" correspond au périphérique de tampon de trame CyberVision64/3D (ce fichier de périphérique peut être déterminé en consultant la sortie de la commande "dmesg") et "/etc/gfxmodes" à un fichier de définition de mode d'écran. L'écriture d'un tel fichier est assez fastidieuse. Heureusement, lors de mes précédents essais avec l'outil de préférences Amiga Picasso96Mode, j'ai découvert qu'il permet également de générer des définitions de mode compatibles avec NetBSD 1.2 et 1.3. J'ai constaté que NetBSD 10.1 utilise toujours le même format que NetBSD 1.3. Pour enregistrer automatiquement ces paramètres de mode dans un fichier, je dois ouvrir une interface de ligne de commande dans mon Workbench et exécuter la commande suivante :
La commande ci-dessus ouvre le programme de préférences Picasso96Mode et redirige la sortie standard vers T:gfxmodes. ![]() Après avoir exporté tous les modes d'écran pertinents, je dois ouvrir le fichier "T:\gfxmodes" dans un éditeur de texte et supprimer tous les commentaires et les entrées NetBSD 1.2. Le fichier obtenu présente la structure suivante :
Dans le fichier ci-dessus, chaque ligne représente un mode d'affichage. La première définit une résolution de 640x480, la deuxième de 800x600 et la troisième de 1024x768. Ces trois modes utilisent une palette de couleurs 8 bits. Il est nécessaire d'ajuster légèrement ce fichier pour qu'il soit compatible avec NetBSD : la première colonne (contenant un "x") représente un numéro de mode. Il faut lui attribuer une valeur numérique unique ou un "c" pour définir le mode d'affichage de la console. Si je souhaite que ma console utilise un mode d'affichage 640x480 tout en conservant les autres modes comme option, je peux modifier le fichier de définition de mode ci-dessus comme suit :
Dans le fichier ci-dessus, j'ai remplacé les caractères "x" par des valeurs numériques uniques et j'ai dupliqué le mode 640x480 pour qu'il corresponde au mode d'affichage de la console. En copiant ce fichier dans "/etc/gfxlogin" sur ma partition racine NetBSD, je peux basculer entre les modes d'affichage si besoin. J'ai appris que pour utiliser le système X Window avec ma carte CyberVision64/3D, un fichier de définition des modes est également nécessaire. Par défaut, le système X Window utilise le premier mode d'affichage (screen mode : 1). Lorsque je démarre le serveur X, l'affichage suivant apparaît : 4. Installation de paquets personnalisés Contrairement à Linux, qui est un noyau nécessitant l'ajout de logiciels (par exemple, issus du projet GNU) pour former une distribution fonctionnelle, NetBSD est un système complet. Cependant, j'ai besoin de quelques logiciels supplémentaires pour me faciliter la vie, comme Midnight Commander. NetBSD inclut le gestionnaire de paquets pkgsrc et un dépôt de paquets proposant une variété de logiciels. Le téléchargement et l'installation automatiques de binaires précompilés et de leurs dépendances sont facilités par l'interface graphique de pkgsrc : pkgin. Malheureusement, comme je l'ai déjà expliqué dans un précédent article, mon Amiga 4000 ne possède pas de carte réseau. Le seul moyen de le connecter à Internet est un câble null modem, trop lent pour télécharger des paquets. Heureusement, l'interface Web de pkgsrc permet de télécharger manuellement et facilement les paquets souhaités ainsi que leurs dépendances. Par exemple, pour obtenir Midnight Commander, je peux ouvrir la page suivante : ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/sysutils/mc46/index.html, télécharger l'archive m68k, suivre les dépendances d'exécution, télécharger leurs archives, puis les dépendances transitives, etc. Pour installer les paquets téléchargés sur NetBSD, je les copie simplement dans un répertoire de mon disque NetBSD. Je peux ensuite les installer avec la commande "pkg_add".
Le résultat est que je peux utiliser Midnight Commander sur NetBSD sur mon Amiga : ![]() Dans mon précédent article concernant l'utilisation de Linux sur mon Amiga, j'utilisais un câble null modem pour connecter l'Amiga à mon PC. Avec NetBSD, je peux faire la même chose. Par exemple, sur mon PC Linux, je peux démarrer une session terminal via le port série :
...et j'utilise Minicom sur mon installation NetBSD/Amiga pour m'y connecter à distance. Je peux également faire l'inverse : activer une console série sur NetBSD en modifiant le fichier "/etc/ttys" et en activant un terminal pour le périphérique /dev/tty00.
Je peux alors utiliser minicom sur mon PC Linux pour me connecter à distance à mon Amiga :
Le résultat est visible sur l'image suivante : 6. Se connecter à Internet Comme pour ma configuration Linux, je peux également connecter mon installation NetBSD/Amiga à Internet. La procédure est exactement la même. Je me suis inspiré du guide pratique Linux PPP pour cela. Tout d'abord, je dois configurer un point de terminaison de liaison sur mon Amiga 4000, avec la commande suivante :
Je peux ensuite configurer mon PC de bureau (qui est connecté à Internet via une carte Ethernet) :
Je devrais alors pouvoir tester la connectivité de mon PC de bureau depuis l'Amiga en exécutant :
En suivant quelques étapes supplémentaires, je peux connecter mon Amiga 4000 à Internet en utilisant mon ordinateur de bureau comme passerelle. Tout d'abord, je dois activer le transfert IP sur mon ordinateur de bureau :
Ensuite, sur mon PC de bureau, je peux activer la traduction d'adresses réseau (NAT) comme suit :
Dans l'exemple ci-dessus, "ppp0" désigne l'interface de liaison PPP et "enp6s0" l'interface Ethernet connectée à Internet. Pour résoudre les noms de domaine sur l'Amiga 4000, je dois copier les paramètres du serveur de noms depuis le fichier "/etc/resolv.conf" de mon ordinateur vers l'Amiga 4000. Après cette configuration, je peux, par exemple, utiliser w3m pour accéder à ma page d'accueil. 7. Échange de fichiers Comme pour ma configuration Amiga/Linux, je souhaite également pouvoir échanger des fichiers entre mon système NetBSD et mon système Amiga, par exemple pour tester des logiciels téléchargés sur Internet. Pour mon système NetBSD, je peux utiliser les mêmes deux méthodes. 7.1 Échange de fichiers avec la carte mémoire de mon PC Linux Dans mon précédent article, j'ai démontré qu'il est possible d'insérer la carte CompactFlash de mon Amiga (via le périphérique CF2IDE) dans le lecteur de cartes de mon PC. Linux sur mon PC ne reconnaît pas la table de partitions RDB de l'Amiga, mais je peux utiliser GNU Parted pour déterminer les décalages des partitions et utiliser un périphérique de bouclage pour la monter. $ parted /dev/sdb GNU Parted 3.6 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit B (parted) print Model: Generic- USB3.0 CRW-CF/MD (scsi) Disk /dev/sdb: 32019111936B Sector size (logical/physical): 512B/512B Partition Table: amiga Disk Flags: Number Start End Size File system Name Flags 1 56899584B 1130766335B 1073866752B asfs DH0 boot 2 1130766336B 1265338367B 134572032B netbsd-swap boot 3 1265338368B 3953166335B 2687827968B sun-ufs netbsd-root boot 4 3953166336B 6100899839B 2147733504B asfs DH1 5 6100899840B 8248633343B 2147733504B asfs DH2 6 8248633344B 16838664191B 8590030848B asfs DH3 7 16838664192B 32019111935B 15180447744B asfs DH4 (parted) quit Dans l'extrait de code ci-dessus, j'ai utilisé GNU parted pour lire la table de partitions de mon disque Amiga ("/dev/sdb"), j'ai converti l'unité en octets et j'ai affiché la table. La troisième entrée (Numéro 3) correspond à la partition racine NetBSD de mon Amiga 4000. Linux permet de monter des partitions UFS. Je peux utiliser les champs de décalage "Start" (début) et "Size" (taille) de cette table pour configurer une interface de bouclage ("/dev/loop0") pointant vers la partition NetBSD de mon disque Amiga.
Je peux ensuite monter la partition (via le fichier de périphérique boucle) dans un répertoire :
Je peux ensuite lire les fichiers de la partition NetBSD de mon Amiga en accédant à "/mnt/amiga-netbsd-partition". Malheureusement, le module UFS de mon noyau Linux ne semble pas gérer l'écriture ; il semblerait que cette fonctionnalité soit expérimentale et désactivée par défaut. Par conséquent, je ne peux que lire les fichiers de la partition. Une fois le travail terminé, je dois démonter la partition et déconnecter le périphérique boucle.
J'ai également cherché comment échanger des fichiers avec mon PC si NetBSD était mon système d'exploitation de bureau. J'ai découvert la commande vndconfig permettant de configurer un périphérique de disque virtuel (dont les fonctionnalités sont globalement comparables à celles d'un périphérique boucle Linux), mais je n'ai trouvé aucune option pour configurer les décalages de partition. 7.2 Échange de fichiers entre les systèmes d'exploitation AmigaOS et NetBSD Comme pour ma configuration disque dur Amiga Workbench 3.1/Linux, je souhaite également pouvoir échanger des fichiers entre mes installations AmigaOS et NetBSD sur le même système. NetBSD sur Amiga gère nativement le montage des partitions du système de fichiers FFS. Par exemple, si je dispose d'une telle partition, je peux la monter automatiquement au démarrage en ajoutant la ligne suivante au fichier "/etc/fstab" :
Comme pour mon autre carte CompactFlash, j'ai opté pour SmartFileSystem (SFS) plutôt que pour FastFileSystem, pour les mêmes raisons : j'ai besoin d'un système de fichiers plus adapté aux disques durs de grande capacité. Malheureusement, il semble que NetBSD ne permette pas de lire ni d'écrire sur les partitions SmartFileSystem. Cependant, l'inverse est possible : un gestionnaire Berkeley FastFileSystem pour AmigaOS existe et offre une gestion de la lecture et de l'écriture. L'installation de ce paquet est similaire à celle du gestionnaire Ext2 décrite dans l'article précédent :
![]() 8. Exécution de NetBSD/Amiga dans FS-UAE Dans mon précédent article, j'ai démontré qu'il est possible d'installer et d'exécuter Linux sur FS-UAE, un émulateur Amiga. L'utilisation d'un émulateur est pratique pour expérimenter et exécuter des logiciels plus rapidement que sur la machine d'origine. Pour exécuter un autre système d'exploitation, il faut modifier la configuration de FS-UAE dans un éditeur de texte et la configurer pour utiliser un fichier disque. De plus, il est nécessaire d'activer l'émulation IDE pour le disque dur et le lecteur CD-ROM.
Les propriétés de configuration ci-dessus spécifient les éléments suivants :
Comme pour mon installation Linux, je peux également insérer la carte CompactFlash du lecteur CF2IDE de mon Amiga (contenant l'installation de NetBSD) dans le lecteur de cartes de mon PC et l'utiliser avec FS-UAE. Je dois modifier les paramètres du disque dur pour utiliser le fichier de périphérique correspondant à mon lecteur de cartes.
Dans l'extrait de code ci-dessus, "/dev/sdb" correspond au fichier de périphérique représentant le lecteur de cartes. Je dois également m'assurer que ce fichier est accessible à un utilisateur non privilégié en lui attribuant des permissions publiques, en exécutant la commande suivante (en tant qu'utilisateur root) :
Conclusion Dans cet article, j'ai expliqué comment j'utilise NetBSD sur mon Amiga 4000. J'espère que ces informations seront utiles à tous ceux qui envisagent d'installer NetBSD sur leur Amiga. Comparé à Linux sur Amiga, NetBSD présente des avantages et des inconvénients. Je trouve la page d'accueil et la documentation du portage Amiga de NetBSD d'excellente qualité : tous les éléments nécessaires sont facilement accessibles et la procédure d'installation est bien documentée. De plus, NetBSD 10.1 (sorti en décembre 2024) est nettement plus récent que Debian 3.1r8 (sorti en 2008) et propose des logiciels plus modernes. Par ailleurs, le système X Window de NetBSD gère le jeu de composants Amiga pour l'affichage graphique, contrairement à la version Debian Linux. NetBSD présente également des inconvénients. Le principal est, à mon avis, sa lenteur : il est considérablement plus lent que mon installation Debian Linux. Ceci est probablement dû au fait que les logiciels modernes sont plus lents que les anciens, et non à une supériorité de Linux sur NetBSD en termes de vitesse. Il est fort probable que si je parvenais à faire fonctionner une distribution Linux moderne sur mon Amiga, elle serait également bien plus lente que Debian 3.1r8. Autre inconvénient : les options de contrôle du tampon de trame sont beaucoup plus limitées sous NetBSD. Sous Linux, je peux facilement sélectionner le périphérique de sortie vidéo, les résolutions et les modes de couleur au démarrage et en cours d'exécution. Sous NetBSD, ces options sont bien plus restreintes. Outre ces différences observables sur Amiga entre NetBSD et Linux, il existe de nombreuses autres différences entre NetBSD et Debian Linux, mais je ne les aborderai pas dans cet article, car il ne s'agit pas d'un débat NetBSD vs Linux. Enfin, je tiens à saluer les efforts des développeurs de NetBSD pour améliorer leur portage Amiga. NetBSD est tout à fait utilisable et utile sur Amiga. Il serait souhaitable que certains aspects soient encore améliorés.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||