Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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