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

15

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

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

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

Оли
источник

Ответы:

30

Каждый 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. archive.ubuntu.com/ubuntu/pool/main/l/linux/ linux-header-2.6 * .deb
  2. затем загляните в /usr/src/linux-headers-2.6*/.config

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

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

Сладен
источник
Спасибо за расследование этого. Прочитав irclog, не похоже, что я получу то, что хочу, без значительной загрузки. С точки зрения автоматизации, все еще проще захватить пакет и извлечь его, /boot-config-*чем пытаться эмулировать волшебство, которое они используют, чтобы автоматически генерировать их во время сборки. Обидно, что нет способа получить один файл из пакета онлайн (или есть?)
Оли
Я думаю, что задам это в отдельном вопросе.
Оли
4

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

Марат Б.Н.
источник
1
Вопрос к 11.04, а не 11.10.
Кристофер Кайл Хортон
1

Хранилище ядра Ubuntu git

debian/Метаданные , который содержит конфигу, и дерево ядра отслеживаются как в одном хранилище мерзавца на выпуск: 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>

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

Обратите внимание, что 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.

Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
источник