Portál AbcLinuxu, 6. května 2025 02:34
Pokud chce hledat články v angličtině, nevím, proč čte české Jaderné noviny a ne anglický originál.Treba proto, ze si radsi precte clanek v cestine, ale kdyz dalsi dokumentace v cestine neni, tak se spokoji s anglickou dokumentaci.
aby si to clovek musel prelozit zpet aby pochopil o cem je recV článku je uveden i původní termín.
Bohužel to žádná současná distribuce neumožňujeSlyšel jsi někdy o Debianu?
Překládal jsem jen, jak jsem to pochopil.Jo tak. Ona ta stížnost nebyla, že to distribuce nepodporují, ale spíš že taková možnost není dostatečně propagována.
Je tam Dokonce v defaultním i386 repozitáři.
Původně jsem si to tak chtěl nechat, mám tu docela dost binárních 32bit aplikací (bez dostupného zdrojáku) a štvát se s nějakým transparentním chrootem se mi nechtělo. Pak mé oko našlo něco jako lib32 v amd64 verzi repozitáře a už jedu vesele na 64bit .
vaclav@debian:~$ uname -a Linux debian 2.6.30-bpo.1-amd64 #1 SMP Mon Aug 17 19:58:33 UTC 2009 x86_64 GNU/Linux vaclav@debian:~$ file /bin/bash /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped vaclav@debian:~$
hmm, tak tohle si musim nekde vygooglit ... protoze vsude se vzdy tvrdilo ze 32bit primo adresuje 4GB .. coz pravda je .. tak k cemu HIGHMEM ?!?!?!Proč to tak je nevím, ale můžu potvrdit, že 1,5 GB RAM mi bez HIGMEM na 32bitu neběhá.
# aptitude show linux-image-2.6.32-2-686-bigmem Package: linux-image-2.6.32-2-686-bigmem Version: 2.6.32-8 Provides: linux-image, linux-image-2.6, linux-modules-2.6.32-2-686-bigmem Description: Linux 2.6.32 for PCs with 4GB+ RAM The Linux kernel 2.6.32 and modules for use on PCs with 4-64GB RAM, using PAE (Physical Address Extension).A na mém stroji 32bitový kernel (64bitový má/měl rozbitý ioctl wrapper (nefungoval třeba wpa supplicant)) zvládá 2GB RAM bez problémů (Opera mi je občas zdatně zaplní)
noext
, která tu šipečku odstraní.
<a class="noext" href="http://lwn.net/Articles/370421/"><img height="178" border="0" align="right" width="150" alt="[Ted Ts'o]" src="http://lwn.net/images/conf/lca2010/TedTso-sm.jpg"/>
</a>
udevd --daemon udevadm trigger udevadm settleKtera spousti a ceka na dokonceni prehrani udalosti z bootu.
V podstatě důvod, proč se na udev čeká než se spustí cokoli jiného je vytvoření základního /dev (console, null, zero). Ani to zařízení disku není potřeba pokud jsou potřebné věci v initrd.Není to náhodou tak, že ty základní věci jako console tam už musí být před startem udevu? Pokud si vzpomínám, s prázdným /dev si jádro stěžuje, že can't open initial console
Osobně si myslím, že za těch 6 sekund ani tak nemůže udev jako samotné jádro, které nahrává moduly.Neřekl bych - nemůžu říct, jestli je to na všech distrech, ale v Debianu se moduly nahrávají až když je udev a podobné nastartovaný (samozřejmě kromě těch nutných pro start systému). Takže udev nastartuje s minimální konfigurací (jádro + pár modulů), pak systém bootuje dál a v určité fázi se natáhnou věci zapsané v /etc/modules. A ani tam nemusí být všechno, hodně modulů se natáhne až když jsou potřeba (USB mass storage atd.)
Možná ale udevu dlouho trvá rozhodnout se, jaký modul nahrát.Já měl za to, že o nahrání modulu rozhoduje jádro, když je modul zapotřebí k zařízení, které se právě detekovalo, a udev jenom vytvoří odpovídající soubory v /dev
Jen tak mimochodem – bojím se, že řetěz xkb–HAL–udev v X.org bude pokračovat.Zatím naštěstí několik let úspěšně žiju s tím, že HAL vypínám a zakazuju.
Minimálně v případě console máš nejspíš pravdu. To nic ale nemění na tom, že v současnosti coldplug připojuje úplně všechno, co je připojené předtím, než boot pokračuje. Přitom by stačilo to málo aby boot mohl pokračovat. Do doby než např. nastartují X-ka se pak detekují i věci jako je myš a klávesnice, flashka a další zbytečnosti.V podstatě důvod, proč se na udev čeká než se spustí cokoli jiného je vytvoření základního /dev (console, null, zero). Ani to zařízení disku není potřeba pokud jsou potřebné věci v initrd.Není to náhodou tak, že ty základní věci jako console tam už musí být před startem udevu? Pokud si vzpomínám, s prázdným /dev si jádro stěžuje, že can't open initial console
No, udev umožňuje nahrávat při hotplugu potřebné moduly (a případně provádět i skripty). Stoprocentní důkaz nemám, ale většinou je module autoloading zmiňován spolu s udevem. Např. Arch wiki: „udev loads kernel modules simultaneously, which can provide a speed increase during bootup.“. Gentoo wiki to neříká tak okatě, ale opět zmiňuje autoloading modulů v souvislosti s udevem. Podobně se o něm zmiňují i v LFS a Mandriva dokumentaci. Tím neříkám, že to dělá udev, ale to, že to na mě tak působí.Osobně si myslím, že za těch 6 sekund ani tak nemůže udev jako samotné jádro, které nahrává moduly.Neřekl bych - nemůžu říct, jestli je to na všech distrech, ale v Debianu se moduly nahrávají až když je udev a podobné nastartovaný (samozřejmě kromě těch nutných pro start systému). Takže udev nastartuje s minimální konfigurací (jádro + pár modulů), pak systém bootuje dál a v určité fázi se natáhnou věci zapsané v /etc/modules. A ani tam nemusí být všechno, hodně modulů se natáhne až když jsou potřeba (USB mass storage atd.)Možná ale udevu dlouho trvá rozhodnout se, jaký modul nahrát.Já měl za to, že o nahrání modulu rozhoduje jádro, když je modul zapotřebí k zařízení, které se právě detekovalo, a udev jenom vytvoří odpovídající soubory v /dev
Zatím naštěstí několik let úspěšně žiju s tím, že HAL vypínám a zakazuju.Já už rezignoval.
Minimálně v případě console máš nejspíš pravdu. To nic ale nemění na tom, že v současnosti coldplug připojuje úplně všechno, co je připojené předtím, než boot pokračuje. Přitom by stačilo to málo aby boot mohl pokračovat.Otázka je, jak definuješ to málo, které stačí. Patří tam disk (ovladače řadiče a spol)? Když bootuješ ze sítě, tak ne. Patří tam síť? Pokud bootuješ lokálně, tak ne. Pokud jsou části systému na síti (např. /usr/bin a spol.), tak už jo. Takhle by se dalo pokračovat. Klávesnice může být potřeba, aby mohl zadat heslo k šifrovanému oddílu před bootem. Pokud nevymyslíš způsob, jak nastavit, co je potřeba a co může počkat - tak, abys to mohl sdělit jádru - tak má jádro jedinou možnost a sice připojit všechno, co se nadetekovalo.
Ovladače obsahují identifikátory podporovaných zařízení. Když si do jádra zakompilujete automatické zavádění modulů, tak jádro, vždy když najde nové zařízení na sběrnici, tak zavolá /proc/sys/kernel/modprobe a v argumentech mu předá alias zařízení. Tohle funguje bez udevu. Jádru se zařízení objevují a jádro zavádí moduly od určité rané verze 2.6 asynchronně.
Samozřejmě stejnou úlohu může zastat udev, který se o novém zařízení dozví od jádra přes netlink, alias si zjistí ze sysfs a nakonec stejně zavolá modprobe.
Díky za osvětu.Ovladače obsahují identifikátory podporovaných zařízení. Když si do jádra zakompilujete automatické zavádění modulů, tak jádro, vždy když najde nové zařízení na sběrnici, tak zavolá /proc/sys/kernel/modprobe a v argumentech mu předá alias zařízení. Tohle funguje bez udevu. Jádru se zařízení objevují a jádro zavádí moduly od určité rané verze 2.6 asynchronně.
Samozřejmě stejnou úlohu může zastat udev, který se o novém zařízení dozví od jádra přes netlink, alias si zjistí ze sysfs a nakonec stejně zavolá modprobe.
Před startem udevu je na / adresář /dev, který obsahuje základní sadu souborů pro případ, že by udev nenastartoval (jsou tam i disky a podobné věci). Jakmile udev nastartuje, tak mountne do /dev tmpfs a začne vytvářet všecky ty speciální soubory.V podstatě důvod, proč se na udev čeká než se spustí cokoli jiného je vytvoření základního /dev (console, null, zero). Ani to zařízení disku není potřeba pokud jsou potřebné věci v initrd.Není to náhodou tak, že ty základní věci jako console tam už musí být před startem udevu? Pokud si vzpomínám, s prázdným /dev si jádro stěžuje, že can't open initial console
Tak si říkám, že pod každými jadernými novinami jsou vždycky diskuse jen co se týče překladu a dalších estetických kravin místo toho aby se řešily důležitější věci, jako je devtmpfs.Ide o to, ze tunajsie diskusie mozu mat dopad na preklad a ostatne "esteticke kraviny", zatial co na devtmpfs, otazky zivota, vesmiru a vobec, dopad asi mat nebudu.
Vzhledem k tomu, že 32 bitů pro jakýkoliv stroj s více než 1 GB paměti znamená HIGHMEM, ne-embedded stroje, na kterých by dnes měla běžet 32bitová jádra, v podstatě tvoří prázdnou množinu. Bohužel linuxová distra nedostatečně propagovala 64bitová jádra pro 32bitové distribuce; i když čistých 64 bitů je lepší, i tak by bylo sakra lepší, kdyby lidi používající 32 bitů kvůli kompatibilitě měli rozumnější alternativu.Hehe, tohle číst Jardík, tak klekne na koberec a několikrát skloní hlavu ve směru
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.