Копирование модулей в другую систему
Я настроил и сделал собственное ядро из ванильного ядра, загруженного с сайта kernel.org. Теперь я перенес его на другую машину с простым копированием "vmlinuz" и "initrd.img" и выполнением некоторой конфигурации grub. (На самом деле я использую Xen, поэтому grub config мне тоже не понадобился)
Теперь для модулей, как я могу скопировать это? Можно ли просто скопировать /lib/modules/(myCustomeKernelVersion) в другую систему?
Что касается Xen, в официальной документации Ubuntu для xen-create-image показана опция --modules, указывающая на каталог модулей. Это тот же каталог, что и упомянутый выше?
Обратите внимание, что я использую ядро vanilla, а не ядро дистрибутива. Это необходимо, пожалуйста, никаких вопросов по этому поводу.
2 ответа
Если вы используете ядро vanilla, я бы порекомендовал собрать такое же ядро vanilla и модули из источника ядра самой виртуальной машины. Возможно, не стоит использовать модули, скомпилированные / доступные с Ubuntu, поскольку это может вызвать проблемы с архивацией / совместимостью, паникой и т. Д. Пользовательские модули ядра доступны в / lib / modules /uname -r
если сборка прошла правильно.
Примечание: --modules=/path/to/modules, эта опция для указания расположения модулей в domU, аналогично "--initrd"
Я делаю это все время в своих экспериментах с загрузкой Ubuntu на своих устройствах Android, где мне нужна полная папка модулей,
system.map
vmlinuz
, а также
config
. Вы можете получить полную сборку, исходный код и модули, и все, что вам нужно сделать, это открыть командную строку в
/lib/modules
затем используйте
sudo zip -r your-custom-kernel-string.zip your-custom-kernel-string
Затем скопируйте zip в то место, где вы хотите хранить их, например, на рабочем столе или в домашней папке, и
chown
их после этого. Это заархивирует все относительные файлы в папке пользовательских модулей ядра.