Maison >Tutoriel système >Linux >Apprenez-vous étape par étape comment créer des rootfs Linux

Apprenez-vous étape par étape comment créer des rootfs Linux

王林
王林avant
2024-02-05 15:51:16686parcourir

aperçu de Busybox

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/

手把手教你构建linux rootfs

2. Configuration et compilation de busybox

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.

手把手教你构建linux rootfs

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. . 手把手教你构建linux rootfs

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. 手把手教你构建linux rootfs

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. 手把手教你构建linux rootfs

**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.

手把手教你构建linux rootfs手把手教你构建linux rootfs

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. 手把手教你构建linux rootfs

À ce stade, copiez le _install compilé sous busybox comme cadre de base de rootfs, puis ajoutez les autres composants nécessaires.

3. Construire des rootfs

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éé.

手把手教你构建linux rootfs

Ensuite, créez home, opt, run, sys, var, boot, dev, media, proc, tmp, usr dans l'ordre

手把手教你构建linux rootfs

Configurer le répertoire etc

  • Créer un fichier fstab
手把手教你构建linux rootfs
  • Créer un fichier inittab
手把手教你构建linux rootfs
  • Créer un fichier rcS

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.

手把手教你构建linux rootfs

À ce stade, exécutez la commande suivante pour empaqueter et générer un rootfs léger.

tar -jcvf rootfs.tar.bz2 *
手把手教你构建linux rootfs

4. Vérification du système de fichiers

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.

手把手教你构建linux rootfs

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Pilote Linux PWMArticle suivant:Pilote Linux PWM