From 01714b8d717c5ad608adba37a67306aa55e00702 Mon Sep 17 00:00:00 2001 From: Jybz Date: Fri, 4 Oct 2019 18:58:31 +0000 Subject: [PATCH] Improvments on README.md --- README.md | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 79 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 96d259c..b689e06 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,47 @@ Des scripts sont disponibles dans le dossier "tools", ils sont copié dans /usr/ ### Premier lancement de l'image sur le raspberry pi : * lancer drakkeyboard afin de configurer le clavier -* si vous avez besoin d'un gestionnaire graphique, lancer le script: -install_graphical.sh ( xfce, lxqt, plasma, ...) voir les métapaquetages disponibles dans "Environnement graphique" dans le gestionnaire de logiciels. +* si vous avez besoin d'un gestionnaire graphique, lancer le script : + install_graphical.sh ( xfce, lxqt, plasma, ...) voir les métapaquetages disponibles dans "Environnement graphique" dans le gestionnaire de logiciels. + +### Ajouter une nouvelle plateforme : +Pour ajouter une nouvelle plateforme, il faut le dossier au nom du matériel dans le dossier platforms contenant le fichier mageia4arm.cfg comprennant les informations relatif à la distribution Mageia, le fichier second_stage_install.sh qui vient installer le système, le fichier specialFunctions.sh qui implémentes les fonctions pour affiner l'installation à la plateforme et extlinux.conf. + +#### mageia4arm.cfg +Un modèle est présent à la source de ce projet. Il contient les variables nécessaire à l'installation de Mageia, comme la version, l'architecture, le mirroir, les mots de passes etc. + +#### second_stage_install.sh +Ce script est lancé avec chroot, ainsi nous pouvons exécuter des opérations personnalisées comme l'installation de paquets non présents des dépots de Mageia. Ce script vient aussi définir les groupes de fichiers. + +#### specialFunctions.sh +Ce script complémente le processus d'installation pour des éléments spécifiques à la plateformes, comme le partitionnement, la manière de mettre en place le chargeur de démarrage, le téléchargements de fichiers externe, etc. +Le script doit implémenter ces quatres fonctions : +``` +function preImgCreation() { + #Possibilité de télécharger des éléments supplémentaires ici. + return 0 +} +function postPrepareChroot() { + #Possibilité de copier des fichiers spécifique à la plateforme avant de lancer le script second_stage_install.sh. + return 0 +} +function burningBootloader() { + #Plusieurs méthodes sont possibles pour flasher le chargeur de démarrage, et dépendent de la plateforme. + return 0 +} +function copyingCustomSystem() { + #Possibilité de copier des fichiers dans le système monté. + return 0 +} +``` +Si l'une de ces fonctions ne retourne pas 0, la création de l'image échoue. + +#### extlinux.conf +??? + +#### Autres +Bien sûr, d'autres fichiers sont nécessaires. Il faut avoir l'arborescence du matériel (soit DTB/DTS, soit script.bin), le chargeur de démarrage spécifique à la plateforme ainsi qu'un noyau compatible avec l'architecture de la plateforme. - # English ### Description: @@ -47,4 +84,42 @@ Some scripts are available in directory "tools". they are copied in /usr/local/b ### First launch of the image on raspberry pi: * launch drakkeyboard to configure keyboard layout. * if you need a graphical environment, launch the script : -install_graphical.sh ( xfce, lxqt, plasma, ...), see "Graphical environment" in the Mageia application manager meta packages. + install_graphical.sh ( xfce, lxqt, plasma, ...), see "Graphical environment" in the Mageia application manager meta packages. + +### Adding a new platform: +To add a new platform, a new folder needs to be created in the platforms directory with the name of the platform containing the mageia4arm.cfg configuration file about the Mageia distribution itself, the second_stage_install.sh script which install the system, the specialFunctions.sh script which implements functions in order to fit the platform and the extlinux.conf file. + +#### mageia4arm.cfg +A template file is located in the root of the project. It contains all necessary variables for the installation of Mageia, as the version, architecture, mirroir, password etc. + +#### second_stage_install.sh +This script is launched with chroot, then we can execute custom operation as installing packages that are not from Mageia.org. This script also defines some files groups. + +#### specialFunctions.sh +This script add into the installation process some elements specific to the platform, as the partitionning, the fashon to set the bootloader, downloading external files, etc. +It must implement the four next functons : +``` +function preImgCreation() { + #Here it is possible to download external file. + return 0 +} +function postPrepareChroot() { + #Possibility to copy/paste platform related files before to launch the second_stage_install.sh script. + return 0 +} +function burningBootloader() { + #There are several methods to flash the bootloader and depend on the platform. + return 0 +} +function copyingCustomSystem() { + #It is possible to copy files into the mounted system.= + return 0 +} +``` +If one of this functions does not return 0, the process is stoped. + +#### extlinux.conf +??? + +#### others +Of course, other files are necessary. The device tree (DTB/DTS or script.bin) is necessary, a specific bootloader for the platform and a compatible kernel with that architecture.