Portál AbcLinuxu, 30. dubna 2025 10:19
V mém případě je to typicky /boot
na partišně zvlášť, ale mělo by to stejným způsobem fungovat i s LVM LV, pokud se dané LV nepohne. Jasně, mít druhý root pro aktivaci LVM/crypto/... by samozřejmě šlo, ale:
To funguje jen do té doby, než jádro nainicializuje bloková zařízení v jiném pořadí. Proto se autor páral s blockid.
Kdyby parametr root přijímal topologické cesty (něco jako cesta v sysfs), tak by ani blockid nebylo (kromě lokálního SCSI a rootu na síti) třeba. V systémech s IDE jsou cesty statické, protože řadič má pevnou topologii (primární/sekundární kanál, master/slave zařízení). Zrovna tak SATA má jednotlivé linky staticky číslované. USB to samé.
initram<něco>
je třeba, pokud je rootfs
šifrovaný a/nebo na LVM/RAIDu/síti/jánevímkdeještě, ale pro hibernaci to neplatí, u té stačí jen natvrdo zakompilovat do jádra partition, na které se ukládá image (volba *configu Power management and ACPI options/Default resume partition, aneb option CONFIG_PM_STD_PARTITION
) plus příslušné ovladače k disku, na kterém se nachází. Pokud je v PC jeden disk s jedním swapem, stačí nastavit příslušnou partition. Pokud ne, bude to fungovat jen tehdy, když jádro při startu nadetekuje disky pokaždé ve stejném pořadí.
Ano, je pravda, že pro probuzení z hibernace není vůbec initramfs potřeba, pokud je vše na oddílech, které umí rozpoznat kernel. Z Documentation/power/swsusp.txt
:
. The resume process checks for the presence of the resume device, if found, it then checks the contents for the hibernation image signature. If both are found, it resumes the hibernation image. . The resume process may be triggered in two ways: 1) During lateinit: If resume=/dev/your_swap_partition is specified on the kernel command line, lateinit runs the resume process. If the resume device has not been probed yet, the resume process fails and bootup continues. 2) Manually from an initrd or initramfs: May be run from the init script by using the /sys/power/resume file. It is vital that this be done prior to remounting any filesystems (even as read-only) otherwise data may be corrupted.
Jenomže já už dříve měl šifrovaný home, který jsem odšifrovával až po přihlášení pomocí speciálního skriptu, který jsem měl místo shellu v /etc/passwd
, takže nešifrovaný swap se všemi klíči na disku tak nějak nepřipadal v úvahu.
Každopádně díky za poznámku, možná se bude hodit ostatním.
Podle mně je doba, kdy si uživatel kompiluje vlastní kernel tatam.Už pred rokmi vyselo na kernel.org, "nebojte sa skompilovať si svoje jadro, je to sranda" a môžem to potvrdiť, predsa o tú nám ide v prvom rade
Některé netbooky se při kompilaci kernelu těžce přehřívají a mají tendenci se vypínat v průběhu práce.Není to na reklamaci?
Některé netbooky se při kompilaci kernelu těžce přehřívají a mají tendenci se vypínat v průběhu práce.Já to řeším podtaktováním, sice se úměrně prodlouží doba kompilace, ale vyhne se tím přehřátí. Pokud nejde podtaktovat, je tu ještě možnost čas od času kopmpilaci pozastavit (např. ScrollLockem na konzoli, posíláním SIGSTOP/SIGCOND a pod.), dokud se zase stroj nevychladí.
Čistě mimochodem - na noteboocích s i3/i5/i7 procesory hodně pomáhá vypnutí turbo boost (Thinkpad X220, z 97C na 86C), na kernelu 3.9+ (kde je nový pstate driver) stačí prostě:
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
Zapnuté, samozřejmě, je to featura na zrychlení jednovláknových aplikací. Dá se to vypnout i jinak, pokud to nejde v BIOSu (na desktopech jde, na serverech často taky, na laptopech málokdy). Docela mě to dostávalo, když jsem undervoltovával C2D (tehdy se tomu říkalo IDA). Možná by se taky mohla hodit utilitka turbostat
, která je někde v tools/
ve zdrojácích kernelu.
Jelikož se tak trochu pohybuji na hranici "HiFi", tak narážím často na USB zařízení, která mají problémy s drivery. Ať už to kvůli nekompetenci zařízení (nutnost přidat quirk do alsy) nebo kvůli hroznému stavu TT schedulingu u EHCI driveru, který Alan Stern připomíná u každého revertu / regresního fixu:
This patch reverts commit 3e619d04159be54b3daa0b7036b0ce9e067f4b5d (USB: EHCI: fix bug in scheduling periodic split transfers). The commit was valid -- it fixed a real bug -- but the periodic scheduler in ehci-hcd is in such bad shape (especially the part that handles split transactions) that fixing one bug is very likely to cause another to surface. That's what happened in this case; the result was choppy and noisy playback on certain 24-bit audio devices. The only real fix will be to rewrite this entire section of code. My next project...
Možná se jednou dočkáme přepisu EHCI driveru, možná to brzo bude jedno (XHCI) / zařízení používající USB2.0 High Speed, možná začnou výrobci HW následovat standardy, možná dostanu hodinky s vodotryskem. Alespoň to poslední začíná pomalu vypadat reálně.
Kromě toho mám pár commitů, které udržuji čistě kvůli pohodlí - jako ochrana proti zamknutí cdrom mechaniky, změna "Disabling IRQ" na KERN_WARNING, aby mi nvidia driver nespamoval konzole, apod.
Obecně ale i u mě platí to, že tam, kde stačí distribuční kernel, nekompiluji vlastní.
Podle mně je doba, kdy si uživatel kompiluje vlastní kernel tatam.Já teda taky používám distribuční, ale dokážu si představit, že budu potřebovat vlastní. Třeba kdybych ladil drivery, používal nějaké security patche jako grsec nebo chtěl
mrkva.ko
, kterej se asi do upstreamu jen tak nedostane :).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.