Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] initrd - Disque RAM initialisé au démarrage du système. [size=18] [b]Description[/b] [/size] Le fichier spécial [b]/dev/initrd[/b] est un périphérique bloc en lecture seule. Ce périphérique [b]/dev/initrd[/b] est un disque RAM qui est initialisé par le chargeur du système avant le démarrage du noyau. Ainsi, le noyau peut utiliser le contenu de ce périphérique bloc pour un démarrage en deux phases. Durant la première phase, le noyau démarre et monte la racine du système de fichiers depuis le contenu de [b]/dev/initrd [/b] (par exemple un disque RAM initialisé par le chargeur). Durant la seconde phase, les drivers supplémentaires, et les autres modules sont chargés depuis le périphérique racine initial. Après le chargement de ces modules supplémentaires, une nouvelle racine du système de fichiers est montée à partir d'un périphérique différent. [size=18] [b]Démarrage du systÈme[/b] [/size] Quand il démarre en utilisant [b]initrd[/b], le système procède comme suit:[table][row][col] [/col][col] 1. Le chargeur place une copie du noyau en mémoire, ainsi que le contenu de [b]/dev/initrd[/b]. 2. Au démarrage du noyau, celui-ci décompresse et recopie le contenu du périphérique [b]/dev/initrd[/b] sur le disque virtuel [b]/dev/ram0 [/b] puis libère la mémoire utilisée par [b]/dev/initrd .[/b] 3. Le noyau monte en lecture-écriture le périphérique [b]/dev/ram0 [/b] comme racine initiale du système de fichiers. 4. Si la racine désirée pour le système de fichiers est également celle que l'on vient de monter (par ex. [b]/dev/ram0[/b]), le noyau passe directement à la dernière étape du démarrage. 5. Si un fichier exécutable [b]/linuxrc[/b] est présent sur le système de fichiers racine initial, ce fichier est exécuté avec l'uid 0. (Le fichier [b]/linuxrc[/b] doit avoir la permission d'exécution. Ce peut être n'importe quel exécutable, y compris un shell-script.) 6. Si [b]/linuxrc[/b] n'est pas exécuté ou lorsqu'il se termine, la racine normale du système de fichiers est montée. (Si [b]/linuxrc [/b] se termine en ayant monté d'autres systèmes de fichiers sur la racine initiale, alors le comportement du noyau est [b]INDÉTERMINÉ .[/b] Voir le paragraphe [b]NOTES [/b] pour le comportement effectif.) 7. Si la racine normale dispose d'un répertoire [b]/initrd ,[/b] le périphérique [b]/dev/ram0[/b] est déplacé depuis [b]/ vers /initrd .[/b] Sinon, si le répertoire [b]/initrd[/b] n'existe pas, le périphérique [b]/dev/ram0[/b] est démonté. (Lors du déplacement de [b]/ vers /initrd , /dev/ram0[/b] n'est pas démonté, aussi des processus peuvent continuer à s'exécuter depuis ce périphérique. Si le répertoire [b]/initrd [/b] n'existe pas sur le système de fichiers normal, et si des processus continuent à s'exécuter depuis [b]/dev/ram0 lorsque /linuxrc [/b] se termine, le comportement du noyau est [b]INDÉTERMINÉ .[/b] Voir le paragraphe [b]NOTES [/b] pour le comportement effectif.) 8. La séquence de démarrage habituelle (invocation de [b]/sbin/init )[/b] est alors effectuée depuis le système de fichiers normal. [size=18] [b]Options[/b] [/size] Lorsque l'on utilise [b]initrd ,[/b] les options suivantes du chargeur affectent les opération de démarrage du noyau: [b][i]initrd= nom_de_fichier[/i][/b] [table][row][col] [/col][col]Indique le fichier à charger comme contenu de [b]/dev/initrd .[/b] Pour [b]LOADLIN[/b], il s'agit d'une option en ligne de commande. Pour [b]LILO[/b] il faut utiliser cette commande dans le fichier de configuration [i]/etc/lilo.config[/i]. Le fichier mentionné avec cette option sera typiquement une image compressée par [b]gzip (1),[/b] du système de fichiers.[/col][/row][/table] [b]noinitrd[/b] [table][row][col] [/col][col]Cette option désactive le démarrage en deux étapes. Le noyau se comporte comme si [b]/dev/initrd [/b] n'était pas initialisé. Avec cette option, le contenu de [b]/dev/initrd ,[/b] une fois chargé en mémoire sera préservé. Ce contenu peut alors être n'importe quelle donnée, et pas uniquement une image d'un système de fichiers. Néanmoins, le périphérique [b]/dev/initrd [/b] est en lecture seule, et ne peut être lu qu'une seule fois après le démarrage du système.[/col][/row][/table] [b][i]root= nom_de_périphérique[/i][/b] [table][row][col] [/col][col]Indique le nom du périphérique à utiliser comme racine normale du système de fichiers. Pour [b]LOADLIN[/b], il s'agit d'une option en ligne de commande. Pour [b]LILO[/b] il faut utiliser cette commande dans le fichier de configuration [i]/etc/lilo.config[/i]. Le périphérique indiqué ici doit être montable et contenir un système de fichiers convenable.[/col][/row][/table] [size=18] [b]Modification de la racine du systÈme de fichiers[/b] [/size] Le système de fichiers utilisé comme racine par défaut est celui qui est compilé dans le noyau (ou configuré avec [b]rdev ),[/b] ou celui qui est spécifié par une option du chargeur. Pour accéder à un système de fichiers monté par NFS, il faut utiliser les options de démarrage [b]nfs_root_name et nfs_root_addrs [/b] pour la configuration NFS. Pour plus d'information sur les racines de systèmes de fichiers montées par NFS, consultez le fichier [b]nfsroot.txt ,[/b] dans la documentation du noyau. Pour plus d'informations sur la configuration de la racine du système de fichiers, voyez également les documentations de [b]LILO et LOADLIN .[/b] On peut aussi faire effectuer la modification de la racine normale par l'exécutable [b]/linuxrc .[/b] Pour ce faire, le système [b]/proc[/b] doit être monté. Ensuite, [b]/linuxrc [/b] modifie le périphérique racine en écrivant directement dans les fichiers [b]/proc/sys/kernel/real-root-dev , [/b] [b]/proc/sys/kernel/nfs-root-name , et [/b] [b]/proc/sys/kernel/nfs-root-addrs .[/b] Pour un périphérique physique monté à la racine, le changement s'effectue en écrivant le numéro de périphérique du nouveau système de fichiers dans [b]/proc/sys/kernel/real-root-dev .[/b] Pour un système monté par NFS, la modification se fait en écrivant la configuration NFS dans les fichiers [b]/proc/sys/kernel/nfs-root-name et [/b] [b]/proc/sys/kernel/nfs-root-addrs [/b] puis en inscrivant 0xff (c.-à-d. le numéro de pseudo-périphérique NFS) dans le fichier [b]/proc/sys/kernel/real-root-dev .[/b] Par exemple, la ligne de commande suivant basculerait le périphérique racine normale sur [b]/dev/hdb1 :[/b] .nf echo 0x365 >/proc/sys/kernel/real-root-dev .fi La ligne suivante modifierait le périphérique normal en un répertoire NFS [b]/var/nfsroot [/b] sur un serveur local ayant l'adresse IP 193.8.232.7, ceci sur un système nommé idefix, se trouvant à l'adresse 193.8.232.7: .nf echo /var/nfsroot >/proc/sys/kernel/nfs-root-name echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix >/proc/sys/kernel/nfs-root-addrs echo 255 >/proc/sys/kernel/real-root-dev .fi [size=18] [b]Utilisation[/b] [/size] L'intérêt principal d'implémenter [b]initrd [/b] était de permettre une configuration modulaire du noyau lors de l'installation du système. Un scénario possible d'installation est le suivant:[table][row][col] [/col][col] 1. Le programme de chargement démarre depuis une disquette, ou un autre support, avec un noyau minimal (par exemple les supports pour [b]/dev/ram , /dev/initrd ,[/b] et le système de fichiers ext2). Puis charge [b]/dev/initrd[/b] depuis une version compressée avec gzip d'un système de fichiers initial. 2. L'exécutable [b]/linuxrc [/b] détermine ce qui est nécessaire pour (1) monter le système de fichiers normal (pilotes de périphériques, systèmes de fichiers) et (2) utiliser le support fourni pour la distribution (CD-ROM, réseau, bande magnétique). Cette étape peut être effectué en interrogeant l'utilisateur, en effectuant des tests de détection automatique, ou en utilisant une approche hybride entre les deux. 3. L'exécutable [b]/linuxrc [/b] charge les modules nécessaires depuis le système de fichiers initial. 4. L'exécutable [b]/linuxrc [/b] crée et remplit le système de fichiers racine. (A cet instant, le système de fichiers racine n'est pas nécessairement complet). 5. L'exécutable [b]/linuxrc configure /proc/sys/kernel/real-root-dev,[/b] démonte [b]/proc , [/b] le système de fichiers normal, et tout autre système de fichiers qu'il a éventuellement monté, et se termine. 6. Le noyau monte alors le système de fichiers racine normal. 7. Maintenant que le système de fichiers est accessible, le chargeur peut être installé. 8. Le chargeur est configuré pour installer dans [b]/dev/initrd[/b] un système de fichiers disposant de l'ensemble des modules qui ont été utilisés pour démarrer le système. (par exemple un périphérique comme [b]/dev/ram0 [/b] peut être modifié, puis démonté, et finalement l'image est recopiée depuis [b]/dev/ram0 [/b] vers un fichier.) 9. Le système est maintenant prêt à redémarrer, et les tâches supplémentaires d'installation peuvent être effectuées.[/col][/row][/table] Le principal avantage offert par [b]/dev/initrd [/b] dans ce scénario est de permettre de réutiliser les données de configuration lors du fonctionnement normal du noyau, sans nécessiter de choisir un noyau initial, d'utiliser un gros noyau générique, ou de recompiler le noyau après l'installation. Un second scénario sert à l'installation de Linux sur un réseau constitué de machines configurées différemment. Dans ce cas, il peut être préférable de n'utiliser qu'un nombre minimal de noyaux (voire un seul dans le meilleur des cas), et de ne stocker qu'une quantité la plus faible possible d'information de configuration. Ainsi, on crée un fichier commun contenant tous les modules nécessaires, et seul le fichier [b]/linuxrc ,[/b] ou les fichiers qu'il lance, changent suivant les machines. Un troisième scénario permet de disposer de disques de secours les plus confortables possible. Les informations comme l'emplacement du système de fichiers racines, etc. ne sont pas indispensables lors du démarrage. Le système chargé par [b]/dev/initrd [/b] peut utiliser des menus de dialogue et/ou des détections automatiques suivi de vérification de cohérence du système. Enfin, et c'est peut-être l'usage le plus important, les distributions de Linux sur CD-ROM permettent une installation plus aisée. La distribution peut utiliser directement [b]LOADLIN [/b] pour charger [b]/dev/initrd[/b] depuis le CD-ROM sans avoir besoin de créer de disquettes. La distribution peut également utiliser une disquette de démarrage avec [b]LILO [/b] puis charger un disque ram par l'intermédiaire de [b]/dev/initrd depuis le CD-ROM.[/b] [size=18] [b]Configuration[/b] [/size] [b]/dev/initrd [/b] est un périphérique bloc en lecture-seule, dont le numéro majeur est 1, et le mineur 250. Typiquement, [b]/dev/initrd[/b] appartient à [b]root.disk [/b] et dispose du mode 0400 (lecture uniquement par root). Si votre système Linux n'a pas encore de fichier [b]/dev/initrd ,[/b] vous pouvez le créer en utilisant les commandes suivantes : .nf [b][/b] mknod -m 400 /dev/initrd b 1 250 chown root:disk /dev/initrd .fi Il faut également que les options "disque Ram" et "Disque Ram initial" (par exemple [b]CONFIG_BLK_DEV_RAM=y et CONFIG_BLK_DEV_INITRD=y[/b] ) soient compilées directement dans le noyau Linux pour pouvoir utiliser [b]/dev/initrd .[/b] Lors de l'utilisation de [b]/dev/initrd , [/b] le pilote de disque Ram ne peut pas être chargé en tant que module. [size=18] [b]Fichiers[/b] [/size] [i]/dev/initrd[/i] [b][/b] [i]/dev/ram0[/i] [b][/b] [i]/linuxrc[/i] [b][/b] [i]/initrd[/i] [size=18] [b]Voir aussi[/b] [/size] [b]chown (1),[/b] [b]mknod (1),[/b] [b]ram (4),[/b] [b]freeramdisk (8),[/b] [b]rdev (8),[/b] Le fichier [i]initrd.txt[/i] dans les sources du noyau, la documentation de LILO, celle de LOADLIN, et la documentation SYSLINUX. [size=18] [b]Notes[/b] [/size] 1. Avec le noyau actuel, tout système de fichier reste monté lors du déplacement de [b]/dev/ram0 depuis / vers /initrd ,[/b] et continue à être accessible. Néanmoins, les entrées de [b]/proc/mounts [/b] ne sont pas mises à jour. 2. Avec le noyau actuel, si le répertoire [b]/initrd n'existe pas, alors /dev/ram0 [/b] ne sera PAS complètement démonté si [b]/dev/ram0 [/b] est utilisé par un processus ou si un système de fichiers a été monté dessus. Si [b]/dev/ram0 n'est PAS complètement démonté, [/b] alors [b]/dev/ram0[/b] restera chargé en mémoire. 3. Les utilisateurs de [b]/dev/initrd [/b] ne doivent pas compter sur les comportements décrits dans les deux notes précédentes. Ces comportements peuvent changer dans les versions futures du noyau Linux. [size=18] [b]Auteurs[/b] [/size] Le code du noyau pour le périphérique [b]initrd [/b] a été écrit par Werner Almesberger
et Hans Lermen
. Le code de [b]initrd [/b] a été introduit dans le noyau Linux de base dans la version de développement 1.3.73. [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1998-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?