Используется старый конфиг ядра [РЕШЕНО]

Собственно странное поведение, замечаю уже второй раз.

Сейчас использую старое ядро, vanilla-sources-3.0.51, у меня 64 битная система. В следствие недавно выявленной уязвимости в ядре, позволяющей получить root привилегии решил обновить ядро и поставить gentoo-sources-3.8.13.
При выполнении конфигурирования ядра, что просто

make menuconfig

Что

make defconfig

Конфиг берётся, как будто от моего текущего ядра, т.к. при make menuconfig вижу выбраны и отключены те же опции, что и в конфиге старого ядра. Единственно, что при defconfig не включены опции поддержки aufs, я накладывю на ядро патчи.

Что это вообще, как мне получить дефолтный конфиг, что бы самому выбрать все опции.

Вот конфиг gentoo-sources-3.8.13 http://bpaste.net/show/99326/

Вот конфиг vanilla-sources-3.0.51 http://bpaste.net/show/99327/

Конфиг для gentoo-sources-3.8.13 был получен простым вызовом 'make menuconfig', проверкой некоторых опций, без их изменения и дальнейшим выходом из конфигуратора с сохранением конфига, последующий вызов 'make oldconfig' показал, что новых опций нет.

Почему так происходит?

РЕШЕНИЕ:
http://www.gentoo.ru/node/27101#comment-201606
http://www.gentoo.ru/node/27101#comment-201620

Туманное что-то... К примеру

Туманное что-то...
К примеру я ставлю новое ядро (или переставляю текущее):

root # emerge -vp gentoo-sources
...
[ebuild   R   ~] sys-kernel/gentoo-sources-3.9.2:3.9.2  USE="symlink -build -deblob" 0 kB
...

Исходники распакуются в каталог /usr/src , а если включен USE флаг symlink, то и исправится ссылка /usr/src/linux

user $ ls /usr/src/ -la
...
lrwxrwxrwx  1 root root 18 мая   16 15:11 linux -> linux-3.9.2-gentoo
drwxr-xr-x 24 root root 54 мая   16 15:19 linux-3.9.2-gentoo

После чего достаточно сделать:

root # cd /usr/src/linux
root # zcat /proc/config.gz > .config
root # make oldconfig

И получим новый конфиг ядра на основе старого.
А если нужен совсем новый конфиг, тогда просто выполняем:

root # cd /usr/src/linux
root # rm .config
root # make nconfig

Как-то так...

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

Новый дефолтный конфиг ядра

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

make defconfig

Я хочу просто стандартное поведение.

У меня же за основу, что при вызове

make defconfig
make menuconfig

или

make nconfig

берётся конфиг от старого ядра, т.к. я вижу, что большинство опций в конфиге ядра выключены, в соответствие с моим оборудованием.
Что вообще достигается отчасти

make localyesconfig

Но я хочу конфиг по умолчанию:

make defconfig

попробуй make mrproper может

попробуй make mrproper может больше понравиться )

Где ? Я установил новые

Где ? Я установил новые исходные коды ядра, они чистые.

Уже делал и 'make clean' с 'make mrproper' не помогает.

Я прозреваю, что cd делается

Я прозреваю, что cd делается не в тот каталог.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

В какой не тот ? emerge

В какой не тот ?

emerge =gentoo-sources-3.8.13
cd /usr/src/linux-3.8.13-gentoo
make menuconfig

Даже если переключить ссылку /usr/src/linux всё так же.

а гдеmake oldconfig???

а где

make oldconfig

???
советую

make mrproper

потом

cp <OldConfig> .config
make oldconfig
make menuconfig - если надо...

Я не хочу использовать конфиг

Я не хочу использовать конфиг от старого ядра.

Ещё раз, я не копировал конфиг старого ядра из директории с исходными кодами старого ядра или откуда ещё в директорию с новыми исходными кодами. Я просто выполнил 'make menuconfig' и увидел, что опции сборки ядра в конфигураторе выставлены почти так же как и в конфиге моего старого ядра, в частности опции поддержки оборудования, файловых систем. При 'make defconfig' происходило примерно так же, за исключением того, что опция CONFIG_AUFS_FS не была задействована.

Я хочу, что бы в директории с новыми исходными кодами командой:

make defconfig

Создался конфиг по умолчанию со всем включенными по умолчанию опциями. Потому, что так должно быть.

make menuconfig

При вызове этой опции конфигурирования в случае отсутствия конфигурационного файла .config в директории с исходными кодами должен так же создаться дефолтный конфиг и запуститься утилита конфигурирования.

