Где взять файл.config ядра 11.04?

Я использую Maverick с последними доступными ядрами на kernel.org и собираю их самостоятельно. До сих пор я основывал свою конфигурацию на стандартном ядре Maverick и принимал make oldconfig по умолчанию. Я делаю это для 3 основных выпусков, так что я полагаю, что начинаю отставать от нынешнего "стандарта".

Я хотел бы повторно основать свои ядра от нового Natty .config файл. Это доступно где-нибудь онлайн или мне нужно скачать весь пакет ядра и распаковать его?

Изменить: я вручную вытащил конфиг из последнего пакета ядра Natty, и я могу подтвердить, что я, вероятно, должен был сделать это раньше. Много различий между моим старым "развитым" конфигом и стандартным Natty. Теперь, если бы я мог сделать это без 20 минут охоты и загрузки пакета, чтобы я мог перезагружать базу в будущем.

4 ответа

Решение

Команда ядра выложила конфиги для Natty здесь:

Источники:

Каждый linux-image пакет содержит точный файл конфигурации, с которым он был собран /boot/config-*, Чтобы увидеть файл конфигурации для текущего запущенного ядра Linux, выполните:

  • less /boot/config-$(uname -r)

Я проверил с людьми ядра Ubuntu (на Freenode #ubuntu-kernel) и они подтвердили мое убеждение, что на самом деле не существует "конфиг", но он фактически создается во время сборки / компиляции путем включения ряда Kconfig файлы; они зависят от точной архитектуры и цели (рабочий стол / сервер / облако). Вы должны быть в состоянии прочитать этот (короткий) разговор по адресу:

Список этого разнообразия можно найти с помощью packages.ubuntu.com и следующим поиском:

Охота, вокруг, казалось бы, что .config также включен в linux-headers-* пакеты. Это .deb файлы (которые просты .ar архивы, которые откроются с file-roller) и только около 800 кБ каждый. Если вы знаете конкретную цель, архитектуру и версию, к которой вы стремитесь, вы можете получить их прямо из Launchpad или из самого архива:

  1. http://archive.ubuntu.com/ubuntu/pool/main/l/linux/
  2. затем загляните в /usr/src/linux-headers-2.6*/.config

Если вы хотите автоматизировать весь процесс в одну команду, вы можете попробовать следующее; убедитесь, что вы держите все это на одной линии!

Надеюсь, это поможет!

В моей системе Ubuntu 11.10 конфигурация ядра находится в файле /boot/config-3.0.0-12-generic.

Ubuntu git kernel repository

debian/ метаданные, которые содержат конфиги и дерево ядра, отслеживаются как в одном репозитории git для каждого выпуска: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

Затем в репозитории есть тег для каждого пакета ядра, например, в моем 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>

ТОДО: есть также 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

Обратите внимание, что git-репозиторий с ядром Ubuntu также имеет тысячи патчей в верхней части 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.

Другие вопросы по тегам