При запущении скрипта каждый раз установлено новое ядро

Понятый это.

Я должен был работать xrandr --output HDMI-0 --mode 1280x1024 --right-of DVI-0 с sudo.
Тем путем нормальные приложения не имеют доступа к установке Randr (разрешение и т.д.), и так ничего не могут повредить.

Править: На самом деле это помогло только с одной игрой (Osmos). Для других монитор все еще теряет сигнал, но я могу, по крайней мере, работать xrandr снова восстановить его.

2
29.01.2012, 19:00
3 ответа

Это не фактический ответ на Ваш вопрос, просто указатель на инструмент, который мог бы быть связан и полезный:


Вы имеете dkms установленный? (Некоторая информация здесь, alioth страница кажется вниз в данный момент.) Это, как предполагается, делает просто это, если я не введен в заблуждение. Это требует соответствующего linux-headers пакет и module/firmware/something-like-that пакет, который будет установлен; и это работает на все установленные linux-image пакеты. (Я ничего не могу сказать об универсальном модуле, но он хорошо работал, когда я использовал его с несвободным модулем Nvidia.)

(Существует больше ссылок здесь, как страница справочника и это linuxjournal.com статья, которая дает non-Debian-ecosystem-centric объяснение программы.)

2
27.01.2020, 22:15
  • 1
    Нет, я думаю, что dkms является ответом. –  bsd 29.01.2012, 19:39
  • 2
    я думаю так, также (DKMS - он). Необходимо поместить его в, автовосстанавливают режим для драйвера в dkms.conf. –  Nils 29.01.2012, 23:07
  • 3
    Как я могу сцепить свой сценарий в него? Существует несколько различных библиотек, которые должны быть установлены, и оба в настоящее время живут в /opt. –  Naftuli Kay 29.01.2012, 23:38
  • 4
    В/usr/share/doc/dkms/существуют документы, а также примеры. Запустите путем просмотра примера dkms.conf файлы и затем задайте последующий вопрос, если у Вас есть какие-либо проблемы –  bsd 30.01.2012, 16:34

dkms действительно является ответом, если вы используете дистрибутив с поддержкой DKMS -(, как и большинство популярных ). Если вы используете дистрибутив, который не использует DKMS, или вы создали собственную установку Linux, читайте дальше.

Проблема в том, что хук postinst.dвызывается перед перезагрузкой, где unameпо-прежнему возвращает старую версию ядра.

Решение несколько хакерское, но, учитывая, что весь вопрос вращается вокруг хака для предварительной сборки модулей после обновления, я уверен, что это нормально:)

Вам просто нужно перечислить файлы в /boot/(, если только вы не запускаете какую-то чрезвычайно эзотерическую установку, где ядро ​​​​установлено где-то еще ), отсортируйте содержимое по mdate и извлеките версию ядра из самой последней установленной версии. ядро, в том же духе:

KVERSION=$(ls -at /boot | sed -n 's/^vmlinuz-//;t p;b;:p;p;q')
# KVERSION will hold some value like 4.19.0-10-arm64

(Предполагается, что ядро ​​сжато и установлено как/boot/vmlinuz-${KVERSION})

0
02.08.2020, 16:02

Хотя dkmsможет быть ответом, у меня есть для вас подход, который может предложить более простое решение, если вы не хотите связываться с этим или другими сложными решениями.

Поскольку вам это не понадобится, пока вы не перезагрузитесь и не начнете запускать новое ядро, почему бы просто не запустить скрипт как раз вовремя (при следующей загрузке )?

Вы можете использовать что-то из себя -, например this для постановки вашей команды в очередь для выполнения только при следующей загрузке, и скрипт , который из /etc/kernel/postinst.d.

1
17.03.2021, 21:20

Теги

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