Noyau vs ROOTFS

3

Je pense que je sais mais je suis un peu confus.

Quelqu'un peut-il s'il vous plaît expliquer la différence entre Kernel et rootfs dans un environnement système embarqué?

user51235
la source
Le noyau est un code exécutable résidant dans la RAM. Le rootfs est le système de fichiers essentiel du système (initialement un ramfs ou tmpfs), mais est plus souvent utilisé pour faire référence à une collection de fichiers dans un système de fichiers d'un type quelconque (par exemple, ramfs, ext2 / 3/4, jffs2, ubifs) consistent en des programmes d’initialisation et d’espace utilisateur essentiels. Les deux sont nécessaires pour démarrer un système Linux.
sawdust

Réponses:

1

rootfs est juste un ramfs / tmpfs impossibles à monter . Le noyau est un morceau de code qui vit sur un système de fichiers réel.

Ignacio Vazquez-Abrams
la source
Votre première phrase implique que le rootfs doit être résident de la mémoire. C'est faux.
sawdust
@sciure: "Rootfs est une instance spéciale de ramfs (ou de tmpfs, si cela est activé) ..." Vous pouvez faire pivoter un autre système de fichiers racine dessus, mais l'entité appelée "rootfs" est un système de fichiers résidant en mémoire.
Ignacio Vazquez-Abrams
Mais l’utilisation la plus courante et la plus répandue de "rootfs" (par exemple, créer un rootfs ou installer un rootfs dans NAND) fait référence au contenu d’un système de fichiers essentiel, plutôt qu’à cette instance spéciale. Le paramètre de ligne de commande du noyau "root =" pour spécifier le "système de fichiers racine" contribue à perpétuer cette (mauvaise) utilisation.
sawdust
"Le noyau est un morceau de code qui vit sur un système de fichiers réel." - Il n'est pas nécessaire que le noyau soit stocké dans un système de fichiers. Le programme de démarrage intégré le plus largement utilisé, U-Boot, peut accéder à la mémoire flash brute. La convention pour Atmel ARM est de stocker le noyau Linux en flash brut: at91.com/linux4sam/bin/view/Linux4SAM/… IIRC Allwinner peut également être similaire.
sawdust
1

rootfs est un ramfs non-démontable. (Pas les tmpfs.) Le noyau est un bloc de code qui peut initialement vivre où vous le souhaitez, votre chargeur de démarrage peut le charger sur le réseau, puis en mémoire. Un système de fichiers peut ne pas être réellement impliqué.

user55078
la source