Можно ли использовать ядро ​​Linux совместно с двумя операционными системами?

Можно ли использовать ядро ​​Linux совместно с двумя операционными системами?

Довольно простой вопрос. Я работаю над проектом по установке нескольких операционных систем (все Linux) на одной машине с использованием подтомов btrfs, чтобы пользователь мог загрузить среду, в которой ему удобно. Поскольку все они используют ядро ​​Linux, можно ли скомпилировать и использовать единое ядро ​​для всех операционных систем на машине? Есть ли что-то специфичное для ОС, и если да, то требуются ли ОС только модули ядра или это глубже?

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

решение1

OpenVZделает именно то, что вы просите.

Он создает контейнеры, которые на 100% независимы друг от друга, но используют одно и то же модифицированное ядро.

Единственным недостатком по сравнению с полной виртуализацией является то, что при использовании контейнеров невозможно установить ничего, кроме Linux.

решение2

OpenVZ великолепен и обеспечивает безопасное, стабильное и простое в использовании решение для контейнеров. Однако есть также Linux Containers, которые встроены в Linux, и в последних выпусках ядра был достигнут большой прогресс.

Контейнеры Linux имеют множество утилит пользовательского пространства, которые вы можете использовать, включая lxc, vzctl (из OpenVZ), libvirt и docker.

Контейнеры Linux позволяют запускать процессы (и пользователей, если вы используете пользовательские пространства имен) в отдельных пространствах имен. Это создает ощущение отдельной системы, работающей на том же ядре, и позволяет добавлять ограничения к ресурсам с помощью cgroups. Контейнеры Linux чрезвычайно легковесны по сравнению с аппаратными виртуальными машинами, такими как Xen, Qemu/KVM или VMWare.

Связанный контент