Страница 1 из 1
Сборка ядра: указание своего конфига
Добавлено: 07.09.2011 14:53
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 название файла с конфигурацией?
Спасибо.
Re: Сборка ядра: указание своего конфига
Добавлено: 07.09.2011 16:42
sash-kan
IMB писал(а): ↑07.09.2011 14:53
Не нравится то, что необходимо каждый раз создавать .config
«создавать»? вы же его просто копируете
Re: Сборка ядра: указание своего конфига
Добавлено: 07.09.2011 17:03
IMB
sash-kan писал(а): ↑07.09.2011 16:42
«создавать»? вы же его просто копируете
Но ведь изначально его нет, так что это можно считать за создание.
Лишнее действие от которого, если возможно, хочется избавится.
Re: Сборка ядра: указание своего конфига
Добавлено: 07.09.2011 21:49
deadhead
IMB писал(а): ↑07.09.2011 17:03
Но ведь изначально его нет, так что это можно считать за создание.
Лишнее действие от которого, если возможно, хочется избавится.
как вариант поместить в arch/arm/configs и перед сборкой выполнять
Код: Выделить всё
make ARCH=arm your_config_name
make ARCH=arm uImage
...
Re: Сборка ядра: указание своего конфига
Добавлено: 07.09.2011 23:02
IMB
Не, то что Вы предлагаете по факту генерирование того же .config только чуть другим способом.
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 08:50
deadhead
IMB писал(а): ↑07.09.2011 23:02
Не, то что Вы предлагаете по факту генерирование того же .config только чуть другим способом.
симлинк не спасет
отца русской демократии?
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 09:03
IMB
deadhead писал(а): ↑08.09.2011 08:50
симлинк не спасет
Если вопрос о принципиальной возможности - да. Но какая разница - буду копировать свой конфиг или создавать на него симлинк?
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 11:57
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'
обратите внимание на вторую строчку· не подходит?
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 12:23
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 - поведение идентично.
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 14:34
sash-kan
IMB
так вам всё равно, какой будет конфиг? цель defconfig тогда должна подойти·
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 15:25
IMB
sash-kan писал(а): ↑08.09.2011 14:34
так вам всё равно, какой будет конфиг?
Откуда такой вывод?
У меня есть определённые конфиги, по которым необходимо собрать ядро.
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 17:14
sash-kan
IMB писал(а): ↑08.09.2011 15:25
Откуда такой вывод?
сделан из этих слов:
IMB писал(а): ↑07.09.2011 14:53
Не нравится то, что необходимо каждый раз создавать .config
как я понимаю на данный момент, вас смущает лишь наличие некоторых буковок в запускаемом вами скрипте, и вы хотите заменить эти буковки на другие·
если я правильно понял, могу посоветовать: смиритесь уж, буковки всё-таки не абсолютно взаимозаменяемы…
Re: Сборка ядра: указание своего конфига
Добавлено: 08.09.2011 17:28
IMB
sash-kan писал(а): ↑08.09.2011 17:14
как я понимаю на данный момент, вас смущает лишь наличие некоторых буковок в запускаемом вами скрипте, и вы хотите заменить эти буковки на другие·
В общем да, это скорее вопрос эстетики
Re: Сборка ядра: указание своего конфига
Добавлено: 09.09.2011 10:08
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 недоступен, на всякий случай приложу упомянутые патчи.
Re: Сборка ядра: указание своего конфига
Добавлено: 09.09.2011 11:24
IMB
Попробую. на первый взгляд там нет привязки к версии, или есть?