Существует определенный образ Ubuntu, который работает (с SD-карты) с аппаратным контроллером. Весь образ занимает 2 гигабайта, таков размер карты. Образ построен на старом ядре. Нам нужно заменить материнскую плату, потому что старая больше не доступна, а новая подходящая не говорит со старым ядром. И самое главное, безвозвратно (из-за определенного хаоса при смене разработчиков) пароль пользователя root из образа теряется - то есть цивилизованная замена ядра изнутри, увы, работать не будет. Вопрос: возможно ли это - и как я могу изменить ядро, не меняя остальное, вне системы, просто переписав что-то карту с существующим образом с моего ноутбука? Если нет, то необходимо будет восстановить весь модернизированный и отлаженный образ, чего я хотел бы избежать.

1 ответ1

0

Во-первых, я не могу не подчеркнуть, что нужно использовать не вашу рабочую копию, а сделать резервную копию и использовать ее на случай, если что-то пойдет не так.

Это может не сработать, но это ваш лучший шанс.

Для начала ядро зависит от файлов в /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 необходимо будет изменить, чтобы они указывали на эти новые файлы.

  1. Сделайте резервную копию вашей SD-карты и используйте резервную копию
  2. Если ваша старая материнская плата не поддерживает UEFI, отключите ее на новой материнской плате, иначе возникнут проблемы.
  3. Получить другую SD-карту / HDD
  4. Установите более новую версию того дистрибутива, который вы использовали.
  5. Скопируйте / boot и / lib / modules / в соответствующие места на резервной копии вашей ОС. При наличии / usr / lib / bootloader также следует скопировать.
  6. Загрузитесь и посмотрите, что получится.

Вероятно, будут другие проблемы с совместимостью. Самая большая опасность - продвинуться далеко вперед и перейти от initd к systemd или другим важным изменениям.

Я бы посоветовал выяснить, какую версию дистрибутива вы используете, и переместиться только на 1 версию выше. Если установка не удалась, вы можете двигаться вперед по одной версии за раз.

Если у вас есть загрузочная система, я предлагаю использовать apt-get или etc для полного обновления дистрибутива в подходящем поместье.

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