Bonjour Nal<
Tu voudra bien m'excuser pour ce journal ayant un intĂ©rĂȘt tout relatif, pour ne pas dire bien faible, mais une de mes "marottes" c'est le boot.
Qui ne s'est jamais amusé à se faire ses propres initramfs ? Qui ne s'est jamais amusé à coller tout son systÚme dans un initramfs ? Qui ne s'est jamais amusé à compiler un noyau monolithique / sans module / tout en dur juste pour sa machine sans rien d'autre ? Trois choses bien différentes, seulement liées par l'amusement avec son pc, et à l'initrd. Ces amusements ont leurs jours compté aujourd'hui, car « initrd is dying ».
Sur Fedora (arch aussi ??) il n'est plus nécessaire. Sans rien d'autre à faire que de commenter la ligne correspondante dans grub. Rien d'autre. Vraiment ? Oui, à certaines conditions : ne pas utiliser LVM (ou chiffrement ou raid logiciel) ne pas utiliser les UUID pour les partitions mais faire appeler la partition root par son nom sdx. Mais encore ? C'est tout.
Exemple de /proc/cmdline :
BOOT_IMAGE=/vmlinuz-4.10.13-200.fc25.x86_64 root=/dev/sda3 rootfstype=ext4 ro pcie_aspm=off elevator=deadline rhgb LANG=fr_FR.UTF-8 vt.global_cursor_default=0 rd.udev.log-priority=0 quiet rd.systemd.show_status=false
- root= non pas un uuid mais simplement son nom en sdx
- rootfstype = pour lui dire qu'il s'agit de ce fs (remplace par le tiens, xfs, ext3, f2fs? ... que sais je)
- quiet (suivi de) rd.systemd.show_status = j'aime pas voir ces logs
- vt.global_cursor_default = j'aime pas voir un curseur qui clignote tout seul en haut à gauche de l'écran pendant le boot, quant aucune log ne s'affichent au boot.
Et bien sûr un timeout=0 pour grub, j'aime pas voir grub. Enfin, il suffit de commenter la ligne "initrd" (ou initrdefi) dans la configuration de grub.
Rebootez, et voilà vous avez tout cassé. Ou pas.
# .
PostĂ© par Sufflope (site web personnel) . ĂvaluĂ© Ă 8.
Beurk.
[^] # Re: .
PostĂ© par Octabrain . ĂvaluĂ© Ă 10.
Ouais, du coup initrd n'est pas dying du tout, merci pour le titre putaclick...
[^] # Re: .
PostĂ© par SĂ©bastien Koechlin . ĂvaluĂ© Ă 8.
Pareil, je ne vois pas trop l'intĂ©rĂȘt de se passer de LVM.
Choisir entre
- un systĂšme qui impose des partitions fixĂ©es en taille et en position Ă lâinstallation du disque; et
- un systÚme qui permet d'agrandir, réduire, déplacer vers un autre disque, faire des snapshots, installer plusieurs distributions et plusieurs versions pour un coût négligeable,
ça fait longtemps que j'ai choisi.
[^] # Re: .
PostĂ© par Marotte â§ . ĂvaluĂ© Ă 6.
Quand je repense au temps quâon passait Ă dĂ©finir le partionnement avant LVM...
Maintenant je mets je le minimum partout et je garde de lâespace LVM libre pour agrandir lĂ oĂč ça va coincer.
MĂȘme pour une seule distribution et sans mĂȘme considĂ©rer la possibilitĂ© de faire des snapshots, câest infiniment plus pratique avec LVM.
Longue vie Ă initrd !
[^] # Re: .
PostĂ© par Anonyme . ĂvaluĂ© Ă 3. DerniĂšre modification le 04 mai 2017 Ă 12:57.
LVM perd grandement de son intĂ©rĂȘt avec une mono-partition ou je me trompe ?
Ăa fait des annĂ©es que je ne fais plus de partition sĂ©parĂ©es (ni sur serveur/VM, ni sur destkop/laptop), jâai du mal Ă voir lâavantage de LVM.
[^] # Re: .
PostĂ© par đČ Tanguy Ortolo (site web personnel) . ĂvaluĂ© Ă 5.
La possibilité de changer de disque dur en continuant à utiliser la machine, c'est pas mal comme fonctionnalité par exemple.
[^] # Re: .
PostĂ© par barmic . ĂvaluĂ© Ă 2.
Pour changer de disque, sur machine personnelle alors... :
Le tout pour gagner le temps de la copie soit quelques dizaines de minutes chez moi \o/
Sur serveur, je préfÚre amplement investir du temps dans un gestionnaire de conf et des backups, ça couvre un champ bien plus vaste d'usages. Si tu ne t'autorise pas à avoir 1h d'indisponibilité c'est que tu as redondé ton systÚme sur 2 machines.
Donc oui c'est joli comme fonctionnalité, mais l'utilité est plus faible que ce que l'esthétisme technique ne le fait croire.
La gestion de volume garde beaucoup d'intĂ©rĂȘt pour avoir des volumes qui soient plus grands que la taille des disques et pour faire des snaphsots.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: .
PostĂ© par đČ Tanguy Ortolo (site web personnel) . ĂvaluĂ© Ă 4.
Pas tout à fait, l'opération de déplacement des données par LVM est plus simple que de formater et de rsyncer ou autre.
[^] # Re: .
PostĂ© par barmic . ĂvaluĂ© Ă 3.
Oui mais tu dois de toute maniÚre pouvoir gérer l'autre et la tester le plus réguliÚrement possible.
Pour gĂ©rer des SLA (Service-level agreement), il y a d'autres techniques plus puissantes car elles sont capables de continuer Ă faire vivre les donnĂ©es, mĂȘme si la machine physique disparaĂźt.
Au final LVM me semble ĂȘtre devenu une petite solution quand on connaĂźt depuis une certain temps et quand on a pas non plus de trĂšs grosses contraintes genre SLA.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: .
PostĂ© par gouttegd . ĂvaluĂ© Ă 3.
Un exemple parmi dâautres : je monte une machine avec un disque dur initial de 300 Gio, au bout de quelques annĂ©es dâutilisation je mâaperçois que la place commence Ă me manquer (jâutilise cette machine notamment comme systĂšme de stockage), jâachĂšte un nouveau disque de 1 Tio que jâinstalle dans la machine (Ă cĂŽtĂ© du premier disque) et jâĂ©tends mon volume logique sur le nouveau disque. Temps total passĂ© Ă la manĆuvre : 5 minutes (arrĂȘter la machine, ouvrir le boĂźtier, brancher le disque, redĂ©marrer, saisir les trois commandes appropriĂ©es pour ajouter le nouveau disque au groupe de volumes et Ă©tendre le volume logique).
[^] # Re: .
PostĂ© par gouttegd . ĂvaluĂ© Ă 4.
Et au bout dâencore quelques annĂ©es : zut je vais de nouveau bientĂŽt ĂȘtre Ă lâĂ©troit, et en plus je ne peux brancher que deux disques sur cette machine, mais que faire ?
JâachĂšte un nouveau disque de 2 Tio, je mâassure (avec pvmove) que toutes les donnĂ©es de mon volume logique sont sur le second disque (celui de 1 Tio), jâenlĂšve le premier disque (dĂ©sormais vide, donc) et je le remplace par le nouveau, sur lequel jâĂ©tends Ă nouveau le volume logique...
[^] # Re: .
PostĂ© par Moonz . ĂvaluĂ© Ă 6.
Tu peux aussi faire une seule partition, câest encore plus simple.
[^] # Re: .
PostĂ© par totof2000 . ĂvaluĂ© Ă -3.
Non.
# Mouais
PostĂ© par Christophe . ĂvaluĂ© Ă 10.
En gros, si on n'utilise pas ce qui fait l'utilité d'un initrd, alors on peut s'en passer. Oui enfin bon, comment dire, forcément !
# internet of things
PostĂ© par goeb . ĂvaluĂ© Ă 1.
Sur le desktop, peut-ĂȘtre.
Mais dans les objets connectés, tels que caméra wifi, ou répéteur wifi, etc. ? initrd n'est-il pas utile pour eux ?
[^] # Re: internet of things
PostĂ© par Renault (site web personnel) . ĂvaluĂ© Ă 4.
En quoi ?
Il devient rare d'utiliser l'initramfs dans les systĂšmes embarquĂ©, cela manque de souplesse quand mĂȘme.
Personnellement mes derniers projets n'en ont plus.
[^] # Re: internet of things
PostĂ© par Christophe . ĂvaluĂ© Ă 3.
Faudra dire ça aux développeurs d'Android, je crois qu'ils ne sont pas au courant :)
[^] # Re: internet of things
PostĂ© par Anthony Jaguenaud . ĂvaluĂ© Ă 7.
Peut-on vraiment considĂ©rer comme de lâembarquĂ© un tĂ©lĂ©phone android qui a 2Go de RAM 8Go de flash + une carte SD ? ;-)
Sinon, pour lâinitrd, tant que tout est dans le noyau, ce nâest pas nĂ©cessaire, mais dĂšs quâil faut intĂ©grer des trucs en dehors ou pour plus de souplesse le mĂ©canisme reste indispensable.
[^] # Commentaire supprimé
PostĂ© par Anonyme . ĂvaluĂ© Ă 7.
Ce commentaire a Ă©tĂ© supprimĂ© par lâĂ©quipe de modĂ©ration.
# Récent '
PostĂ© par claudex . ĂvaluĂ© Ă 7.
J'ai l'impression que je m'Ă©tais dĂ©jĂ amusĂ© Ă faire ça il y a des annĂ©es (mais peut-ĂȘtre que ma mĂ©moire me joue des tours). Il y a quelque chose qui a changĂ© Ă ce niveau rĂ©cemment ?
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Récent '
PostĂ© par galactikboulay . ĂvaluĂ© Ă 7.
Non absolument pas, Ă partir du moment oĂč les drivers nĂ©cessaires (notamment disque et filesystems) sont compilĂ©s dans le noyau, il n'y a aucune raison que ça ne marche pas.
Le journal ne prĂ©sente aucun intĂ©rĂȘt en tant que tel :)
[^] # Re: Récent '
PostĂ© par Thomas Debesse (site web personnel, Mastodon) . ĂvaluĂ© Ă 4.
Tu as tout Ă fait raison, dâailleurs pour moi ce nâĂ©tait pas "juste pour voir", câĂ©tait le comportement par dĂ©faut des mes Slackware autour de 2005 par lĂ , et ce nâĂ©tais pas par volontĂ© de ne pas mettre dâinitrd, il nây en avait tout simplement pas besoin, je ne savais mĂȘme pas ce quâĂ©tait un initrd parce que je nâen avais pas besoin. Je compilais mon noyau avec le nĂ©cessaire en dur et seulement les pilotes audio en module (parce les pilotes alsa nâaimaient pas ĂȘtre en dur, je ne sais pas trop pourquoi mais câĂ©tait un constat), et je mettais une ligne dans le grub et voilĂ . Câest quand je suis passĂ© Ă des systĂšmes plus grand public comme ubuntu (qui te mettent des animations de dĂ©marrage et tout) que jâai vu arriver sur ma machine le premier initrd de ma vie. Je ne pense pas que lâinitird ait Ă©tĂ© une nĂ©cessitĂ© Ă un moment, câest juste que câest bien plus pratique Ă cette Ă©tape du boot dâavoir plus de fonctionnalitĂ©s que le noyau seul ne peut fournir...
Accessoirement, la seule fois de ma vie oĂč jâai eu Ă personnaliser un initrd Ă©tait pour un disque de boot chiffrĂ©, câĂ©tait un disque dur en usb connectĂ© sur un port usb 2.0 pcmcia, et il fallait ajouter les module pcmcia Ă lâinitrd. Bon le truc un peu cowboy câest que le BIOS ne savait pas booter sur le disque usb 2.0 via la carte pcmcia mais uniquement sur les ports usb 1.0 intĂ©grĂ©s, donc lâastuce câĂ©tait de brancher le disque sur le port usb 1.0 pour que le bios charge grub, et une fois que grub Ă©tait chargĂ©, grub chargeait le noyeau et lâinitrd, et une fois tout Ă chargĂ©, il suffisait de dĂ©brancher le disque usb depuis le port usb 1.0 pour rebrancher le disque sur le port usb 2.0 avant quâil nâarrive Ă lâĂ©tape du remontage de / en Ă©criture (aujourdghui avec systemd lâinit attendrait tranquillement que le disque revienne).
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Récent '
PostĂ© par Anthony Jaguenaud . ĂvaluĂ© Ă 4.
Jâai dĂ©jĂ utilisĂ© lâinitrd pour pouvoir dĂ©marrer une carte sur le « disque » racine dont le driver Ă©tait un
(ćé€) blob (ćé€ăăăŸă§)module non compilable.Dans ce cas, tu charges le noyau et lâinitrd, tu charges le module pour ton disque, puis tu lances un pivot root pour basculer sur ton vrai disque.
# Rien de nouveau ....
PostĂ© par totof2000 . ĂvaluĂ© Ă 5.
On s'est toujourspassé de l'initrd dans ce cas de figure.
Ce que j'aurais aimé, c'est qu'on puisse se passer de l'initrd en intégrant le nécessaire pour lire une partition LVM root au niveau du noyau. Là ça aurait été intéressant.
# PARTUUID
PostĂ© par Patrick Nicolas . ĂvaluĂ© Ă 4.
Pourquoi ne pas utiliser un UUID pour root ?
D'aprĂšs https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183 c'est parfaitement utilisable, avec un PARTUUID.
Le rootfstype n'est pas nécessaire, le kernel trouve bien ce qu'il faut.
Et bonus, avec un EFI on peut mĂȘme se passer de grub.
[^] # Re: PARTUUID
PostĂ© par totof2000 . ĂvaluĂ© Ă 2.
Euh ... Pourquoi ne pas utiliser une IP plutĂŽt qu'un DNS ?
[^] # Re: PARTUUID
PostĂ© par kna . ĂvaluĂ© Ă 6.
Quand aprĂšs un reboot ton /dev/sda devient /dev/sde --- ça ne m'est arrivĂ© qu'une fois, et il y a bien longtemps (c'Ă©tait mĂȘme /dev/hda en fait) --- tu es bien content de pouvoir utiliser des UUID.
[^] # Re: PARTUUID
PostĂ© par totof2000 . ĂvaluĂ© Ă 2.
Avec LVM, on s'en fiche .... Il peut passer de /dev/sda Ă /dev/sdz, tu retrouves tes petits dans ton VG.
[^] # Re: PARTUUID
PostĂ© par Kerro . ĂvaluĂ© Ă 4.
La notation /dev/sda ne correspond pas au systĂšme DNS.
Ce sont plutÎt les « labels » qui correspondent au DNS. Et là c'est vrai que c'est nettement plus pratique que les UUID. Par contre les collisions sont possible (par exemple si je nomme toutes mes partitions racines « root », ça coince lorsque je branche un disque venant d'une autre machine). Il faudrait trouver une solution pour cela, et ce serait le systÚme parfait.
[^] # Re: PARTUUID
PostĂ© par Sufflope (site web personnel) . ĂvaluĂ© Ă 2.
Je note la distinction UUID/label mais tu sembles avoir ratĂ© le caractĂšre ironique de totof2000. OK l'analogie n'est pas parfaite mais UUID et label ont la caractĂ©ristique d'ĂȘtre dĂ©corrĂ©lĂ©s des rĂ©alitĂ©s physiques, contrairement Ă /dev/sdXY et l'IP.
Dans une analogie "peut-ĂȘtre dĂ©terministe, hors de contrĂŽle" vs. "dĂ©terministe configurable", UUID/label sont dans le mĂȘme sac que DNS, et sdXY/IP dans l'autre.
[^] # Re: PARTUUID
PostĂ© par xcomcmdr . ĂvaluĂ© Ă 3.
Ăa s'appelle les UUID.
"Quand certains rĂąlent contre systemd, d'autres s'attaquent aux vrais problĂšmes." (merci Sinma !)
[^] # Re: PARTUUID
PostĂ© par Kerro . ĂvaluĂ© Ă 1.
Ce n'est pas mon ressenti.
Un UUID est juste imbuvable lorsque tu as besoin de sécurité anti-erreur (c'est à dire tout le temps dans mon job), et de ne pas perdre de temps à vérifier qui est quoi (c'est à dire tout le temps aussi). Avec les UUID tu dois vérifier bien attentivement que tu as bien copié/coller le bon. Alors qu'avec un label tu n'as pas ce problÚme, c'est une source d'erreur de moins.
[^] # Re: PARTUUID
PostĂ© par totof2000 . ĂvaluĂ© Ă 2.
Je comprends trĂšs bien l'intĂ©rĂȘt des UUID, qui est de mon point de vue la gĂ©nĂ©ralisation d'une solution qui rĂ©pond Ă un problĂšme qui est loin d'ĂȘtre courant, tout comme il est parfois utile de passer en dur par des IP plutĂŽt que par des noms DNS. Ce qui me gĂšne avec les UUID, c'est que ce soit gĂ©nĂ©ralisĂ© partout (style les mises Ă jour Ubuntu qui remplacent le nom de mes LV par des UUID dans ma fstab).
[^] # Re: PARTUUID
PostĂ© par gUI (Mastodon) . ĂvaluĂ© Ă 2.
Quand l'IP est fixe et le DNS variable, oui, je préfÚre utiliser l'IP :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Modules additionnels
PostĂ© par đČ Tanguy Ortolo (site web personnel) . ĂvaluĂ© Ă 6.
La pertinence de ce journal a déjà été commentée, mais j'en profite pour faire part de quelques idées qui me sont venues dans le passé.
Pour pouvoir démarrer avec un noyau minimaliste qui n'inclut pas les modules qui sont nécessaires pour parvenir à monter le systÚme racine, Linux utilise donc ce systÚme d'initrd, qui consiste à charger en mémoire un systÚme de fichiers initialement monté comme /, qui inclut ces modules, mais aussi un systÚme minimaliste et un script d'init qui charge ces modules, puis à un moment donné monte le vrai / et passe la main à l'init normal qui s'y trouve.
Ce systĂšme m'a toujours semblĂ© tordu, surtout comparĂ© Ă ce qui se fait avec d'autres noyaux â certains BSD de mĂ©moire, mais je me trompe peut-ĂȘtre â qui consiste Ă charger le noyau et, Ă cĂŽtĂ©, non pas un systĂšme de fichiers mais un paquet de modules additionnels. Le noyau ne va alors pas dĂ©marrer sur un systĂšme temporaire, mais simplement charger ces modules directement depuis la mĂ©moire, et pouvoir monter le vrai / dĂšs le dĂ©but.
Le systĂšme d'initrd est Ă©galement compliquĂ© Ă mettre en place, mĂȘme s'il y a des outils pour cacher cette complexitĂ© : il s'agit de rĂ©diger un script d'init temporaire trĂšs particulier, d'assembler un systĂšme minimaliste suffisant pour ce script, d'ajouter les modules noyau nĂ©cessaires, et de mettre tout ça dans une archive. ComparĂ© au seul archivage des modules nĂ©cessaires pour un systĂšme basĂ© sur des modules additionnels directement chargĂ©s par le noyau, c'est clairement compliquĂ©.
Quelqu'un saurait-il d'oĂč vient ce choix pour Linux, qui me semble vraiment Ă©trange ?
[^] # Re: Modules additionnels
PostĂ© par gouttegd . ĂvaluĂ© Ă 4.
Câest lâun des usages de lâinitrd, mais ça ne se limite pas à ça.
Lâinitrd peut aussi contenir, en plus des modules (et des outils pour les charger), toute sorte dâoutils pour rĂ©aliser toute sorte de tĂąches. Par exemple :
Le script dâinit qui se trouve dans lâinitrd peut ĂȘtre bidouillĂ© Ă loisir pour y faire plein de choses. Jâen connais qui y lancent un dĂ©mon SSH pour pouvoir dĂ©verrouiller un disque chiffrĂ© Ă distance...
Ben oui, mais ça fait plus de choses.
[^] # Re: Modules additionnels
PostĂ© par Renault (site web personnel) . ĂvaluĂ© Ă 3.
Cela permet aussi d'avoir un shell de secours si jamais le systĂšme ne parvient pas Ă monter la racine pour X ou Y raison.
Ou encore, sur certains systÚmes embarqués (dans le passé, aujourd'hui cela est plutÎt rare), le systÚme entier tenait dans l'initrd.
[^] # Re: Modules additionnels
PostĂ© par totof2000 . ĂvaluĂ© Ă 4.
...
Conceptuellement, en quoi est-ce nécessaire d'avoir un initrd pour tout ça ?
Normalement le noyau devrait pouvoir monter au moins un FS / qui sait faire tout ça ... c'était d'ailleurs à l'origine la raison de la séparation entre /bin, /sbin et usr/bin + /usr/sbin ...
Aujourd'hui on veut virer /bin et /sbin pour tout mettre dans /usr/bin et /usr/sbin, et avoir le nécessaire au démarrage dans initrd ... je trouve ça un peu ridicule.
[^] # Re: Modules additionnels
PostĂ© par totof2000 . ĂvaluĂ© Ă 4.
Il me semble que c'est historique.
Je me trompe peut-ĂȘtre mais ce systĂšme (qui s'appelait peut-ĂȘtre autrement autrement Ă ce moment) date de l'Ă©poque ou on dĂ©marrait Linux depuis une disquette (voire plusieurs) avec une disquette contenant le noyau, et une autre contenant une image FS compressĂ©e.
Mais je peux me tromper, si c'est le cas je suis preneur de toute rectification.
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.