Существует определенный образ Ubuntu, который работает (с SD-карты) с аппаратным контроллером. Весь образ занимает 2 гигабайта, таков размер карты. Образ построен на старом ядре. Нам нужно заменить материнскую плату, потому что старая больше не доступна, а новая подходящая не говорит со старым ядром. И самое главное, безвозвратно (из-за определенного хаоса при смене разработчиков) пароль пользователя root из образа теряется - то есть цивилизованная замена ядра изнутри, увы, работать не будет. Вопрос: возможно ли это - и как я могу изменить ядро, не меняя остальное, вне системы, просто переписав что-то карту с существующим образом с моего ноутбука? Если нет, то необходимо будет восстановить весь модернизированный и отлаженный образ, чего я хотел бы избежать.
1 ответ
Во-первых, я не могу не подчеркнуть, что нужно использовать не вашу рабочую копию, а сделать резервную копию и использовать ее на случай, если что-то пойдет не так.
Это может не сработать, но это ваш лучший шанс.
Для начала ядро зависит от файлов в /boot.
System.map-4.19.1-1-default
.vmlinuz-4.19.4-1-default.hmac
config-4.19.4-1-default
initrd-4.19.1-1-default
initrd is symlinked to above
symvers-4.19.1-1-default.gz
sysctl.conf-4.19.1-1-default
vmlinux-4.19.1-1-default.gz
vmlinuz symlink to below
vmlinuz-4.19.4-1-default
Вам нужны все эти файлы из новой версии, очевидно, что большинство имен файлов содержат номер версии и будут отличаться в зависимости от используемой вами версии ядра.
Внутри /lib /modules / есть серия папок по одной для каждой версии ядра. Например:
4.19.4-1-default
Все модули в этой папке необходимо будет скопировать.
Наконец, ваши файлы grub или grub2 необходимо будет изменить, чтобы они указывали на эти новые файлы.
- Сделайте резервную копию вашей SD-карты и используйте резервную копию
- Если ваша старая материнская плата не поддерживает UEFI, отключите ее на новой материнской плате, иначе возникнут проблемы.
- Получить другую SD-карту / HDD
- Установите более новую версию того дистрибутива, который вы использовали.
- Скопируйте / boot и / lib / modules / в соответствующие места на резервной копии вашей ОС. При наличии / usr / lib / bootloader также следует скопировать.
- Загрузитесь и посмотрите, что получится.
Вероятно, будут другие проблемы с совместимостью. Самая большая опасность - продвинуться далеко вперед и перейти от initd к systemd или другим важным изменениям.
Я бы посоветовал выяснить, какую версию дистрибутива вы используете, и переместиться только на 1 версию выше. Если установка не удалась, вы можете двигаться вперед по одной версии за раз.
Если у вас есть загрузочная система, я предлагаю использовать apt-get или etc для полного обновления дистрибутива в подходящем поместье.