В общем ладно, хз, будем использовать так, как сейчас работает.

"Вроде нормальный, преданный

"Вроде нормальный, преданный рейху пацан! Но блин спинным мозгом чувствую..." - троллишь :-)

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

Если бы у меня не было

Если бы у меня не было проблемы, которую я не понимаю и не могу найти ответа, я бы тему вообще не создавал.

Для начала нужно определится,

Для начала нужно определится, что есть дефолтный конфиг ядра (какие пункты там должны быть включены, какие выключены), так сказать - задать точку отсчета. И вот только потом задаваться вопросом, а почему реалии не совпадают с ожиданием.

А так, ИМХО - тред не о чем.

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

Я уже ответил ниже.

Я уже ответил ниже.

В общем, скорее всего, так

В общем, скорее всего, так раньше и было. До этого давно я собирал ядро с помощью genkernel kernel --menuconfig и соответственно брался дефолтный конфиг от genkernel, т.е. конфиг дистрибутивного так сказать ядра, конфиг подготовленный разработчиками Gentoo.

Посмотрел размеры дефолтных конфигов, которые идут вместе с исходными кодами ядра:

wc -l arch/x86/configs/*
  310 arch/x86/configs/i386_defconfig
  308 arch/x86/configs/x86_64_defconfig

Видимо, при defconfig учитываются так же опции сборки и текущего ядра. Отсюда получается и "большой" конфиг при первоначальной установке системы, когда используется gentoo-minimal-cd или systemrescucd. Когда же система установлена и конфиг ядра оптимизирован в последствие при 'make defconig' или просто 'make menuconfig' получается уже конфиг с учётом опций оптимизированного под железо ядра.

В общем [РЕШЕНО] / [НЕ РЕШЕНО], но проблемы нет.

.

Каждая из опций в конфигурации ядра предусматривает значение по умолчанию. Поэтому arch/x86/configs/i386_defconfig можно сократить, убрав значения выставляемые по умолчанию и оставив значения специфичные для платформы.
Для x86 есть только 2 вариации i386_defconfig и x86_64_defconfig.
Если взглянуть на arch/arm то в наличие имеется множество SoC и board - march-... и plat-... . Поэтому и состав arch/arm/configs/ имеет большее количество файлов.

Проведя несложный эксперимент

# cd /usr/src/linux
# mv .config config.orig
# make mrproper
# make defconfig
# mv .config config.defconfig
# make mrproper
# make nconfig
<ESC>
# mv .config config.menu

А затем сравнив config.orig config.defconfig config.menu, можно увидеть, что config.orig и config.menu совпадают.

Отсюда можно сделать предположение, что

# zcat /proc/config.gz > .config

стало излишним. Ядро самостоятельно берет от туда информацию.

И как следствие, можно выдвинуть еще одно предположение. При настройке ядра во время установки через genkernel, а так же в начале обычного make menuconfig, настройки ядра наследуются с того дистрибутива (liveCD), с которого производится установка (gentoo-minimal, systemrescuecd, и прочее).
А это может развенчать бытующий миф об интеллектуальной работе genkernel, и как вывод - на "сломаном" конфиге ядра genkernel не поможет его исправить. (Это когда пользователь "неумело" установил ядро через make menuconfig, а потом пытается исправить свои огрехи используя genkernel)

Почему я говорю в нотации предположений - для их подтверждения необходимо посмотреть исходники сборочной системы ядра и genkernel.

PS. mrproper - не такой уж чистюля. Достаточно его выполнить перед emerge --depclean.

.

А вот и ответ. Лежал на поверхности. (с /proc/config.gz был не прав)

# make mrproper
# make config
...
# using defaults found in /boot/config-3.8.13-gentoo-....
...

после его удаления

# make mrproper
# make config
...
# using defaults found in arch/x86/configs/x86_64_defconfig

Причем эксперимент проводился с выбранным ядром 3.6.11

#eselect kernel list
Available kernel symlink targets:
  [1]   linux-3.6.11-gentoo *
  [2]   linux-3.7.10-gentoo-r1
  [3]   linux-3.8.10-gentoo
  [4]   linux-3.8.13-gentoo

Но в качестве исходного был выбран конфиг от работающего в данный момент 3.8.13

PS. mythbusters genkernel ? Yes : No

Если вы прочитаете моё

Если вы прочитаете моё сообщение, на которое написали два ответа, то увидите, что я сделал примерно те же выводы. Но, всё равно, спасибо за желание помочь решить вопрос и проделанную работу.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".