AlteratorLilo

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(Простой интерфейс)
Строка 7: Строка 7:
(!) -- в существующем alterator-lilo пока нет
(!) -- в существующем alterator-lilo пока нет
-
 
====on_start()====
====on_start()====
* собираем инфу по системе
* собираем инфу по системе
-
  * варианты установки загрузчика
+
** варианты установки загрузчика
-
    * все диски, без raid и removable!
+
*** все диски, без raid и removable! -- удобно получать у hal'a
-
      * удобно получать у hal'a
+
*** раздел, на котором находится /boot
-
    * раздел, на котором находится /boot
+
**** в т.ч. raid
-
      * в т.ч. raid
+
**** грабли с raid под evms! Находится /dev/evms/md/md0, которого в системе не будет, непонятно как преобразовать его к /dev/md0 (который есть, но на которого нет ссылок из /dev/disk/* и про который не знает blkid и hal). Сейчас /evms/md просто отрезается...
-
      * грабли с raid под evms! Находится /dev/evms/md/md0, которого в системе не будет, непонятно как преобразовать его к /dev/md0 (который есть, но на которого нет ссылок из /dev/disk/* и про который не знает blkid и hal). Сейчас /evms/md просто отрезается...
+
** рекомендуемое место для загрузчика
-
  * рекомендуемое место для загрузчика
+
*** первый диск или raid, если на нем /boot
-
    * первый диск или raid, если на нем /boot
+
** поиск других ОС
-
  * поиск других ОС
+
**# найти все разделы всех дисков
-
    - найти все разделы всех дисков
+
**# исключить свой раздел
-
    - исключить свой раздел
+
**# поискать загрузчик, определить тип ОС
-
    - поискать загрузчик, определить тип ОС
+
**# (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!.
-
    - (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!.
+
* читаем lilo.conf
* читаем lilo.conf
-
  * если есть системый,
+
** если есть системый, берем его - нормализуем - чиним (применяем недостающие значения)
-
      берем его - нормализуем - чиним (применяем недостающие значения)
+
** иначе - берем template - применяем рекомендуемые значение
-
  * иначе - берем template - применяем рекомендуемые значение
+
-
on_read()
+
====on_read()====
-
  * simple
+
-
  * expert
+
-
  * rawfile
+
-
    * генерим и отдаем форматированный lilo.conf
+
-
on_write()
+
* simple
-
  * simple
+
** expert
-
    * выставлять raid-extra-boot!.
+
** rawfile
-
  * expert
+
*** генерим и отдаем форматированный lilo.conf
-
  * rawfile
+
-
on_list()
+
====on_write()====
-
===Простой интерфейс===
+
* simple
 +
** выставлять raid-extra-boot!.
 +
* expert
 +
* rawfile
 +
 
 +
====on_list()====
 +
 
 +
====Простой интерфейс====
   
   
* Варианты установки загрузчика:
* Варианты установки загрузчика:
Строка 58: Строка 57:
М.б пока не показывать никакие варианты кроме root on raid в инсталяторе?.. (на все остальное lilo ругается из-за кривого состояния evms+dm+raid)
М.б пока не показывать никакие варианты кроме root on raid в инсталяторе?.. (на все остальное lilo ругается из-за кривого состояния evms+dm+raid)
-
===Политика работы с секциями===
+
====Политика работы с секциями====
В начале работы производится поиск других ОС. Кроме того, существует текущая конфигурация с какими-то своими секциями.
В начале работы производится поиск других ОС. Кроме того, существует текущая конфигурация с какими-то своими секциями.
Строка 64: Строка 63:
* В простом интерфейсе показывается список секций из конфигурационного файла + непересекающиеся с ним по именам устройств секции для найденных ОС. Checkbox'ами отмечено то, что включено в текущую конфигурацию. При генерации этого слитого списка происходит умная расстановка чисел в названия автоматически определенных секций (все имена должны быть уникальны).
* В простом интерфейсе показывается список секций из конфигурационного файла + непересекающиеся с ним по именам устройств секции для найденных ОС. Checkbox'ами отмечено то, что включено в текущую конфигурацию. При генерации этого слитого списка происходит умная расстановка чисел в названия автоматически определенных секций (все имена должны быть уникальны).
-
===Защита имен устройств===
+
====Защита имен устройств====
Что-то типа такого: /dev/sda <-> /dev/disk/by-id/scsi-SATA_ST3250820AS_5QE2FCJP
Что-то типа такого: /dev/sda <-> /dev/disk/by-id/scsi-SATA_ST3250820AS_5QE2FCJP
Строка 74: Строка 73:
(сейчас все сделано немного не так...)
(сейчас все сделано немного не так...)
-
===Расстановка bootable-флагов===
+
====Расстановка bootable-флагов====
* Если загрузчик ставится на primary-раздел и на диске нет ни одного bootable-раздела -- ставлю флаг на этот раздел
* Если загрузчик ставится на primary-раздел и на диске нет ни одного bootable-раздела -- ставлю флаг на этот раздел
Строка 82: Строка 81:
Существующий код меня вполне устраивает.
Существующий код меня вполне устраивает.
-
===странные грабли===
+
====странные грабли====
   
   
* Если у нас root на raid под evms, то lilo не хочет ставить загрузчик ни на что, кроме raid (кажется, evms делает какое-то полусломанное состояние dm-устройств). Видимо из-за этого же raid под evms не виден ни в hal ни в /dev/disk/*, blkid его как-то тоже странно понимает.
* Если у нас root на raid под evms, то lilo не хочет ставить загрузчик ни на что, кроме raid (кажется, evms делает какое-то полусломанное состояние dm-устройств). Видимо из-за этого же raid под evms не виден ни в hal ни в /dev/disk/*, blkid его как-то тоже странно понимает.
* hal не может определить id и flags и для некоторых разделов
* hal не может определить id и flags и для некоторых разделов
 +
 +
====не забыть====
 +
 +
* права доступа lilo.conf и tmp-файла - 0600

Версия 11:46, 30 октября 2008

Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Содержание

Alterator-Lilo

В данный момент бэкенд alterator-lilo очень запутан и требует переделки. (Из-за существенной модификации интерфейса и довольно неаккуратной правки бэкенда, чтоб он этому интерфейсу соответствовал). Попробую cобрать здесь план нового бакенда...

(!) -- в существующем alterator-lilo пока нет

on_start()

  • собираем инфу по системе
    • варианты установки загрузчика
      • все диски, без raid и removable! -- удобно получать у hal'a
      • раздел, на котором находится /boot
        • в т.ч. raid
        • грабли с raid под evms! Находится /dev/evms/md/md0, которого в системе не будет, непонятно как преобразовать его к /dev/md0 (который есть, но на которого нет ссылок из /dev/disk/* и про который не знает blkid и hal). Сейчас /evms/md просто отрезается...
    • рекомендуемое место для загрузчика
      • первый диск или raid, если на нем /boot
    • поиск других ОС
      1. найти все разделы всех дисков
      2. исключить свой раздел
      3. поискать загрузчик, определить тип ОС
      4. (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!.
  • читаем lilo.conf
    • если есть системый, берем его - нормализуем - чиним (применяем недостающие значения)
    • иначе - берем template - применяем рекомендуемые значение

on_read()

  • simple
    • expert
    • rawfile
      • генерим и отдаем форматированный lilo.conf

on_write()

  • simple
    • выставлять raid-extra-boot!.
  • expert
  • rawfile

on_list()

Простой интерфейс

  • Варианты установки загрузчика:
    • все жесткие диски
    • раздел, на котором находится /boot
    • (!) раздел на который ставится загрузчик в существующем lilo.conf (если отличается от предыдущих пунктов)
  • Варианты загрузки -- неизменный список!
  • combobox "Загружать по умолчанию"
  • combobox "Время ожидания"
  • кнопки "Применить" "Режим эксперта"

М.б пока не показывать никакие варианты кроме root on raid в инсталяторе?.. (на все остальное lilo ругается из-за кривого состояния evms+dm+raid)

Политика работы с секциями

В начале работы производится поиск других ОС. Кроме того, существует текущая конфигурация с какими-то своими секциями.

  • В экспертном интерфейсе показываются секции из конфигурационного файла, с возможностью добавлять и удалять вручную. Список найденных ОС никак не используется
  • В простом интерфейсе показывается список секций из конфигурационного файла + непересекающиеся с ним по именам устройств секции для найденных ОС. Checkbox'ами отмечено то, что включено в текущую конфигурацию. При генерации этого слитого списка происходит умная расстановка чисел в названия автоматически определенных секций (все имена должны быть уникальны).

Защита имен устройств

Что-то типа такого: /dev/sda <-> /dev/disk/by-id/scsi-SATA_ST3250820AS_5QE2FCJP

Видимо, надо выполнять преобразование при сборке/разборке lilo.conf. Чтоб в простом и экспертном интерфейсе мы оперировали с /dev/sda, а в lilo.conf (и в режиме редактирования lilo.conf) -- с disk by id... (При этом, разумеется, ничто не мешает читать из lilo.conf /dev/sda и др., или писать в экспертном интерфейсе disk by id)

Вопрос с root device. Надо ли, как это сейчас сделано, указывать его по uuid, или же для единообразия писать туда /dev/sda1 и, как и другие имена устройств, защищать с помощью /dev/disk/by-id (или /dev/disk/by-uuid)?

(сейчас все сделано немного не так...)

Расстановка bootable-флагов

  • Если загрузчик ставится на primary-раздел и на диске нет ни одного bootable-раздела -- ставлю флаг на этот раздел
  • Если загрузчик ставится на extended-раздел или в MBR и на диске нет ни одного bootable-раздела -- ставлю флаг на первый раздел диска
  • Если загрузчик ставится на raid -- произвожу эти действия для каждого из элементов raid'a.

Существующий код меня вполне устраивает.

странные грабли

  • Если у нас root на raid под evms, то lilo не хочет ставить загрузчик ни на что, кроме raid (кажется, evms делает какое-то полусломанное состояние dm-устройств). Видимо из-за этого же raid под evms не виден ни в hal ни в /dev/disk/*, blkid его как-то тоже странно понимает.
  • hal не может определить id и flags и для некоторых разделов

не забыть

  • права доступа lilo.conf и tmp-файла - 0600
 
Личные инструменты