İşletim sistemini bile yükleyemediğim için kırık bir çekirdek modülü var, bu yüzden silemiyorum veya düzeltemiyorum. Çekirdeğin parametrelerini veya başka bir şeyi kullanarak bu modülü önyükleme sırasında atlamak mümkün mü?
İşletim sistemini bile yükleyemediğim için kırık bir çekirdek modülü var, bu yüzden silemiyorum veya düzeltemiyorum. Çekirdeğin parametrelerini veya başka bir şeyi kullanarak bu modülü önyükleme sırasında atlamak mümkün mü?
Yanıtlar:
Bir önceki yanıtta belirtildiği gibi modülün kara listeye alınması, bir çekirdek modülünden tamamen kaçınmanın en iyi yoludur. Kara listenin yanı sıra, bir modülü devre dışı bırakmanın genel bir yolu yoktur.
Bazı Linux dağıtımları, bunun gibi şeyler yapmak için çekirdek önyükleme parametreleri sağlar.
load_modules=off
udev'i otomatik yüklemeyi atlamaya zorlar. Bu, modülleri yüklemeden önyükleme yapmanıza, soruna neden olan bir modülü kara listeye almanıza ve sorunlu modül yüklemesi olmadan normal olarak yeniden başlatmanıza olanak tanır.Daha fazla bilgi için Çekirdek Parametreleri belgelerine bakın . Belirli alt sistemleri devre dışı bırakmak için parametreler vardır. Örneğin:
nousb
çekirdek USB desteğini devre dışı bırakırcgroup_disable=[name]
belirli bir denetleyiciyi devre dışı bırakır; ancak, "bellek" özel olarak desteklenen tek örnektirlibata.noacpi
libata'da (SATA denetleyicileri) ACPI kullanımını devre dışı bırakır; bu bir modül parametresini çekirdek üzerinden geçirmeye bir örnektirBelirli modülleri devre dışı bırakılması olduğunu sistem yükleyici mümkün, ama görünüyor dağıtıma bağımlı gibi gerçekten.
Bir yandan, Linux Çekirdek Parametreleri belgelerinde Ağustos 2016 itibariyle:
module_blacklist=
[KNL] Virgülle ayrılmış bir modül listesi yüklemeyin. Sorun modüllerinde hata ayıklamak için kullanışlıdır.
Öte yandan, openSUSE 42.1 (Linux 4.1.31) ile benim için çalışan seçenek Arch Kernel modülleri wiki'sinde açıklanmıştır:
Modülleri önyükleyiciden de kara listeye alabilirsiniz. Basitçe ekleyin
modprobe.blacklist=modname1,modname2,modname3
Çekirdek parametrelerinde açıklandığı gibi önyükleyicinizin çekirdek satırına ekleyin. Birden fazla modülü kara listeye alırken, modüllerin yalnızca virgülle ayrıldığını unutmayın. Boşluklar veya başka herhangi bir şey sözdizimini bozabilir.
( Bunu işaret ettiği için unix.SE'deki @ gertvdijk'e teşekkürler .)
Ayrıca bahsetmeye değer şu yöntem :
Grub komut satırını kullanarak belirli modüllerin çekirdek tarafından yüklenmesini önlemek için, bunları aşağıdaki sözdizimini kullanarak çekirdek satırına parametre olarak geçirmeniz gerekir.
$module_name.blacklist=yes
Bunu nereden aldıkları hakkında hiçbir fikrim yok, ama her şey başarısız olursa kesinlikle başka bir yöntemi denemek zarar vermez.
/Etc/modprobe.d/blacklist'e veya 'modulename' kara listesine ekleyebilmeniz gerekir