NixOS on ARM/fr: Difference between revisions

From NixOS Wiki
Nicolas-goudry (talk | contribs)
Created page with "Ces cartes ne sont pas assurés d'être fonctionnelles."
Nicolas-goudry (talk | contribs)
Created page with "{{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}"
Tags: Mobile edit Mobile web edit
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<div style="font-size: 1.5rem; text-align: center;padding-bottom: 0.5rem;"><strong>NixOS supporte les ARM 64-bit.</strong></div>
<div style="font-size: 1.5rem; text-align: center;padding-bottom: 0.5rem;"><strong>NixOS supporte les ARM 64-bit.</strong></div>


Line 27: Line 28:
L'ordre pour le tableau des périphériques est:
L'ordre pour le tableau des périphériques est:
  * Par ordre alphabétique de nom de constructeur.
  * Par ordre alphabétique de nom de constructeur.
  * Par ordre chronologique de date de publication (les plus anciènnes en premier).
  * Par ordre chronologique de date de publication (les plus anciennes en premier).
-->
-->
<div class="table">
<div class="table">
Line 432: Line 433:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Special_Devices"></span>
==== Special Devices ====
==== Périphériques particuliers ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Il est possible d'émuler la plateforme ARM avec QEMU.
It is possible to emulate an ARM platform with QEMU.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="table">
<div class="table">
{|class="table"
{|class="table"
!width="2%"| Manufacturer
!width="2%"| Constructeur
!width="2%"| Board
!width="2%"| Carte
!width="2%"| SoC
!width="2%"| SoC
!width="2%"| ISA
!width="2%"| ISA
!width="2%"| CPU
!width="2%"| CPU
!width="2%"| RAM
!width="2%"| RAM
!width="2%"| Storage
!width="2%"| Stockage
|-
|-
| QEMU
| QEMU
Line 455: Line 452:
| —
| —
| ARMv7
| ARMv7
| up to 8
| jusqu'à 8
| up to 2 GB
| jusqu'à 2 GB
| Anything QEMU supports
| Tout ce que QEMU supporte
|}
|}
</div>
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
== Installation ==
== Installation ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{main|NixOS_on_ARM/Installation}}
{{main|NixOS_on_ARM/Installation}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Initial_configuration"></span>
== Initial configuration ==
== Configuration initiale ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{main|NixOS_on_ARM/Initial_Configuration}}
{{main|NixOS_on_ARM/Initial_Configuration}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Troubleshooting"></span>
== Troubleshooting ==
== Dépannage ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Bloqué à <code>Starting kernel ...</code> ===
=== Hanging at <code>Starting kernel ...</code> ===
Le démarrage de NixOS peut sembler être bloqué à <code>Starting kernel ...</code>.
When booting a NixOS system, it may look like it is hung at <code>Starting kernel ...</code>.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Il est peu probable que le processus soit bloqué à ce niveau. Ceci est le dernier message affiché par U-Boot. U-Boot affiche en même temps l'écran et la console.
It is unlikely to be hung at this part. This is the last message printed by U-Boot. U-Boot prints to both the display and the console at once.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Pour voir les messages du noyau et la sortie du démarrage, le “<code>stdout</code>” du noyau doit être configuré de manière appropriée.
To view the kernel messages and boot output, the “<code>stdout</code>” of the kernel needs to be configured appropriately.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Le <code>stdout</code> du noyau varie en fonction de la sémantique.
The kernel's <code>stdout</code> will differ depending on semantics.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Lorsqu'il n'y a pas d'argument <code>console=</code> valide dans la ligne de command du noyau, la valeur par défaut utilisée est celle de la propriété <code>/chosen/stdout-path</code> de l'arborescence de périphérique. (Généralement une console de série.)
* When there are no valid <code>console=</code> kernel command-line arguments, it will default to the <code>/chosen/stdout-path</code> device tree property. (Generally a serial console.)
* Quand plusieurs paramètres <code>console=</code> sont présents, le noyau prend seulement en compte la première valeur valide pour <code>stdout</code>.
* When valid <code>console=</code> parameters are present, the kernel picks the leftmost valid one as <code>stdout</code>.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
En d'autre termes, la solution est d'activer le paramètre <code>console=</code> approprié en fonction de la configuration de votre matériel et de votre système.
In other words, the solution may be to enable the appropriate <code>console=</code> parameters according to your hardware configuration and system.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Pour l'écran, ajouter <code>console=tty0</code>.
* For the display, add <code>console=tty0</code>.
* Pour la console de série, référez-vous à la configuration du périphérique cible.
* For a serial console, refer to the target device configuration.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Details_about_the_boot_process"></span>
=== Details about the boot process ===
=== Détails sur le processus de démarrage ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
NixOS peut également être démarré sur ARM avec l'[[NixOS on ARM/UEFI|UEFI]]. La sémantique est généralement la même que sur les autres architectures. Notez que l'utilisation d'arborescence de périphérique au lieu d'ACPI dans le matériel grand public [[NixOS_on_ARM/UEFI#Device_Trees|''peut'' rendre cela légèrement bizarre]].
NixOS can also be booted through [[NixOS on ARM/UEFI|UEFI]] on ARM. The semantics are generally the same as on other architectures. Do note that the common use of Device Tree instead of ACPI in consumer-class hardware [[NixOS_on_ARM/UEFI#Device_Trees|''may'' make this a bit more awkward]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Il est courant pour le matériel de classe SBC que les cartes utilisent U-Boot comme micrologiciel de plateforme et comme chargeur de démarrage. Consultez la section sur [[U-Boot#Utiliser NixOS avec U-Boot|utiliser NixOS avec U-Boot]].
Otherwise, in SBC-class hardware, it is common that boards are generally expected to use U-Boot as the platform firmware and bootloader. See the section about [[U-Boot#Using NixOS with U-Boot|using NixOS with U-Boot]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Binary_caches"></span>
== Binary caches ==
== Caches de binaires ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== AArch64 ===
=== AArch64 ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
L'instance [https://hydra.nixos.org/ officielle Hydra de NixOS] construit un ensemble complet de binaires (disponibles sur https://cache.nixos.org) pour l'architecture AArch64 sur les canaux nixpkgs-unstable et stable.
The [https://hydra.nixos.org/ official NixOS Hydra] instance builds a full set of binaries (available on https://cache.nixos.org) for the AArch64 architecture on the nixpkgs-unstable and stable channels.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== armv6l and armv7l ===
=== armv6l and armv7l ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Par le passé, certains '''''utilisateurs''''' ont fait de leur mieux pour fournir des caches pour ARM 32 bit, cependant aucun n'est actuellement disponible.
Some '''''users''''' have provided best effort caches in the past for 32 bit ARM, but none are currently available.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Getting_Support"></span>
== Getting Support ==
== Obtenir de l'aide ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 554: Line 513:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
N'hésitez pas à poser des questions. Notez cependant que le temps de réponse peut grandement varier en fonction du niveau d'information fournit.
Don't hesitate to ask questions. Note that reply times may vary greatly, depending on the provided information.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Resources"></span>
== Resources ==
== Ressources ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="See_also"></span>
=== See also ===
=== Voir également ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* [[U-Boot]], souvent associé au matériel de type SBC.
* [[U-Boot]], as it is often paired with SBC-class hardware.
* [https://mobile.nixos.org/ Mobile NixOS] qui fournit une sémantique améliorée pour des sémantiques de démarrage non standard.
* [https://mobile.nixos.org/ Mobile NixOS], which provides enhanced semantic around some non-standard boot semantics.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Subpages"></span>
=== Subpages ===
=== Sous-pages ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Ci-dessous une liste des sous-pages du sujet ''NixOS sur ARM''.
The following is a list of all sub-pages of the ''NixOS on ARM'' topic.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}
{{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}
</div>

Latest revision as of 22:21, 12 July 2024

NixOS supporte les ARM 64-bit.

Le niveau de support global d'ARM varie en fonction de l'architecture, des écosystèmes spécifiques et des cartes.

La manière dont ARM est intégré dans NixOS consiste à créer des constructions génériques de premier ordre. Cela veut dire qu'à partir du moment où une carte est supportée en amont par le noyau et le micrologiciel de plateforme, NixOS est censé fonctionner sur ces cartes dès lors qu'ils sont mis à jour.

Il est néanmoins possible, si nécessaire, de construire et utiliser un micrologiciel de plateforme et un noyau personnalisés pour des cartes spécifiques[référence nécessaire].

À ce jour (début 2024) seul AArch64 dispose d'un support complet en amont. Ceci dit, cela ne veut pas dire qu'armv6l ou armv7l sont ignorés pour autant, des corrections sont développées et approuvées au besoin. Ce qui fait défaut sont le support et la construction de binaires. Au moment de l'écriture de cet article, il n'y a pas de caches disponibles pour armv6l ou armv7l.

Pour les liens vers les images disque, incluant les installations UEFI dirigez-vous vers la page d'installation.

Périphériques supportés

Légende du tableau:

Périphériques supportés en amont (NixOS)

NixOS supporte ces cartes d'architecture AArch64 sur les canaux nixpkgs-unstable et stable.

Le support de ces cartes est le même que celui fournit par les distributions Linux standard.

Constructeur Carte SoC ISA CPU RAM Stockage
Raspberry Pi Foundation Raspberry Pi 3 Broadcom BCM2837 AArch64 / ARMv7 4× Cortex-A53 @ 1.2 - 1.4 GHz 1 GB SD/microSD
Raspberry Pi Foundation Raspberry Pi 4 Broadcom BCM2711 AArch64 / ARMv7 4× Cortex-A72 @ 1.5 - 1.8 GHz 1-8 GB microSD, eMMC

Périphériques supportés par la communauté

Ces cartes ne sont pas assurés d'être fonctionnelles.

The baseline support level expected is “Just as much as mainline Linux and U-Boot supports them”, except if specified otherwise.

Manufacturer Board SoC ISA CPU RAM Storage
Apple Apple Silicon Macs M1/M1 Pro/M1 Max AArch64 NVMe
ASUS Tinker Board Rockchip RK3288 ARMv7 4× Cortex-A17 2 GB microSD
Banana Pi Banana Pi Allwinner A20 ARMv7 2× Cortex-A7 1 GB SD, SATA
Banana Pi M64 Banana Pi M64 Allwinner A64 AArch64 4× Cortex-A53 2 GB microSD, 8GB eMMc
Banana Pi BPI-M5 Banana Pi BPI-M5 Amlogic S905X3 AArch64 4× Cortex-A55 4 GB LPDDR4 microSD, 16G eMMC
BeagleBoard.org BeagleBone Black TI AM335x (src) ARMv7 1× Cortex-A8 @ 1 GHz 512 MB 4 GB eMMC, microSD
Firefly AIO-3399C Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 2/4 GB 8/16 GB eMMC, microSD
FriendlyElec NanoPC-T4 Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 4 GB 16 GB eMMC, microSD, NVMe
FriendlyElec NanoPi-M4 Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 4 GB optional eMMC, microSD
FriendlyElec NanoPi-R6C Rockchip RK3588S AArch64 4× ARM Cortex-A76 @ 2.4 GHz, 4× Cortex-A55 @ 1.8 Ghz 4 GB / 8 GB optional eMMC, microSD, NVMe
Hardkernel ODROID-HC1 & ODROID-HC2 Samsung Exynos 5422 ARMv7 4× Cortex-A15 @ 2GHz, 4× Cortex-A7 @ 1.4GHz 2 GB microSD
Hardkernel ODROID-C2 Amlogic S905 AArch64 4× Cortex-A53 @ 1.5GHz 2 GB eMMC, microSD
Hardkernel ODROID-HC4 Amlogic S905X3 AArch64 4× Cortex-A55 @ 1.8GHz 4 GB microSD, SATA
Kosagi Kosagi Novena i.MX6 ARMv7 4× Cortex-A9 @ 1.2 GHz 4 GB microSD, SATA
Libre Computer ROC-RK3399-PC Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 4 GB eMMC, microSD, NVMe
Libre Computer ROC-RK3328-CC Rockchip RK3328 AArch64 4× Cortex-A53 @ 1.4GHz 4 GB eMMC, microSD
Libre Computer AML-S905X-CC-V2 Amlogic S905X AArch64 4× Cortex-A53 @ 1.512 GHz 1/2GB eMMC, microSD
Linksprite pcDuino3 Nano Allwinner A20 ARMv7 2× Cortex-A7 @ 1 GHz 1 GB 4 GB NAND, microSD, SATA
NVIDIA Jetson TK1 Tegra K1/T124 ARMv7 4× Cortex-A15 @ 2.3 GHz 2 GB 16 GB eMMC, SD, SATA
NXP i.MX 8M Plus EVK i.MX 8M Plus AArch64 4× Cortex-A53 @ 1.8 Ghz 6 GB 32 GB eMMC, microSD
NXP i.MX 8M Quad EVK i.MX 8M Quad AArch64 4× Cortex-A53 @ 1.5 Ghz + 1× Cortex-M4 3 GB 16 GB eMMC, microSD
OLIMEX Teres-A64 AllWinner A64 AArch64 4× Cortex-A53 @ 1.1 GHz 2GB 16 GB eMMC, microSD
Orange Pi Orange Pi One Allwinner H3 ARMv7 4× Cortex-A7 @ 1.2 GHz 512 MB microSD
Orange Pi Orange Pi PC Allwinner H3 ARMv7 4× Cortex-A7 @ 1.6 GHz 1 GB SD/microSD
Orange Pi Orange Pi Zero Plus2 (H5) Allwinner H5 AArch64 4× Cortex-A53 @ 1.2 GHz 1 GB SD/microSD + 8GB eMMC
Orange Pi Orange Pi Zero2 (H616) Allwinner H616 AArch64 4× Cortex-A53 @ 1.2 GHz 1 GB SD/microSD + 2MB SPI Flash
Orange Pi Orange Pi R1 Plus LTS Rockchip RK3328 AArch64 4× Cortex-A53 @ 1.5 GHz 1 GB microSD
Orange Pi Orange Pi 5 Rockchip RK3588s AArch64 4× Cortex-A76 @ 2.4GHz, 4×Cortex-A55 @ 1.8 GHz 4/8/16 GB microSD, NVMe
Orange Pi Orange Pi 5 Plus Rockchip RK3588 AArch64 4× Cortex-A76 @ 2.4GHz, 4×Cortex-A55 @ 1.8 GHz 4/8/16 GB eMMC, microSD, NVMe
PINE64 PINE A64-LTS Allwinner R18 AArch64 4× Cortex-A53 @ ? GHz 2 GB microSD & eMMC
PINE64 Pinebook Allwinner A64 AArch64 4× Cortex-A53 @ ? Ghz 2 GB microSD & eMMC
PINE64 Pinebook Pro Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 4 GB microSD & eMMC
PINE64 ROCK64 Rockchip RK3328 AArch64 4× Cortex-A53 @ 1.5 GHz 1/2/4 GB microSD/eMMC
PINE64 ROCKPro64 Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 2/4 GB microSD/eMMC
Clockworkpi uConsole A06 Rockchip RK3399 AArch64 2× Cortex-A72 @ 2.0 GHz, 4× Cortex-A53 @ 1.5 Ghz 4 GB microSD
Radxa ROCK5 Model B Rockchip RK3588 AArch64 4× Cortex-A76 @ 2.4GHz, 4×Cortex-A55 @ 1.8 GHz 4/8/16 GB eMMC, microSD, NVMe
Radxa ROCK5 Model A Rockchip RK3588s AArch64 4× Cortex-A76 @ 2.4GHz, 4×Cortex-A55 @ 1.8 GHz 4/8/16 GB eMMC, microSD, NVMe
Raspberry Pi Foundation Raspberry Pi Broadcom BCM2835 ARMv6 1 × ARM1176 @ 700 MHz 256 MB / 512 MB SD/microSD
Raspberry Pi Foundation Raspberry Pi 2 Broadcom BCM2836 ARMv7 4× Cortex-A7 @ 900 MHz 1 GB SD/microSD
Raspberry Pi Foundation Raspberry Pi 3 Broadcom BCM2837 AArch64 / ARMv7 4× Cortex-A53 @ 1.2 GHz 1 GB SD/microSD
Raspberry Pi Foundation Raspberry Pi 4 Broadcom BCM2711 AArch64 / ARMv7 4× Cortex-A53 @ 1.5 GHz 1-8 GB microSD
Raspberry Pi Foundation Raspberry Pi 5 Broadcom BCM2712 AArch64 4× Cortex-A76 @ 2.4 GHz 4-8 GB microSD
Toshiba AC100 (mini laptop) Tegra 2 250 (T20) ARMv7 2× Cortex-A9 @ 1 GHz 512 MB 8­­–32 GB eMMC, SD
Wandboard Wandboard Solo/Dual/Quad Freescale i.MX6 ARMv7 1×/2×/4× Cortex-A9 @ 1000 MHz 512 MB / 1 GB / 2 GB microSD, SATA

Périphériques particuliers

Il est possible d'émuler la plateforme ARM avec QEMU.

Constructeur Carte SoC ISA CPU RAM Stockage
QEMU QEMU ARMv7 jusqu'à 8 jusqu'à 2 GB Tout ce que QEMU supporte

Installation

Configuration initiale

Dépannage

Bloqué à Starting kernel ...

Le démarrage de NixOS peut sembler être bloqué à Starting kernel ....

Il est peu probable que le processus soit bloqué à ce niveau. Ceci est le dernier message affiché par U-Boot. U-Boot affiche en même temps l'écran et la console.

Pour voir les messages du noyau et la sortie du démarrage, le “stdout” du noyau doit être configuré de manière appropriée.

Le stdout du noyau varie en fonction de la sémantique.

  • Lorsqu'il n'y a pas d'argument console= valide dans la ligne de command du noyau, la valeur par défaut utilisée est celle de la propriété /chosen/stdout-path de l'arborescence de périphérique. (Généralement une console de série.)
  • Quand plusieurs paramètres console= sont présents, le noyau prend seulement en compte la première valeur valide pour stdout.

En d'autre termes, la solution est d'activer le paramètre console= approprié en fonction de la configuration de votre matériel et de votre système.

  • Pour l'écran, ajouter console=tty0.
  • Pour la console de série, référez-vous à la configuration du périphérique cible.

Détails sur le processus de démarrage

NixOS peut également être démarré sur ARM avec l'UEFI. La sémantique est généralement la même que sur les autres architectures. Notez que l'utilisation d'arborescence de périphérique au lieu d'ACPI dans le matériel grand public peut rendre cela légèrement bizarre.

Il est courant pour le matériel de classe SBC que les cartes utilisent U-Boot comme micrologiciel de plateforme et comme chargeur de démarrage. Consultez la section sur utiliser NixOS avec U-Boot.

Caches de binaires

AArch64

L'instance officielle Hydra de NixOS construit un ensemble complet de binaires (disponibles sur https://cache.nixos.org) pour l'architecture AArch64 sur les canaux nixpkgs-unstable et stable.

armv6l and armv7l

Par le passé, certains utilisateurs ont fait de leur mieux pour fournir des caches pour ARM 32 bit, cependant aucun n'est actuellement disponible.

Obtenir de l'aide

There is a dedicated room for the upstream NixOS effort on Matrix, #nixos-on-arm:nixos.org.

N'hésitez pas à poser des questions. Notez cependant que le temps de réponse peut grandement varier en fonction du niveau d'information fournit.

Ressources

Voir également

  • U-Boot, souvent associé au matériel de type SBC.
  • Mobile NixOS qui fournit une sémantique améliorée pour des sémantiques de démarrage non standard.

Sous-pages

Ci-dessous une liste des sous-pages du sujet NixOS sur ARM.