Автор Тема: Запуск в MagOs-режиме уже установленных обычным способом дистрибутивов линукс  (Прочитано 3048 раз)

Оффлайн betcher

  • Начинающий
  • *
  • Сообщений: 10
    • Email
У нас появилась интересная штука. Приглашаем к тестированию.
Запуск в магос-режиме уже установленных обычным способом дистрибутивов линукс. Не исо, а именно установленные оси. Запущенная таким образом система имеет сопоставимые с магос возможности. Неубиваемость, загрузка с нескольких источников и прочее.
Для того, чтоб это реализовать на вашей машине потребуется ядро и собранный под него uird (магос-инитрд), плюс настройка загрузчика.
Распакуйте этот архив http://files.magos-linux.ru/betcher/MagOS.tar.gz в корневой раздел системы. Там папка MagOS в ней ядро и uird.
Далее в загрузчике нужно добавить новый пункт. Приблизительно так:

kernel /MagOS/vmlinuz uird.from=/dev/sda1 uird.ro=*layer-base/0 uird.load=*
initrd /MagOS/uird.magos.cpio.xz

Естественно нужно уточнить свои пути до ядра и uird, а так же раздел с корневой фс в параметре uird.from= ( можно по метке диска, тогда так uird.from=LABEL@/ )

В результате такой загрузки вы получаете систему изменения в которой не записываются на диск. То что в магос называется "чистым режимом". Загрузить так можно различные 64 бит линукс системы, я тестировал такую загрузку со стартеркитом альт линукса с цинамоном.
З.Ы. Мы только в начале пути будем рады любым отзывам здесь или в нашем форуме http://magos-linux.ru
« Последнее редактирование: 22.12.2015 17:17:01 от betcher »

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Возможность потрясающая, но судя по тишине комментариев, ее преимущества мало понятны.

Тут скорее больше могут заинтересоваться те, кто в школах внедряет Альты. Преимущества подобной инсталляции сводят на нет желание ставить систему по другому.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Так давно уж приглашаю в проект, чтоб втаскивать наработки и можно было их далее нести в выпуски (сперва "левые", затем вроде моих и там, глядишь, и в официальные). :-)
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Как вы видите участие в проекте? Что нужно делать?

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Может иметь смысл посмотреть make-initrd (надо только понять, сизифный 0.8.x или разрабатываемый 0.9.x, который заметно отличается, но пока ещё не в сизифе) и прикинуть, стоит ли адаптировать наработки.

Даже если вывод будет "не стоит", такие обзоры нередко помогают взглянуть на свой собственный код с другой стороны, что обычно полезно.
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
В основе универсального способа лежит вот эта штука: http://neobht.github.io/uird
Она делается как раз, чтобы единообразно загружать что угодно, откуда угодно и с минимумом усилий.

Переносить функционал в make-initrd, наверное, мало практично, ввиду того, что uird уже решает все задачи, которые перед ним ставились изначально и начал приносить плоды по раскрытию функционала, который даже не закладывался в него.

Я посмотрю, что умеет initrd созданный make-initrd и какие задачи вы перед ним ставите в рамках Альта.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Благодарю; туда же: http://altlinux.org/make-initrd (и с Лёшей очень даже стоит списаться).
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн betcher

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Антон, почитал по make initrd.  Там интересно сделан параметр stop  с уровнями на которых приостанавливать в консоль. Это удобнее чем  по debug останавливать подряд везде. Стоит уворовать :)

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Благодарю; туда же: http://altlinux.org/make-initrd (и с Лёшей очень даже стоит списаться).

просмотрел make-initrd.
я думаю, стоит посмотреть на dracut для Альта. По большей части фишки, что в make-initrd там тоже сделаны, но dracut уже больше распространен.

да и собрать пакет dracut для альта, если еще нет - минут на 10 работы для тех, кто умеет готовить SPEC.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Собрать -- одно, применять -- совсем другое.  Да и от редхата можно ожидать любых подстав вроде "а у нас теперь только systemd в initrd поддерживается".
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
От кураторов облачных технологий можно ожидать любой подставы, потому как с мнением пользователей эти господа не считаются, они делают инструмент, который удобен исключительно им и подходит очень хорошо для их целей (и не обязательно для целей остальных). Это не касается системд как такового, но это касается инфраструктуры облачных технологий. Преследуются исключительно свои (не всегда корыстные) интересы.

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Собрать -- одно, применять -- совсем другое.  Да и от редхата можно ожидать любых подстав вроде "а у нас теперь только systemd в initrd поддерживается".

ну тут разницы не будет - все равно make-initrd вы сами в количестве 2 человека поддерживате. Аналогично можно поддерживать иное от systemd в dracut в виде модуля. На мой взгляд - у него весьма неплохая модульная архитектура. Я долго выбирал как же делать uird. В итоге остановился на dracut - есть хуки, модульная расширяемость, поддержка множества вариантов загрузки, достаточно простой и понятный код. А вот документация - скудная. Но это похоже беда всех mkinitrd.

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Может быть стоит вот этим сообщением https://forum.altlinux.org/index.php?topic=33970.msg273883#msg273883 новую тему отделить?
А то фишка интересная, но ее могут пропустить.

Можно попросить модераторов выделить в отдельную тему, начиная с этого сообщения обсуждение?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн betcher

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Проверена работа с параметром uird.changes=, полет нормальный. Параметр позволяет подключить каталог (или  файл.img  с образом ext3) в качестве верхнего слоя aufs. То есть изменения хранятся не в оперативной памяти, а пишутся на диск, но отдельно от системы. Что это дает. При загрузке с uird.changes с точки зрения пользователя система работает ровно как обычно, все изменения сохраняются после перезагрузки.  Но изменения хранятся отдельно и это позволяет в любой момент вернуть систему к начальному состоянию. Таких каталогов может быть неограниченное количество, это позволяет иметь одновременно несколько различно настроенных систем с разным набором софта на основе одной базовой.

Варианты такие:
uird.changes=dir_name   - искать на всех доступных носителя папку dir_name и использовать первую найденную
uird.changes=file.img        - искать на всех доступных носителях файл с названием file.img (образ с ext3 внутри) и использовать первый найденный
uird.changes=/dev/sda1/dir_name - папка на конкретном разделе, аналогично можно указать и file.img
uird.changes=mylabel@/path/dir_name - папка на носителе с меткой mylabel, аналогично можно указать UUID диска
есть еще возможность указать сетевые папки, но это уже отдельная история.

Внимание. И файл и папку нужно создать заранее, автоматически не создаются. Папки можно использовать только на фс поддерживающих линуксовые права, образы можно и на fat или ntfs держать.  Папка для сохранений не может находиться на системном разделе. Только отдельно.
« Последнее редактирование: 26.01.2016 18:53:03 от betcher »