web-dev-qa-db-ja.com

ブラックリストが失敗したときにシングルユーザーブートでのみカーネルモジュールのロードをブロックするにはどうすればよいですか?

「Linuxdebian2.6.32-5-AMD64#1 SMP」インストールで、カーネルモジュール(mpt2sas)のロードを遅らせて、sshdの起動後にロードする必要があり、ユーザーがリモートログインできる場合、mpt2sasモジュールのロードが無効になりました。シングルユーザーブート、作成者:

_$ echo 'blacklist mpt2sas' >> /etc/modprobe.d/mpt2sas.conf; depmod -aeF /boot/System.map-2.6.32-5-AMD64; update-initramfs -u -k $(uname -r)
_

後で_modeprobe -v mpt2sas_が/etc/rc.localで実行されます。

新しいmpt2sasドライバーをインストールした後、_dpkg -i mpt2sas-15.00.00.00-3_Debian6.0.5.AMD64.deb_を使用すると、古いドライバーの名前が_/lib/modules/2.6.32-5-AMD64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko_から_/lib/modules/2.6.32-5-AMD64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko.orig_に変更され、新しいドライバーが_/lib/modules/2.6.32-5-AMD64/weak-updates/mpt2sas/mpt2sas.ko_。

副作用は、行blacklist mpt2sas in _/etc/modprobe.d/mpt2sas.conf_ もはや効果がない、モジュールがシングルユーザーブートプロセスでロードされると、mpt2sasは次のようにロードされることです。最初のカーネルモジュール。

回帰:

  • /etc/modprobe.d/mpt2sas.confがまだロードされていることはわかっています。このファイルに障害のある行を入力すると、起動中にコンソールに警告が表示されるためです(4回)。
  • depmod -aeF /boot/System.map-2.6.32-5-AMD64; update-initramfs -u -k -t $(uname -r); rebootを実行しても改善されません。
  • カーネルブートパラメータ_modprobe.blacklist=mpt2sas_を追加しても改善されません。

シングルユーザーブートフェーズ中に新しいmpt2sasカーネルモジュールのロードをブロックするにはどうすればよいですか? (/etc/rc.localのmodprobeを使用してmpt2sasをロードしたい)。

7
Pro Backup

モジュールがファイル_/etc/modules_にリストされていないことを確認してください。このファイルには、起動時にロードする必要のあるモジュールがリストされています http://www.debian.org/doc/manuals/debian-faq/ch-kernel.en.html#s-modules

モジュール名(この場合はmpt2sas)がファイル_/etc/modules_にリストされている場合:

  1. そのmpt2sas行を削除するか、ハッシュを前に付けてコメントします。行「_mpt2sas_」は「_#mpt2sas_」になります。
  2. Initramfsイメージファイルを更新します:depmod -aeF /boot/System.map-$(uname -r) && update-initramfs -u -k $(uname -r) -t
  3. そして再起動します
4
Pro Backup

これをカーネルブートコマンドラインに追加します(例:Grubで、を押します e カーネルブートパラメータを編集します):

modprobe.blacklist=mpt2sas

これについての詳細は Arch wiki です。

2
gertvdijk