Сборка ядра: указание своего конфига

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
IMB
Сообщения: 2559
ОС: Debian

Сборка ядра: указание своего конфига

Сообщение IMB »

Доброго дня!
Мне необходимо собрать ядро для нескольких процессоров, конфигурации хранится в файлах .config_dmXXX, где XXX - тип процессора.
Пока сделал так:

Код: Выделить всё

for i in 365 368; do\
    cp --force $(LINUX)/.config_dm$$i $(LINUX)/.config;\
    make --directory=$(LINUX) ARCH=arm CROSS_COMPILE=$(CROSS) uImage;\
    cp --force $(LINUX)/arch/arm/boot/uImage uImage_dm$$i;\
done

Не нравится то, что необходимо каждый раз создавать .config. Пробовал передавать параметр KCONFIG_CONFIG, но без наличия .config ядро не собирается.
Вопрос - возможно ли указать в параметрах make название файла с конфигурацией?
Спасибо.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Сборка ядра: указание своего конфига

Сообщение sash-kan »

IMB писал(а):
07.09.2011 14:53
Не нравится то, что необходимо каждый раз создавать .config
«создавать»? вы же его просто копируете
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

sash-kan писал(а):
07.09.2011 16:42
«создавать»? вы же его просто копируете

Но ведь изначально его нет, так что это можно считать за создание.
Лишнее действие от которого, если возможно, хочется избавится.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Сборка ядра: указание своего конфига

Сообщение deadhead »

IMB писал(а):
07.09.2011 17:03
Но ведь изначально его нет, так что это можно считать за создание.
Лишнее действие от которого, если возможно, хочется избавится.

как вариант поместить в arch/arm/configs и перед сборкой выполнять

Код: Выделить всё

make ARCH=arm your_config_name
make ARCH=arm uImage
...
[x] close
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

Не, то что Вы предлагаете по факту генерирование того же .config только чуть другим способом.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Сборка ядра: указание своего конфига

Сообщение deadhead »

IMB писал(а):
07.09.2011 23:02
Не, то что Вы предлагаете по факту генерирование того же .config только чуть другим способом.
симлинк не спасет отца русской демократии?
[x] close
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

deadhead писал(а):
08.09.2011 08:50
симлинк не спасет

Если вопрос о принципиальной возможности - да. Но какая разница - буду копировать свой конфиг или создавать на него симлинк?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Сборка ядра: указание своего конфига

Сообщение sash-kan »

Код: Выделить всё

$ grep \\.config /path/to/kernel.org/Makefile
# A third alternative is to store a setting in .config so that plain
KCONFIG_CONFIG    ?= .config
# To make sure we do not include .config for any of the *config targets
# of make so .config is not included in this case either (for *config).
# If .config is newer than include/config/auto.conf, someone tinkered
    $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
MRPROPER_FILES += .config .config.old .version .old_version             \
# mrproper - Delete all generated files, including .config
    @echo  '  make O=dir [targets] Locate all output files in "dir", including .config'
обратите внимание на вторую строчку· не подходит?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

Вы о KCONFIG_CONFIG ?= .config?
Именно наткнувшись на неё я и подумал, что смогу передать её как параметр make, но увы.

Код: Выделить всё

$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- KCONFIG_CONFIG=.config_dm365 uImage
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  CHK     include/linux/compile.h
make[1]: *** No rule to make target `.config', needed by `kernel/config_data.gz'.  Stop.
make: *** [kernel] Error 2

Пробовал закомментировать KCONFIG_CONFIG в Makefile - поведение идентично.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Сборка ядра: указание своего конфига

Сообщение sash-kan »

IMB
так вам всё равно, какой будет конфиг? цель defconfig тогда должна подойти·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

sash-kan писал(а):
08.09.2011 14:34
так вам всё равно, какой будет конфиг?

Откуда такой вывод?
У меня есть определённые конфиги, по которым необходимо собрать ядро.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Сборка ядра: указание своего конфига

Сообщение sash-kan »

IMB писал(а):
08.09.2011 15:25
Откуда такой вывод?
сделан из этих слов:
IMB писал(а):
07.09.2011 14:53
Не нравится то, что необходимо каждый раз создавать .config


как я понимаю на данный момент, вас смущает лишь наличие некоторых буковок в запускаемом вами скрипте, и вы хотите заменить эти буковки на другие·
если я правильно понял, могу посоветовать: смиритесь уж, буковки всё-таки не абсолютно взаимозаменяемы…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

sash-kan писал(а):
08.09.2011 17:14
как я понимаю на данный момент, вас смущает лишь наличие некоторых буковок в запускаемом вами скрипте, и вы хотите заменить эти буковки на другие·

В общем да, это скорее вопрос эстетики ;)
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Сборка ядра: указание своего конфига

Сообщение deadhead »

Странно,

Код: Выделить всё

make ARCH=arm KCONFIG_CONFIG=config.my
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/pnmtologo
  CHK     include/generated/compile.h
  CC      arch/arm/mm/dma-mapping.o
....

может в этом дело
kbuild: fix interaction of CONFIG_IKCONFIG and KCONFIG_CONFIG
ARM: Fix build error when using KCONFIG_CONFIG
?

P.S. что-то kernel.org недоступен, на всякий случай приложу упомянутые патчи.
Вложения
0001_kbuild_fix_interaction_of_CONFIG_IKCONFIG_and_KCONFI.patch.tar.gz
(1.06 КБ) 162 скачивания
0001_ARM_Fix_build_error_when_using_KCONFIG_CONFIG.patch.tar.gz
(724 байт) 158 скачиваний
[x] close
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Сборка ядра: указание своего конфига

Сообщение IMB »

Попробую. на первый взгляд там нет привязки к версии, или есть?
Спасибо сказали:
Ответить