Maison >Tutoriel système >Linux >Apprenez-vous étape par étape comment créer des rootfs Linux
Comme nous le savons tous, dans l'environnement Linux, tout est un fichier et les fichiers peuvent tout représenter. Le système de fichiers est un ensemble de ces composants communs. Dans le domaine de l'embarqué, les rootfs construits sur la base de busybox sont souvent utilisés pour créer des systèmes de fichiers.
busybox existe depuis près de 20 ans et est désormais devenu l'outil de création de rootfs principal dans l'industrie de l'embarqué.
Le code de Busybox est entièrement open source. Vous pouvez accéder au site officiel et cliquer sur « Télécharger la source » sous « Get BusyBox » pour accéder à l'interface de téléchargement du code source.
«
Lien du site officiel :
https://busybox.net/”
Après avoir téléchargé le code source, copiez le code source dans l'environnement de compilation. Busybox doit être configuré avant la compilation, ce qui implique principalement trois aspects :
1. Paramètres de la chaîne d'outils de compilation
2. Paramètre du mode compilation
3. Fonctions prises en charge par le système de fichiers
Les deux premiers éléments doivent être complétés, tandis que le troisième point est formulé en fonction des besoins propres de l'utilisateur.
Exécutez make menuconfig pour accéder à l'interface de configuration.
Paramètres de la chaîne d'outils de compilation
La chaîne d'outils de compilation croisée définie doit être la même que la chaîne d'outils utilisée lors de la compilation du noyau. Par exemple, si la chaîne d'outils de compilation croisée est définie sur arm-linux-gnueabi-, entrez les options de construction pour la définir. .
Bien sûr, vous pouvez également saisir le fichier Makefile dans le répertoire racine pour modifier la chaîne d'outils de compilation croisée et les informations de plate-forme correspondantes.
Paramètre du mode compilation
Définissez si le fichier image compilé est statique ou dynamique. S'il est compilé dynamiquement, vous devez copier manuellement la bibliothèque lib sous la chaîne d'outils de compilation croisée dans le dossier _install final, et vice versa. La configuration de la compilation statique est la suivante. Vous pouvez voir que l'invite entre parenthèses n'inclut pas les bibliothèques partagées. Si cette option n'est pas activée, la méthode de compilation sera dynamique.
**Définir les fonctions prises en charge par rootfs
**
busybox peut prendre en charge des centaines de lignes de commande et d'autres fonctions, qui peuvent être augmentées ou diminuées selon vos propres besoins. Par exemple, si vous ajoutez une ligne de commande devmem, cochez la case d'activation correspondante.
Compile
Après avoir exécuté make et make install, le dossier _install sera généré dans le chemin de compilation, qui contient bin, sbin, usr et d'autres fichiers. Vérifiez la commande devmem qui vient d'être ajoutée et constatez qu'elle a été compilée.
À ce stade, copiez le _install compilé sous busybox comme cadre de base de rootfs, puis ajoutez les autres composants nécessaires.
Copiez tous les fichiers sous _install et créez les dossiers lib et etc, puis copiez la bibliothèque lib sous la chaîne d'outils de compilation croisée arm-linux-gnueabi dans le dossier lib créé.
Ensuite, créez home, opt, run, sys, var, boot, dev, media, proc, tmp, usr dans l'ordre
Configurer le répertoire etc
Avant de créer le fichier rcS, vous devez créer manuellement le dossier init.d dans le répertoire etc et créer rcS dans le dossier init.d.
À ce stade, exécutez la commande suivante pour empaqueter et générer un rootfs léger.
tar -jcvf rootfs.tar.bz2 *
Utilisez mfgtools pour télécharger le rootfs.tar.bz2 compressé sur mmc, redémarrez le système, vous pouvez voir que le système de fichiers racine créé fonctionne normalement et que la commande devmem que nous avons ajoutée auparavant peut également être exécutée normalement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!