Я использую Maverick с последними доступными ядрами на kernel.org и собираю их самостоятельно. До сих пор я основывал свою конфигурацию на стандартном ядре Maverick и принимал значения по умолчанию make oldconfig
. Я делаю это для 3 основных выпусков, так что я полагаю, что начинаю отставать от нынешнего «стандарта».
Я хотел бы переустановить свои ядра из нового файла Natty .config
. Это доступно где-нибудь онлайн или мне нужно скачать весь пакет ядра и извлечь его?
Редактировать: я вручную извлек конфигурацию из последнего пакета ядра Natty и могу подтвердить, что, вероятно, должен сделал это раньше. Много различий между моим старым "развитым" конфигом и стандартным Natty. Теперь, если бы я мог сделать это без 20 минут охоты и загрузки пакета, чтобы я мог заново создать базу в будущем.
Команда ядра отправила конфигурации для Аккуратного здесь:
Источники:
В моей системе Ubuntu 11.10 конфигурация ядра находится в файле '/boot/config-3.0.0-12-generic'.
Каждый пакет linux-image
содержит точный файл конфигурации, с которым он был собран в /boot/config-*
. Чтобы увидеть файл конфигурации для работающего в данный момент ядра Linux, выполните:
less /boot/config-$(uname -r)
Я проверил с людьми из ядра Ubuntu (на Freenode #ubuntu-kernel
) и они подтвердили мое убеждение, что на самом деле нет « the i> config», но на самом деле он создается во время сборки / компиляции путем включения ряда файлов Kconfig
; они зависят от точной архитектуры и цели (рабочий стол / сервер / облако). Вы должны прочитать этот (короткий) разговор по адресу:
Список этого разнообразия можно найти, используя packages.ubuntu.com и следующий поиск:
Охота, может показаться, что .config
также включен в пакеты linux-headers-*
. Это .deb
файлы (которые являются простыми .ar
архивами, которые откроются с file-roller
) и всего около 800 кБ каждый. Если вы знаете конкретную цель, архитектуру и версию, к которой вы стремитесь, вы можете получить ее прямо из Launchpad или из самого архива:
/usr/src/linux-headers-2.6*/
.config
Если хотите чтобы автоматизировать весь процесс в одну команду, вы можете попробовать следующее; убедитесь, что вы держите все это в одной строке!
wget -qO- http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-2.6.38-6-generic_2.6.38-6.34_i386.deb | dpkg-deb --fsys-tarfile /dev/stdin | tar Ox --wildcards './usr/src/*/.config'
Надеюсь, это поможет!
Репозиторий ядра мерзавца Ubuntu
debian/
метаданные, которые содержат конфигурации и дерево ядра, прослежены оба в единственном репозитории мерзавца на выпуск: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/
repo затем имеет тег для каждого пакета ядра, например, в моей Ubuntu 18.04, у меня есть пакет linux-image-4.15.0-36-generic
, то, которое я предполагаю, соответствует тегу: Ubuntu-4.15.0-36.39
.
https://help.ubuntu.com/community/Kernel/Compile объясняет, как скомпилировать ядро, и поэтому как настроить его и как конфигурации объединяются в заключительную конфигурацию.
Конфигурации все, кажется, находятся под debian.master/config/ARCH
который содержит:
config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency
таким образом, я предполагаю это linux-image-4.15.0-36-generic
объединится config.common.ubuntu
, config.common.amd64
и config.flavour.generic
.
Сценарий, который делает слияние, кажется, debian/scripts/misc/kernelconfig, и это содержит комментарий:
# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>
TODO: существует также debian.master/config/annotations
файл, который, кажется, содержит значение для каждой конфигурации для каждой дуги, как это используется?
Кто-то должен подтвердить все, с чем путем запущения скриптов сборки в подробном режиме так или иначе, но я ленив теперь, можно создать:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic
Я затем подтвердил, что это производит ту же самую конфигурацию, которую я имею локально:
diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic
Обратите внимание, что у мерзавца ядра Ubuntu repo также есть тысячи патчей сверху восходящего Linux, поэтому просто получения правильной конфигурации не будет достаточно для репродуцирования поведения.
Мы можем также утроить проверку, в начале которой ядро, которое мы создали, соответствует упакованному путем взгляда dmesg
из начальной загрузки, которая содержит:
[ 0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)
Конфигурация в .deb
Как упомянуто другими, заключительная полная конфигурация также присутствует под:
/boot/config-4.15.0-36-generic
которые соответствуют каждому изображению ядра Linux:
/boot/vmlinuz-4.15.0-36-generic
Так, для других версий мы можем найти, от которого упаковывают прибывших от:
dpkg -S /boot/config-4.15.0-36-generic
который дает:
linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic
и затем можно просто загрузить .deb
от https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic и извлечение это для получения конфигурации:
mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic
Протестированный в Ubuntu 18.04.