Portál AbcLinuxu, 5. května 2025 12:23
Jak vidno současná (a dosud neuzavřená) tahanice s Reiserovou manželkou má mnohem hlubší dopady než by si kdo pomyslel.Z toho, co jsi napsal, spíš jasnovidno než vidno. Ale pokud má někdo problémy s reiserfs tak samozřejmě má smysl přejít jinam
mkinitrd
(a případně lilo
)) ještě před výměnou hardware.
Nevím jak vám, ale mně se obvykle v počítači pokoutně nemění základní hardware bez mého vědomí.Dost často se mění hardware vědomě při výměně desky, která umřela – a to se špatně přidávají moduly před její výměnou
Děláte si srandu?
Nedělám.
Co ušetřím tím, že dám pár mrňavých modulů pro 3 základní fs a čipsety do initramfs namísto do jádra? Ušetříte tím snad něco?
Těch řadičů je podstatně víc než jen tři. A jejich počet stále roste. Takže ano, ušetřím.
A člověk se ani nikde nedočte, jak to má korektně vyřešit pomocí distribučních nástrojů.
V tom případě máte asi smůlu na volbu distribuce…
Děláte si srandu? Co ušetřím tím, že dám pár mrňavých modulů pro 3 základní fs a čipsety do initramfs namísto do jádra? Ušetříte tím snad něco? Neušetříte.Usetri se cas za inicializaci tech driveru, navic ramfs se muze po mountu uvolnit takze se usetri i pamet. Navic nektere drivery muzou navzajem kolidovat - napriklad libata PATA drivery vs klasicke IDE drivery.
A co hůř někdy to není ani v tom initrd, protože instalátor do něj nacpal jenom ty moduly, co byly v počítači k dispozici v době instalace.njn, to neni problem initrd, ale jeho hloupeho pouziti. Me by se osobne nejvic libilo, kdyby initrd sestavoval sam grub na zaklade konfiguraku grubu - u jednotlivych bootovacich polozek v konfiguraku by uzivatel zadal jake prikazy se maji provest a jake moduly zavest a grub by sestavil initrd s prislusnymi prikazy, moduly a startovacim skriptem. Takze by to clovek mohl nastavit i pred bootem systemu rovnou z menu zavadece.
Me by se osobne nejvic libilo, kdyby initrd sestavoval sam grub na zaklade konfiguraku grubu - u jednotlivych bootovacich polozek v konfiguraku by uzivatel zadal jake prikazy se maji provest a jake moduly zavest a grub by sestavil initrd s prislusnymi prikazy, moduly a startovacim skriptem. Takze by to clovek mohl nastavit i pred bootem systemu rovnou z menu zavadece.Aha.. Takže Grub by měl obsahovat ovladače na všechna možná zařízení... Děkuji nechci.
Navic nektere drivery muzou navzajem kolidovat - napriklad libata PATA drivery vs klasicke IDE drivery.A to byl argument pro, nebo proti modulům?
Na to je jedina odpoved - prelozit si vlasni jadro.
Za prvé: není důvod to dělat. Za druhé: jak už jsem psal, vlastní jádro vyřeší moduly, ale nic dalšího.
Navic je initramdisk pres intird uz vlastne zastaraly, nova jadra na to maji initramfs pres cpio archiv.
Použil jsem termín "inital ramdisk", nejmenoval jsem konkrétní implementaci.
Zmínka o udevu se týkala hlavně toho, že někdy potřebujete funkční udev ještě před přimountováním kořenového filesystému. Jednou jsem např. konfiguroval stroj, který detekoval síťová pole před lokálním SCSI diskem, takže (jaderné) jméno zařízení záviselo na tom, kolik těch polí bylo.
Jednou jsem např. konfiguroval stroj, který detekoval síťová pole před lokálním SCSI diskem, takže (jaderné) jméno zařízení záviselo na tom, kolik těch polí bylo.Na to není vůbec udev potřeba -
UUID=${příslušné_UUID}
jako jméno zařízení fungovalo dávno předtím, než vůbec udev spatřil světlo světa (pravda, pro id, path a label to už nefunguje).
UUID=${příslušné_UUID} jako jméno zařízení fungovalo dávno předtím ...Ale tohle funguje pomoci initrd, ne?
mount
u, která nemá s initrd nic společného. V mount (8)
je to pěkně popsané:
Most devices are indicated by a file name (of a block special device), like /dev/sda1, but there are other possibilities. For example, in the case of an NFS mount, device may look like knuth.cwi.nl:/dir. It is possible to indicate a block special device using its volume label or UUID (see the -L and -U options below)....
-L label Mount the partition that has the specified label. -U uuid Mount the partition that has the specified uuid. These two options require the file /proc/partitions (present since Linux 2.1.116) to exist.
root=UUID=${UUID}
zmínění níže...
lilo.conf
se o možnosti použít UUID nezmiňuje, ale o labelu ano). Jen jsem vás chtěl upozornit, že citovat v tomto kontextu manuálovou stránku příkazu mount
je trochu mimo téma.
root=/dev/sdxy
v parametrech u zavádění mu lze také předhodit root=UUID=${UUID}
.
Initrd! Distribučníky, co kompilujou základní fs nebo dokonce řadiče disků jako moduly, bych věšel za koule do průvanu. Nerozumím tomu, že někdo může být schopen takového zvěrstva.No, tak by sis nekdy o tom mohl neco precist, nez zacnes nekoho veset za cokoliv kamkoliv. Napr. kdybys mi ty udelal jadro s TVYM SATA radicem s EXT3 a ocekaval, ze si pujdu do svyho compu s IDE radicem kupovat tvuj SATA radic a disk, a ze misto reiserfs pro / partisnu pouziju ext3, tak bych te asi nakopal taky do zadku. Initrd neni spatna vec. Pokud bys chtel kompilovat vsechno do jadra, tak bys bud generoval zbytecne obrovsky jadro, nebo bys delal tisice ruznych variant (radic, FS), nehlede na to, ze site bys treba nenabootoval vubec. Osobne jsem si delal initrd pro pripojeni NFS do Unionfs - tohle proste bez initrd neudelas.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.