Я пытаюсь протестировать предлагаемое ядро для Launchpad Issue 1556562: машина VIA C7-D "разыменование NULL-указателя ядра" в skcipher_recvmsg_async. Предлагаемое ядро предоставляется в виде коллекции файлов DEB.

Основываясь на опыте тестирования предлагаемых Ubuntu ядер, я считаю, что мне нужен образ linux и его дополнения (linux-image-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb и linux-image-extra-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb).

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

Я думаю, что update-grub2 потребуется, чтобы получить его в меню GRUB. Есть ли дополнительные шаги, которые нужно выполнить при установке ядра вручную?

Или есть лучший способ сделать это?

1 ответ1

0

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

Порядок файлов DEB был не совсем правильным. При первом запуске я получил ошибку о неудовлетворенных зависимостях. Второй запуск очистил проблему неудовлетворенной зависимости. (Я не скопировал точное сообщение об ошибке, но я должен был предоставить более полный ответ).

Запуск update-grub2 вручную не требовался. Видимо, есть триггер, чтобы сделать это в одном или нескольких DEB.

#!/usr/bin/env bash

wget http://kernel.ubuntu.com/~kamal/lp1556562.0/linux-image-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
wget http://kernel.ubuntu.com/~kamal/lp1556562.0/linux-image-extra-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
wget http://kernel.ubuntu.com/~kamal/lp1556562.0/linux-headers-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
wget http://kernel.ubuntu.com/~kamal/lp1556562.0/linux-tools-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb

dpkg -i linux-image-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
dpkg -i linux-image-extra-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
dpkg -i linux-headers-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb
dpkg -i linux-tools-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb

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

Сначала найдите название пакета:

$ dpkg --info linux-headers-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb | grep 'Package:'
 Package: linux-headers-4.2.0-35-generic

Затем используйте dpkg -r:

$ dpkg --info linux-image-extra-4.2.0-35-generic_4.2.0-35.40+lp1556562_i386.deb | grep 'Package:'
 Package: linux-image-extra-4.2.0-35-generic

$ sudo dpkg -r linux-image-extra-4.2.0-35-generic
(Reading database ... 126639 files and directories currently installed.)
Removing linux-image-extra-4.2.0-35-generic (4.2.0-35.40+lp1556562) ...
...

После удаления всех DEB выполните очистку, восстановите меню grub и перезагрузите компьютер.

$ sudo apt-get autoclean
...
$ sudo apt-get autoremove
...
$ sudo update-grub2
...
$ sudo shutdown -r now

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .