Я пытался сделать что-то, что я надеялся, было очень просто: перекомпилируйте существующую версию ядра с одной измененной опцией конфигурации.
Я следовал за направлениями на этой странице Wiki, которые, кажется, являются самыми актуальными нескольких страниц, которые Вы найдете на Wiki Ubuntu один, который имел отношение к компиляции ядра (были более всесторонние страницы, но они часто были устаревшими пятью годами).
Компиляция работала хорошо, и я назвал свою версию ядра 4.4.0-57.78+foo
- Я сделал это путем изменения debian/changelog
файл, который первоначально имел первую строку как:
linux (4.4.0-57.78) xenial; urgency=low
кому:
linux (4.4.0-57.78+foo) xenial; urgency=low
Я понятия не имею, корректно ли это, поскольку документация не является четкой по этому вопросу (например, если я должен заменить .78
часть или добавляет к нему).
Это создало набор .deb
файлы, а именно:
linux-cloud-tools-4.4.0-57_4.4.0-57.78+foo_amd64.deb linux-image-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-cloud-tools-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb linux-image-extra-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-cloud-tools-common_4.4.0-57.78+foo_all.deb linux-source-4.4.0_4.4.0-57.78+foo_all.deb
linux-doc_4.4.0-57.78+foo_all.deb linux-tools-4.4.0-57_4.4.0-57.78+foo_amd64.deb
linux-headers-4.4.0-57_4.4.0-57.78+foo_all.deb linux-tools-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-headers-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb linux-tools-common_4.4.0-57.78+foo_all.deb
Я установил их использование:
sudo dpkg -i ../linux-*foo*.deb
Теперь, apt-get
повреждается. Каждая команда (например, sudo apt-get install <whatever>
жалуется на:
The following packages have unmet dependencies:
linux-signed-image-4.4.0-57-generic : Depends: linux-image-4.4.0-57-generic (= 4.4.0-57.78) but 4.4.0-57.78+foo is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Как я могу удовлетворить apt-get
в этом случае? Большинство ссылок на это сообщение об ошибке о поврежденной Кв. - получают состояние, но не ясно, как это применяется здесь. Сообщениям, обращающимся к 'изображению со знаком Linux*', интересно - на локально созданном ядре, эти модули не доступны (возможно, они модули, предназначенные для сценариев безопасной начальной загрузки, и ясно я не могу заключить контракт с ними?).