AlteratorLilo: различия между версиями
Строка 26: | Строка 26: | ||
- (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!. | - (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!. | ||
* читаем lilo.conf | |||
* если есть системый, | |||
берем его - нормализуем - чиним (применяем недостающие значения) | берем его - нормализуем - чиним (применяем недостающие значения) | ||
* иначе - берем template - применяем рекомендуемые значение | |||
on_read() | on_read() | ||
* simple | |||
* expert | |||
* rawfile | |||
* генерим и отдаем форматированный lilo.conf | |||
on_write() | on_write() | ||
* simple | |||
* выставлять raid-extra-boot!. | |||
* expert | |||
* rawfile | |||
on_list() | on_list() | ||
Простой интерфейс | |||
===Простой интерфейс=== | |||
* Варианты установки загрузчика: | |||
* без root on raid: | |||
* все жесткие диски | |||
* раздел, на котором находится /boot | |||
* (!) раздел на который ставится загрузчик в существующем lilo.conf | |||
(если отличается от предыдущих пунктов) | |||
* root on raid | |||
* (!)в инсталляторе не показывать никакой вариант, кроме этого raid. | |||
(на все остальное lilo ругается) | |||
* Варианты загрузки -- неизменный список! | |||
* Кнопка "Искать другие ОС" | |||
* Кнопка "Удалить выбранное" | |||
* combobox "Загружать по умолчанию" | |||
===Политика работы с секциями=== | ===Политика работы с секциями=== | ||
Версия от 18:01, 29 октября 2008
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 * поиск других ОС - найти все разделы всех дисков - исключить свой раздел - поискать загрузчик, определить тип ОС - (!) здесь сделать только заготовки названий, а умное добавление уникальных чисел делать позже!.
- читаем lilo.conf
* если есть системый, берем его - нормализуем - чиним (применяем недостающие значения) * иначе - берем template - применяем рекомендуемые значение
on_read()
* simple * expert * rawfile * генерим и отдаем форматированный lilo.conf
on_write()
* simple * выставлять raid-extra-boot!. * expert * rawfile
on_list()
Простой интерфейс
- Варианты установки загрузчика:
* без root on raid: * все жесткие диски * раздел, на котором находится /boot * (!) раздел на который ставится загрузчик в существующем lilo.conf (если отличается от предыдущих пунктов) * root on raid * (!)в инсталляторе не показывать никакой вариант, кроме этого raid. (на все остальное lilo ругается) * Варианты загрузки -- неизменный список!
- Кнопка "Искать другие ОС"
- Кнопка "Удалить выбранное"
* combobox "Загружать по умолчанию"
Политика работы с секциями
В начале работы производится поиск других ОС. Кроме того, существует текущая конфигурация с какими-то своими секциями.
- В экспертном интерфейсе показываются секции из конфигурационного файла, с возможностью добавлять и удалять вручную
- В простом интерфейсе показывается список секций из конфигурационного файла + непересекающиеся с ним по именам устройств секции найденных ОС. 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)?
странные грабли
- Если у нас root на raid под evms, то lilo не хочет ставить загрузчик ни на что, кроме raid
- raid под evms не виден ни в hal ни в /dev/disk/*, blkid его как-то тоже странно понимает
- hal не может определить id и flags и для некоторых разделов