Po přečtení zdrojových kódů jádra jsem našel funkci, kterou musíme zakázat!
Děkujeme Stephenu Kittovi za tip na initcall_blacklist .
Přidejte initcall_blacklist=dw_i2c_init_driver na příkazový řádek jádra. To mi funguje na jádře 4.15.0.
Pro každého, kdo najde tuto odpověď. Můžete to udělat úpravou /etc/default/grub :
- Spusťte v terminálu:
sudo -H gedit /etc/default/grub. - Přidejte řetězec zakázaných položek do
GRUB_CMDLINE_LINUX_DEFAULT:GRUB_CMDLINE_LINUX_DEFAULT="… initcall_blacklist=dw_i2c_init_driver". - Uložte soubor a zavřete editor.
- Spusťte v terminálu:
sudo update-grub. - Restartujte a otestujte!
Přidání initcall_blacklist=i2c_dw_init_master na příkazový řádek jádra by měl zastavit inicializaci ovladače Designware během spouštění a zcela se vyhnout problému.
Velmi stručný popis initcall_blacklist naleznete v parametrech jádra a vlákno kolem opravy pro další užitečné informace o pozadí.
Příkaz k vynucení pohybu ramene pevného disku na konkrétní pozici na talíři
Jak získat fyzickou velikost souboru v Linuxu?