V současné době musím překompilovat ovladač bezdrátové sítě ze zdroje pokaždé, když dostanu nové vydání jádra. Myslel jsem si, že by bylo strašně hackerské automatizovat tento proces, a tak jsem svůj Bash build skript propojil do /etc/kernel/postinst.d . Ověřil jsem, že ve skutečnosti běží, když je nainstalována nejnovější aktualizace jádra, ale jedna věc zůstává jako problém:ovladač se zkompiluje pro stávající běžící verzi jádra.
Pokud například používám 3.0.0-14-generic a apt-get dist-upgrade do jádra 3.0.0-15-generic, pak se to zkompiluje pro jádro 3.0.0-14-generic, což mi ve skutečnosti vůbec nepomůže.
Existuje způsob, jak zjistit z mého postinst skriptu jádra, která verze jádra byla nainstalována, abych ji mohl předat svému make call, aby mohl být zkompilován pro nově nainstalované jádro?
Přijatá odpověď:
Toto není skutečná odpověď na vaši otázku, pouze ukazatel na nástroj, který by mohl být související a užitečný:
Máte dkms nainstalováno? (Některé informace zde, stránka alioth se v tuto chvíli zdá být nedostupná.) Má to dělat právě to, pokud nejsem uveden v omyl. Vyžaduje příslušné linux-headers balíček a balíček modul/firmware/něco podobného, který se má nainstalovat; a funguje pro všechny nainstalované linux-image balíčky. (Nemohu říci nic o generickém modulu, ale fungoval dobře, když jsem jej používal s nesvobodným modulem nvidia.)
(Zde je více odkazů, jako je manuálová stránka a tento linuxjournal.com článek, který poskytuje vysvětlení programu, které není zaměřeno na ekosystém Debianu.)