3

Я не компилировал ядра Linux пару лет, и теперь, когда я начал делать это снова, я обнаружил, что модули устанавливаются с символами отладки по умолчанию, если только INSTALL_MOD_STRIP=1 не передается для make modules_install , что делает их настолько большими , что мой initrd изображения выросли до сотен мегабайт.

Я нашел опцию INSTALL_MOD_STRIP после того, как немного погуглил, и даже тогда только в темах форума, где люди спрашивают, почему их модули такие большие.

Поэтому мне интересно, какова причина, по которой это изменилось, когда я использовал предварительно скомпилированные ядра? Есть ли причина, по которой модули теперь устанавливаются с символами отладки по умолчанию (хотя бинарные дистрибутивы все еще удаляют их)? Кажется довольно эзотерическим использование отладочных символов в ядре, и оно, очевидно, имеет очень большие недостатки с точки зрения установленного размера.

По сути, я должен просто рассмотреть INSTALL_MOD_STRIP как часть стандартной формулы компиляции ядра? Существуют ли какие-либо другие изменения в процессе сборки, начиная с ~ 2.6.25, о которых мне следует знать?

1 ответ1

2

Я просто публикую сообщение из соответствующего патча, чтобы ответить на ваш вопрос, кто / почему изменился:

commit 2ea038917bbdd51a7ae4a898c6a04641324dd033
Author: Sam Ravnborg <sam@ravnborg.org>
Date:   Wed Jan 14 21:38:20 2009 +0100

Revert "kbuild: strip generated symbols from *.ko"

This reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483.

And commit: ("allow stripping of generated symbols under CONFIG_KALLSYMS_ALL")
            9bb482476c6c9d1ae033306440c51ceac93ea80c

These stripping patches has caused a set of issues:

1) People have reported compatibility issues with binutils due to
   lack of support for `--strip-unneeded-symbols' with objcopy 2.15.92.0.2
   Reported by: Wenji
2) ccache and distcc no longer works as expeced
   Reported by: Ted, Roland, + others
3) The installed modules increased a lot in size
   Reported by: Ted, Davej + others

Reported-by: Wenji Huang <wenji.huang@oracle.com>
Reported-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Dave Jones <davej@redhat.com>
Reported-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .