Традиционное расположение для сборки ядер - это /usr/src/linux-{version}
с символической ссылкой оттуда на /usr/src/linux
для удобства исходного кода, который ищет заголовочные файлы ядра Linux. Другие места (например, ваш собственный домашний каталог) должны работать. Я недавно не проверял, есть ли какое-то более новое местоположение, которое стало стандартом, так как я изучил это много лун назад.
Да, файлы ядра и скомпилированные ядра занимают много места. Если вы не работаете на носителе с очень ограниченным пространством (например, на планшете или нетбуке с крошечным MMC-диском), я рекомендую вам сохранить скомпилированное ядро - хотя бы на некоторое время. Я часто нахожу, что локально скомпилированное ядро может работать хорошо, но затем я сталкиваюсь с проблемой - отсутствующим драйвером или необходимостью настройки опции времени компиляции, которую я упустил. В таких случаях часто гораздо быстрее и проще настроить один параметр и перекомпилировать (что может потребовать компиляции одного или двух файлов, а не всего ядра, в зависимости от того, что нужно настроить), чем начинать все заново.
Промежуточная альтернатива удалению всего дерева каталогов - сделать make clean
в каталоге ядра. Это должно удалить все файлы объектов (*.o
), сохранив исходный код и вашу уникальную конфигурацию ядра. Вы все равно будете использовать дисковое пространство, но не так много, как потребляет скомпилированное ядро.
Что касается используемой учетной записи, я использую мою обычную учетную запись пользователя для компиляции ядра; но необходимо быть пользователем root
(или использовать sudo
), чтобы скопировать файл ядра в /boot
, скопировать модули в /lib/modules
(через make modules_install
) и создать начальный RAM-диск (с помощью команд, которые отличаются от одного дистрибутива). другому). Однако существует множество альтернативных способов компиляции и установки ядра, некоторые из которых имеют другие потребности. Кроме того, чтобы писать в /usr/src
, вы должны иметь root
в большинстве дистрибутивов. Если вы компилируете как обычный пользователь, для этого потребуется настроить права доступа либо к /usr/src
в целом, либо к дереву ядра Linux после того, как вы извлечете его как root
. (Или я полагаю, что вы можете извлечь его в другом месте как обычный пользователь, а затем переместить его в /usr/src
от имени пользователя root
.) Любой подход имеет последствия для безопасности, особенно в многопользовательской системе.