переключение между различными версиями ядра без перезагрузки

Решение этой проблемы отсутствует.

Несколько приложений GUI (gedit, leafpad, ...) используют открытый (O_RDWR) + режим поиска для сохранения файлов, которые не могут поддерживаться протоколом FTP. Поэтому сохранение файлов может привести к ошибке. Надеемся, что будущие ядра предоставят специальные errno, чтобы упростить работу с менее способными файловыми системами.

Это то, что говорит https://github.com/JackSlateur/curlftpfs.

Лучшим решением, возможно, является просто использование встроенного файла LibreOffice & rarr; Откройте Remote ... функциональность.

11
задан 12 March 2012 в 17:32

3 ответа

Невозможно заменить два полных ядра. Я уверен, что вы можете понять значение монолитного ядра, такого как Linux, и почему это делает невозможным простое замену.

Ближе всего вы можете использовать процесс обновления с использованием Ksplice. Он преобразует обновления ядра в волшебные прокладки, которые могут вставлять отверстия в запущенном ядре, что позволяет вам поддерживать компьютер на неопределенный срок, не перезагружая компьютер. Для ваших целей он также позволяет вам откатываться от изменений.

Это бесплатно для выпусков Ubuntu Desktop, поэтому вы можете играть с ним, но вы должны оплачивать подписку на серверы (где такая вещь больше всего

Просто видел ваше редактирование. Ksplice, вероятно, не поможет, если вы вручную взломаете и создаете свои собственные ядра для отладки, поскольку «служба» заключается в том, что они предоставляют специальные обновления, и они не могут быть созданы вами самим.

Если вы просто строите вещи против официального ядра, это может все еще работать.

Еще одна идея: виртуализация. Вы можете создать новое ядро ​​и поменять местами на своей виртуальной машине и перезагрузить компьютер. По-прежнему потребуется время, необходимое для перезагрузки, но вы можете сделать VM намного легче, чем ваша машина разработки (основывайте ее на сервере Ubuntu, удалите X-сервер, если он вам не нужен, и т. Д.).

6
ответ дан 25 May 2018 в 13:34
  • 1
    но я хочу переключиться между двумя разными ядрами в каталоге my / boot – coder 12 March 2012 в 17:31
  • 2
    Да, вы не сможете произвольно переключаться между двумя ядрами. Я добавил другое редактирование с другой идеей, которая может сработать для вас. – Oli♦ 12 March 2012 в 18:10

Как сказал Оли, ваш лучший снимок - это, вероятно, виртуализация.

При этом, если вы возитесь с аппаратным обеспечением, виртуализация может не сократить его для вас, и в этом случае вы можете использовать Oli , чтобы поменять рабочее ядро ​​без полной перезагрузки.

Снято с страницы ArchWiki kexec:

kexec -l /boot/new-kernel --initrd=/boot/new-initrd --reuse-cmdline
kexec -e

Обратите внимание, что выше все будет перезагружать все службы, включая вашу систему инициализации, сервер отображения, сеть и т. д. Однако, если вы используете достаточно быструю систему init, например systemd, вы можете загрузиться в новое ядро ​​через 2-3 секунды, так как вы обходите BIOS / UEFI и загрузчик.

Аналогичное описание можно найти на странице ArchWiki kexec .

2
ответ дан 25 May 2018 в 13:34

Я думаю, что эти ответы должны быть обновлены.

Теперь есть kpatch, который является более родным, чем ksplice и др.

Он не может изменять встроенные структуры данных хотя, по очевидным причинам, так что это в основном полезно для горячих точек безопасности.

Теперь есть kpatch . Запуск процессов по-прежнему сохраняет структуры данных ядра, ожидая, что функции ядра ожидают их и дадут им назад. И без этих процессов для этого невозможно узнать, если это так. Поэтому вы не можете изменить их, пока все процессы, которые их используют, перезапускаются. Для этого потребовалось бы переустановить все эти программы. И я даже не упоминал изменения драйверов, когда оборудование находится в специальном состоянии. (Та же проблема, что и с ksplice .)

0
ответ дан 25 May 2018 в 13:34

Другие вопросы по тегам:

Похожие вопросы: