Когда я собираю / компилирую ядро, я делаю это из / home / username / build. По завершении, очевидно, есть каталог Kernel в каталоге / home / username / build. Этот каталог огромен! Мой вопрос, безопасно ли удалить этот каталог после успешной загрузки только что скомпилированного ядра? Есть ли части или весь этот каталог, который я должен переместить в мой раздел? Я никогда не компилировал / не собирал ядро, используя учетную запись пользователя root или раздел /. Если я должен собирать его как пользователь root, то откуда на / разделе я должен делать мою сборку?

Извините, я знаю, что это больше, чем один вопрос ...

1 ответ1

1

Традиционное расположение для сборки ядер - это /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 .) Любой подход имеет последствия для безопасности, особенно в многопользовательской системе.

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