Хрипящий: как на самом деле поместить в черный список ehci_hcd?

Один способ сделать это следующие:

echo 's0:12345:respawn:/sbin/agetty -8 -s 115200 ttyS0 linux' | 
    sed -e '/^[^#]/ s/ttyS0/foo/'
3
26.12.2013, 23:10
2 ответа

Учитывая проблему зависимостей от модуля, которые делают помещение в черный список модуля как этот трудным, я предложил бы маршрут перекомпиляции Вашего ядра с той подсистемой, явно не созданной.

Поскольку Вы упоминаете выполнение Debian Wheezy это руководство является хорошей краткой информацией о создании ядра "debian путь". Я обычно рекомендую использовать последнее стабильное ядро 3.12.6 во время записи, но использование источников ядра, упакованных с debian, прекрасно подходит также (например, пакет linux-source или linux-source-3.2 выберет источники с любыми примененными патчами debian).

Важная часть этого ответа, который отклоняется от связанного руководства, в, "Делают это настраивает" (натравливают) инструкцию в руководстве.

Строки, данные в руководстве,

$ cat /boot/config-`uname -r`>.config
$ make oldconfig

Первая строка будет работать при использовании сборки ядра "debian путь". Если Вы, оказалось, выполняли non-debian ядро, команду zcat /proc/config.gz > .config будет, скорее всего, работать. Цель этого состоит в том, чтобы запуститься с конфигурации в настоящее время рабочего ядра. Вторая строка вышеупомянутых команд полезна при создании ядра, которое не является той же версией как выполнение того. Это предложит Вам любые параметры конфигурации, не существующие в Вашем рабочем ядре, и Вы в безопасности просто принять значения по умолчанию при запросе.

Теперь мы добираемся до шага, который не находится в руководстве - изменение конфигурации. Можно запустить конфигурацию с

make menuconfig

для на терминальном основанной конфигурации, или

make xconfig

для графической конфигурации. Для выключения ehci Вы перейдете к Драйверам устройств-> поддержка USB-> EHCI HCD

Вы будете, скорее всего, видеть:

<M>     EHCI ECD (USB 2.0 Support)

Когда эта опция выделяется, поразите n, который повернет строку в:

< >     EHCI ECD (USB 2.0 Support)

Теперь выход из каждого меню, пока Вам не предлагают сохранить Вашу конфигурацию и выбор для сохранения его. Отсюда можно следовать за остальной частью руководства, которое создаст ядро и упакует его в .deb, который можно установить. При начальной загрузке этого ядра не будет никакой поддержки ehci, встроенной в ядро и никакого ehci модуля для загрузки.

Хотя это - точка предпочтения, я рекомендую адаптировать Ваше ядро в соответствии с Вашей машиной. После того, как первоначально настроенный, make oldconfig сделает Вашу конфигурацию легко портативной к новым выпускам ядра.

1
27.01.2020, 21:31
  • 1
    Вы могли бы хотеть объяснить OP, как сделать это или по крайней мере направить его к некоторым направлениям. Большинство людей, вероятно, не знакомо с тем, как сделать это. –  slm♦ 27.12.2013, 00:54
  • 2
    @slm обновляется. –  casey 27.12.2013, 04:06
  • 3
    Это - то, что я называю хорошим и полным объяснением!Большое спасибо. Как я просто прокомментировал к другому ответу ниже, система хорошо работает с удаленным ehci_hcd.ko. Так создание ядра без поддержки USB2 является, конечно, надлежащим и очевидным способом для движения. Я сделаю так, следуя Вашим инструкциям. Вопрос о невозможности поместить в черный список ehci_hcd остается (в целях любопытства, по крайней мере), потому что lsmod не показывает зависимости от него. –  Pierre-Yves 27.12.2013, 22:01

Согласно https://wiki.archlinux.org/index.php/Kernel_modules помещение в черный список модуля в /etc/modprobe.d только поможет, если никакой другой непомещенный в черный список модуль не будет зависеть от него:

Команда черного списка поместит в черный список модуль так, чтобы она не была загружена автоматически, но модуль может быть загружен, если другой непомещенный в черный список модуль зависит от нее или если она загружается вручную.

Однако существует обходное решение для этого поведения; команда установки дает modprobe команду выполнять пользовательскую команду вместо того, чтобы вставить модуль в ядро как нормальный, таким образом, можно вынудить модуль всегда привести загрузку к сбою файлом /etc/modprobe.d/blacklist.conf содержа

install ehci_hcd /bin/false

Это должно поместить в черный список тот модуль и любого другого, который зависит от него.

Остерегайтесь: Это может повредить Вашу систему при фактической необходимости в модуле, от которого зависит помещенный в черный список! Удостоверьтесь, что у Вас есть жизненный диск под рукой!

0
27.01.2020, 21:31
  • 1
    , Это - прекрасное предложение! То, что является странным, - то, что согласно lsmod, никакой другой модуль не зависит от ehci_hcd ("используемый", пусто). Я попробую Ваше предложение.Спасибо. –  Pierre-Yves 27.12.2013, 00:21
  • 2
    я попробовал. "Установка ehci_hcd/bin/false" обманывает работы, но слишком хорошо: это предотвращает что-либо usb, связанный, чтобы быть загруженным. Например, даже вручную невозможно загрузить ohci_hcd или uhci_hcd. Так, я попробовал грязный взлом. Я удалил ehci_hcd.ko из dir модулей своего ядра. Восстановленный init и т.д., и... это работает отлично! Работы USB, в 1,1 режимах, которые ожидались. –  Pierre-Yves 27.12.2013, 21:56

Теги

Похожие вопросы