abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 12
včera 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 2
včera 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 1
včera 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
včera 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
22.1. 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
22.1. 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (12%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 391 hlasů
 Komentářů: 37, poslední dnes 12:21
Rozcestník
Reklama

Dotaz: Udev v initrd

26.7.2010 02:10 ja_kral_ll | skóre: 17
Udev v initrd
Přečteno: 268×
Ahoj,

trochu laškuju s cryptorootem a tedy i initrd.

Nevíte o nějakym způsobu jak si v /dev po každym spuštění vytvořit soubory reprezentující disky ? Tahat na to do initrd udev se mi zdá zvrhlost a tak zvažuji že si napíši nějaký scriptík co zjistí připojené disky v procu a podle toho zavolá mknod.

Nevíte o nějakém hotovém řešení ?

Díky

Odpovědi

26.7.2010 07:16 frr | skóre: 32
Rozbalit Rozbalit vše Re: Udev v initrd
Ve FC5 je v initrd prográmek zvaný tuším udev_start. Včetně GNU Libc to má celé nějakých 5 MB. Netuším, jak velké je to třeba ve FC13 - nezkoumal jsem.

Původně jsem se taky o něco snažil "po svém" v shellu, ale přistupoval jsem k tomu dost lemplovsky, moc mi to nefungovalo - na UDEV jsem přešel prakticky ve chvíli, kdy se objevil. IDE disky a partitions byly zjistitelné z /proc, SCSI disky asi budou chtít sahat do /sys (ale ono je to možná vhodné pro všechny druhy disků) - /proc/scsi/scsi není příliš podrobné. Jedna věc jsou device nodes (těch se dá vyrobit hrst staticky dopředu), druhá věc je vůbec zjistit, jaká zařízení jsou hardwarově připojena a podle nich vyrábět fstab (případně i generovat major/minor). Shell na to podle mého není dost mocný, Perl znamená desítky MB v malých souborech... snad jedině napsat si něco v holém C :-)

Jeden zádrhel je se zařízeními na USB. Totiž detekce USB stromu dobíhá až poté, co se kernel už pokusí mountnout root. Takže třeba dát si root natvrdo (bez initrd) rovnou na /dev/sda1 na USBčku je prakticky nemožné - nebo jsem nepřišel na to, jak donutit kernel, aby před mountováním / počkal, až dojede inicializace USB. Když ale v initrd počkáte, třeba i nějaký pevný čas (mě se osvědčilo 6s), najednou tam ty disky jsou... Čili lenoch by počkal ve skriptu 6s a pak spustil udev_start.
[:wq]
26.7.2010 09:38 MMichal | skóre: 22
Rozbalit Rozbalit vše Re: Udev v initrd
Na Debianu pro cekani v initrd slouzi, pokud se nepletu, parametr bootu "rootdelay".
26.7.2010 07:23 Michal Karas | skóre: 45 | blog: /dev/random | Brno
Rozbalit Rozbalit vše Re: Udev v initrd
Ahoj, trošku OT odpověď. Udev v initrd asi až taková zvrhlost nebude, minimálně Arch ho tam už spouští (a slyšel jsem, že pár dalších distribucí taky). Kdybys chtěl mrknout, jak to funguje, tak to je balíček mkinitcpio (a konkrétně hook encrypt).
Max avatar 26.7.2010 10:02 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Udev v initrd
Přesně, navíc je udev doporučován dávat do initrd kvůli rychlejšímu startu systému.
Zdar Max
Měl jsem sen ... :(
26.7.2010 13:09 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Udev v initrd
Aha, takže to nakonec dopadne tak že tam hodim staticky linkovanej udev...
26.7.2010 19:37 xHire | skóre: 19 | blog: Linuxovník
Rozbalit Rozbalit vše Re: Udev v initrd
Šifruji celý harddisk a bootuji z flashky, přičemž initrd jsem si sestavil sám ze všech potřebných komponent. Rozchodit to nebylo jednoduché, můžu sem kdyžtak ještě během dneška hodit jeho obsah (jenom jako výpis souborů) + init skript. Nejvíce práce na rozcházení bylo právě s udevem a stále to ještě nemám úplně dolazené. Jiný funkční způsob než s použitím udev jsem nenašel (mám takový dojem, že některý z mnou používaných programů na něm dokonce přímo závisí).
26.7.2010 22:52 xHire | skóre: 19 | blog: Linuxovník
Rozbalit Rozbalit vše Re: Udev v initrd
Příloha:
Tak jak jsem slíbil. Chtěl jsem nakonec svůj initramfs přiložit k tomuto příspěvku, ale systém ho odmítl jako příliš velký. Tak aspoň přikládám výpis jeho obsahu. Když na to teď, po pár týdnech, opět koukám, některé věci mi (opět) nedávají smysl (například duplikace lib64 v lib -- zřejmě jsem to tam měl kvůli testování, jinak nevím), takže to berte s rezervou. ;-)

Do lib jsem nakopíroval celou udev složku a do sbin zase binárky udevadm a udevd, navíc ještě nesmím zapomenout na pravidla v etc/udev, byť tam mám pouze pro device-mapper.

Zde ještě init v plném znění:
#!/bin/sh -x

export PATH=/bin:/sbin
export LD_LIBRARY_PATH=/lib64:/lib

# wait a little to avoid trailing kernel output
sleep 7

mount -t proc proc /proc
CMDLINE=`cat /proc/cmdline`

mount -t sysfs sysfs /sys
mount -n -t devtmpfs udev /dev -o mode=0755,size=10M,nosuid

# i don't have a qwerty keyboard
#loadkmap < /etc/kmap-cz

# run udevd
echo > /proc/sys/kernel/hotplug
udevd --daemon --resolve-names=never

udevadm trigger --action=add
udevadm settle

# dm-crypt
cryptsetup luksOpen /dev/sda encdisk

# lvm
vgscan
vgimport lvm0
vgchange -a y lvm0

# root filesystem
mount -r /dev/lvm0/root /newroot

# stop udev
udevpid=$(pidof udevd)
udevadm settle
kill ${udevpid} > /dev/null 2>&1
while pidof udevd > /dev/null; do
        sleep 0.1
done

# remount /dev
mount --move /dev /newroot/dev

# unmount pseudo FS
umount /sys
umount /proc

# root switch
exec /bin/busybox switch_root /newroot /sbin/init ${CMDLINE}
Hodně udev věcí jsem okoukával u Archu, nicméně si myslím, že by to šlo řešit ještě o něco lépe, než jak to mám já. Je tu vidět i zatím nedořešený problém s načítáním správného mapování klávesnice (což je důležité vědět při zadávání hesla -- zde bylo zakopáno hodně mých marných pokusů :-D).

Snad to bude aspoň trošku přínosné.
Grunt avatar 26.7.2010 23:30 Grunt | skóre: 21 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Udev v initrd
Nic bych si z toho nedělal. Ve Fedoře od dob co začali používat Dracuta v initrd smrdí jak celý initrd, tak téměř všechny moduly (a výsledek má skoro 30MB nebo 50MB).A divím, se že do něj nenacpali ještě celý inicializační subsystém. Pokud je potřeba, dá se udělat minimální verze udev z busyboxu (ale těžko říct, jak se bude snášet s tím systémovým).
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
michich avatar 27.7.2010 07:42 michich | skóre: 50 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Udev v initrd
Až takhle velký ten výsledek není. U mě má výchozí 12 MB, se zapnutým hostonly=yes v /etc/dracut.conf pak 5 MB.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.