NixOS on ARM/UEFI/fr: Difference between revisions
Created page with "{{note|Tout prendra son sens lorsque la section ''Obtenir un micrologiciel de plateforme'' sera terminé...}}" |
Updating to match new version of source page |
||
| (22 intermediate revisions by one other user not shown) | |||
| Line 40: | Line 40: | ||
<span id="Getting_a_Platform_Firmware"></span> | <span id="Getting_a_Platform_Firmware"></span> | ||
=== Obtenir un ''micrologiciel de plateforme'' == | <div class="mw-translate-fuzzy"> | ||
== Obtenir un ''micrologiciel de plateforme'' == | |||
</div> | |||
{{expansion|D'avantage de détails et des solutions alternatives seraient appréciés}} | {{expansion|D'avantage de détails et des solutions alternatives seraient appréciés}} | ||
| Line 46: | Line 48: | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
As an opinionated example, you can get started with [https://github.com/Tow-Boot/Tow-Boot Tow-Boot, a ''U-Boot'' distribution], which is intended to make the initial setup a bit easier by abstracting the platform differences so that they do not matter. | As an opinionated example, you can get started with [https://github.com/Tow-Boot/Tow-Boot Tow-Boot, a ''U-Boot'' distribution], which is intended to make the initial setup a bit easier by abstracting the platform differences so that they do not matter. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
Where supported, Nix can be used to build U-boot from its main-line repositories. See [[U-Boot#Building a packaged U-Boot]] for further information. The resulting firmware image can then be flashed to SPI with tools such as <code>flashcp</code> or <code>flashrom</code>, or installed to EMMC/SD card by writing to specific offsets. This is platform specific, refer to [https://github.com/u-boot/u-boot/tree/master/doc/board upstream U-boot documentation for your platform or board]. | |||
</div> | </div> | ||
| Line 75: | Line 81: | ||
{{note|Tout prendra son sens lorsque la section ''Obtenir un micrologiciel de plateforme'' sera terminé...}} | {{note|Tout prendra son sens lorsque la section ''Obtenir un micrologiciel de plateforme'' sera terminé...}} | ||
Si votre ''micrologiciel de plateforme'' se trouve sur le même média que l'image disque d'installation, e.g. écrit sur une carte SD depuis laquelle vous effectuez l'installation, vous devez vous assurer que: | |||
* Vous n'écrasez pas le micrologiciel s'il ne se trouve pas sur une partition. | |||
* | * La table de partition n'est pas réécrite depuis zéro. | ||
* | * Vous ne supprimez pas les partitions existantes du micrologiciel. | ||
* | |||
{{note|Si votre ''micrologiciel de plateforme'' n'est pas protégé par une partition, préférez utiliser une méthode d'installation différente pour votre ''micrologiciel de plateforme'' ou une distribution qui le protège.}} | |||
{{note| | |||
En dehors de ces points, vous pouvez procéder comme vous le feriez d'habitude en créant une partition ESP, FAT32, monter sur <code>/boot/</code>, votre partition rootfs préférée, le swap si vous le souhaitez, etc. | |||
< | <span id="Bootloader_configuration"></span> | ||
==== | ==== Configuration du chargeur de démarrage ==== | ||
Vérifiez que l'implémentation UEFI de votre ''micrologiciel de plateforme'' dispose de variables EFI inscriptible. Toutes les implémentations UEFI ne le permettent pas sur ARM, c'est donc un élément à prendre en compte. Si ce n'est pas le cas, {{Nixos:option|boot.loader.efi.canTouchEfiVariables}} doit être définit sur '''<code>false</code>'''. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
| Line 107: | Line 101: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
{{tip|Tout comme sur <tt>x86_64</tt>, installer [[REFInd|rEFInd]] à l'emplacement de secours (<code>/EFI/BOOT/BOOTAA64.EFI</code>) pourrait s'avérer utile.}} | |||
{{tip| | |||
Cette extrait utilise GRUB2, mais systemd-boot fonctionne également. Comme les variables EFI ne peuvent pas être manipulées, utiliser <code>efiInstallAsRemovable</code> permet l'installation de GRUB2 à l'emplacement de secours. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
| Line 126: | Line 114: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
< | <span id="General_Tips"></span> | ||
=== | === Astuces générales === | ||
Utiliser le dernier noyau disponible est une bonne idée. Le support matériel pour les plateformes ARM étant en constante amélioration, utiliser le dernier noyau plutôt que la "dernière LTS" pourrait être bénéfique… ou pas. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
| Line 142: | Line 125: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
< | <span id="Known_Issues"></span> | ||
== | == Problèmes connus == | ||
< | <span id="Device_Trees"></span> | ||
=== | === Arborescence de périphériques === | ||
À ce jour, il n'y a pas de consensus parmi les distributions Linux à propos de la gestion de l'arborescence des périphériques lors de processus de démarrage UEFI. | |||
La configuration actuelle s'appuie sur le micrologiciel de plateforme pour fournir une arborescence de périphériques appropriée pour le noyau à exécuter. | |||
Il est possible de faire charger une arborescence de périphériques par ''U-Boot'', plus récente par exemple, en plaçaant le dossier dtb d'une construction de noyau à l'emplacement <code>/dtb</code> de l'ESP. ''U-Boot'' chargera automatiquement une arborescence de périphériques selon l'heuristique, qui devrait être la bonne. | |||
En pratique, on ne sait pas dans quelle mesure cela constituerait un réel problème. | |||