LINUX.ORG.RU

Особенности сборки ядра

 , ,


0

1

Собираю ядро из исходников (ядро 3.15.5, gcc-4.4). Конфиг свой(поддержка EFI, без сети). Команды, которые использую для сборки (сборка в той же директории, где лежат исходники)

make oldconfig modules_prepare
make bzImage
make modules
make modules_install INSTALL_MOD_PATH=[PATH]
Ядро собирается и работает.

Едем дальше. Если для сборки ядра я хочу использовать другую директорию я использую опцию «O=[PATH]»:

make O=[PATH] oldconfig modules_prepare
make O=[PATH] bzImage
make O=[PATH] modules
make O=[PATH] modules_install INSTALL_MOD_PATH=[PATH]

Ядро собирается и даже работает. Вот в чём вопрос. Если я собираю ядро разными способами (первый - для сборки использую папку с исходникми, второй - для сборки использую другую папку, отличную от папки с исходниками) то и само ядро и файлы модулей отличаются между собой по размеру.
Для примера: размер файлов ядра 4 855 696 и 4 854 064 байт.
Такое отличие в размере - это нормально? Или чем оно обусловлено?


Это может быть из-за изменения длин путей к исходникам в отладочной информации.

xaizek ★★★★★
()

По-моему это делается так:

cd /usr/src/linux
make oldconfig
#make -j5 menuconfig
make -j5 && make INSTALL_MOD_STRIP=1 -j5 modules_install
mount /boot
cp -v /usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-${KERNVERS}

обрати внимание на то, что мы стрипаем модули от отладочной информации

anonymous
()
Ответ на: комментарий от anonymous

За ссылку спасибо.
INSTALL_MOD_STRIP - нужно попробовать, раньше нигде не видел такого параметра
А если отключить в конфиге CONFIG_DEBUG_INFO, от отладочной информации избавит?

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