LINUX.ORG.RU

Вопрос о поведении make menuconfig

 , ,


0

1

До этого я пользовался gentoo-sources, но решил попробовать ck-sources. При этом я побоялся скопировать старый .config (и сделать make oldconfig), решив, что ck-патчи могут иметь какие-то несовместимые фишки.

Я подумал, что для нового ck-ядра сгенерируется default настройки и придется долго настраивать с нуля. А фиг там! make menuconfig откуда-то «стырил» почти все мои предыдущие настройки. Пришлось только включить BFQ-scheduler, ради которого я и перешел на ck.

Подозреваю, что настройки были взяты из /proc/config.gz . Прав ли я, нормальное ли это поведение для make (menu)config, и стоит ли ожидать каких-то проблем?

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

По сабжу — у тебя два пути: либо разбираться в этом адовом коде на gnu make, либо перестраховаться и делать zcat /proc/config.gz > /usr/src/linux-<version>/.config при каждом обновлении.

demidrol ★★★★★
()
Ответ на: комментарий от Deleted

а поподробнее?

Поскольку у меня в /boot конфиги не лежат, то тырятся оттуда конфиги или нет — не могу утверждать. В моём случае берутся именно default-конфиги (как и ожидал автор поста). Нашёл только scripts/kconfig/streamline_config.pl, в котором ишутся конфиги (в том числе и в /proc) и который используется в Makefile в целях localyesconfig и localmodconfig. Цели, судя по всему, для модификации конфига. Однако, хотя в /proc конфиг лежит, make menuconfig у меня его не использует и возмёт default-config. Может быть потому, что в основном я пользуюсь RHEL-ядрами и для vanila-ядер поведение другое.

В каком случае make menuconfig решает, что можно искать старый конфиг в /boot, /proc .. ?

seyko2
()
Ответ на: а поподробнее? от seyko2

в boot лежат 3 файла

/boot $ ls
config-3.17.4-ck  System.map-3.17.4-ck  vmlinuz-3.17.4-ck
.вот если буду обновлять ядро при помощи
make nconfig
, возьмётся конфиг из config-3.17.4-ck, если подобного файла не будет, то тогда и конфига не будет.
как понял, в /proc/config.gz make лезит, если в /boot/ ядро есть, а конфига - нет.
отмонтируй /boot/ иль удали ядро.

Deleted
()
Последнее исправление: Lifun (всего исправлений: 2)
Ответ на: комментарий от Chaser_Andrey

make defconfig

Два чая этому господину.
Для невыспанных поясню, что эта команда делает дефолтный конфиг, а не тот, который сейчас в твоей системе.

Подозреваю, что настройки были взяты из /proc/config.gz . Прав ли я,

Скорее всего. Не задавался этим вопросом. Работает - я и не трогаю.

нормальное ли это поведение для make (menu)config

Да.

и стоит ли ожидать каких-то проблем?

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

Kroz ★★★★★
()
Ответ на: комментарий от JK

А оно так умеет? Мне не верится, разве что genkernel юзать.

rumly111
() автор топика
Ответ на: комментарий от Kroz

make defconfig

Наверное, и мне нужно было с нуля настроить. Я апгрейдил с 3.10.32 на ск-3.17.4. Но вроде все работает, и даже шустрее.

rumly111
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.