Автор Тема: LILO  (Прочитано 3763 раз)

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
LILO
« : 17.01.2013 07:52:45 »
Хочу установить ещё один дистрибутив с загрузчиком lilo.
Но при этом я не знаю как загрузить Alt linux Centaurus.
Подскажите конфигурацию lilo?
Я как-то видел какие-то страшные UUID в ALT Linux, вообще ничего не понятно.
Что в lilo.conf конкретно записать?
Например, root=/dev/sda3

Оффлайн andrew_b

  • Участник
  • *
  • Сообщений: 553
Re: LILO
« Ответ #1 : 17.01.2013 08:29:35 »
Для примера мой /etc/lilo.conf

boot="/dev/sda"
root="/dev/sda2"
map="/boot/map"
timeout="100"
prompt
read-only
lba32
install="menu"

default="3.0.57"

append="panic=30 resume=/dev/sda2"

image="/boot/vmlinuz-3.0.57-std-pae-alt0.M60P.2"
        label="3.0.57"
        initrd="/boot/initrd-3.0.57-std-pae-alt0.M60P.2.img"
        vga="791"
        optional

image="/boot/vmlinuz-3.0.57-std-pae-alt0.M60P.2"
        label="3.0.57-failsafe"
        initrd="/boot/initrd-3.0.57-std-pae-alt0.M60P.2.img"
        vga="normal"
        addappend=" 1"
        optional

Как видите, никаких UUID.

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #2 : 17.01.2013 09:59:21 »
Я как-то видел какие-то страшные UUID в ALT Linux, вообще ничего не понятно.
Что в lilo.conf конкретно записать?
Например, root=/dev/sda3
UUID, на самом деле, вовсе не страшные. Они чётко соответствуют устройствам. Можно написать /dev/sda3, а можно указать его UUID. UUID можно посмотреть командой blkid. На самом деле, указать можно не только UUID, а, ещё, PATH и ID - всё, что можно увидеть в /dev/disk. Надо только помнить, что UUID штука постоянная (между форматированиями),  PATH зависит от расположения контроллера, и, как следствие, материнской платы, а ID может зависеть от версии ядра.

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #3 : 17.01.2013 19:29:15 »
Спасибо!
А что всюду initrd? Я вот ядро не могу собрать из исходников kernel.org.
Раньше получалось, сейчаз нивкакую, не может смонтировать рут, неизвестный блок девайс итп.
Хотя была ещë ошибка kill init!
Может hardvare такое сейчас, раньше сборка на раз получалась.
Может initrd нужно собрать? Как это внбще делается?
ALT даже на флешку установился, а моë ядро с винта не работает(

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #4 : 17.01.2013 20:31:24 »
А что всюду initrd?
Потому, что диски нынче большие, и места на них не жалко. А в памяти, всё же, жалко. Да вероятность возникновения ошибок в ядре больше, когда больше частей ядра загружено. Модули же сейчас собирают практически на все случаи жизни, а загрузить нужные с диска невозможно, пока не смонтированы разделы. Потому модули нужного дискового контроллера (и ещё по мелочи) грузятся из initrd. Подробнее - лучше погуглить, про это написано много должно быть.

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #5 : 19.01.2013 02:33:23 »
Проблемка...
Я пытаюсь выполнить lilo... из системы на диске sda1
Но ALT у меня смонтирован так mount /dev/sda3 /mnt
вобщем получается, что ядра находятся в /mnt/boot, а не в /boot
Лило ругается)
Надо что ли ссылку создать, я что-то смутно когда-то слышал.
Как это правильно зделать?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 173
    • Домашняя страница
Re: LILO
« Ответ #6 : 19.01.2013 11:56:41 »
Читайте статью про восстановление загрузочной записи внимательнее.

chroot /mnt
Андрей Черепанов (cas@)

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #7 : 19.01.2013 21:40:40 »
Дело в том, что мне нужно восстановить загрузку для двух систем.
Тут кажется символические ссылки подойдут, но я не очень разбираюсь, только запутался.

ln -snv /mnt/boot /bootно почему-то не получилось...

кстати, а как удалить то ссылку если она есть?

а ещё я такой фокус придумал, но тоже толку не было
mount /dev/sda2 /;D
« Последнее редактирование: 19.01.2013 21:47:24 от semiono »

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #8 : 19.01.2013 21:56:54 »
Дело в том, что мне нужно восстановить загрузку для двух систем.
Тут кажется символические ссылки подойдут, но я не очень разбираюсь, только запутался.
Skull дал совершенно конкретную рекомендацию.

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #9 : 20.01.2013 01:27:16 »
Это было не просто! Я провозился лишь с тем чтобы только ALT запустить, думал не получится)
Там с длинными именами оказывается тоже проблемма, поэтому в самом /boot уже символические ссылки
на короткие initrd и vmlinuz. Я сразу это понял, но не знал что lilo не поддерживает длинные имена, отсюда странность, что у andrew_b в lilo.conf длинные имена, хотя может сборка lilo особая.
И map в lilo.conf тоже лишнее.

Я зделал просто, переименовал /boot в /zz, чтобы не испортить ничего)
Зделал линк ln -snv /mnt/boot /boot
видимо раньше ошибки были по невнимательности, а теперь получилось.

Просто меня пугало, когда я косяков понаделал изначально сам,
но увидев при загрузке unknouwn file system 'ext3' я был в отчаянии :)

Вобще-то есть способ положить все ядра в /boot одной системы без всяких линков.
« Последнее редактирование: 20.01.2013 01:32:15 от semiono »

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #10 : 20.01.2013 01:51:57 »
Вообще, это что ? Такой тонкий троллинг ? :)
Или, всё же, на самом деле полное непонимание как ситуации, или того, что советуют ?

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #11 : 20.01.2013 02:09:46 »
непонимание :)
а что, я ведь прав был что надо симлинк на папку зделать.
вот тоже люди непонимают
http://www.linux.org.ru/forum/admin/619763

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #12 : 20.01.2013 02:24:21 »
непонимание :)
Тогда что помешало выполнить команду "chroot /mnt" и запустить lilo ? Зачем были нужны эксперименты с симлинками ?

Что касается симлинков в /boot, то они никак не связаны с длинной имён файлов. Они связаны исключительно с уменьшением писанины в lilo.conf: симлинки просто указывают, как правило, на последнее установленное ядро и соответствующий initrd. Но можно так и не делать.

Оффлайн semiono

  • Участник
  • *
  • Сообщений: 157
  • [:]/\/\/\[:]
Re: LILO
« Ответ #13 : 20.01.2013 07:03:12 »
Цитировать
Тогда что помешало выполнить команду "chroot /mnt" и запустить lilo ? Зачем были нужны эксперименты с симлинками ?
А что это даёт?
Во-первых в подмонтированной системе нету lilo, а во-вторых там нету и lilo.conf
Но если бы и было, то получится восстановить загрузку там и потерять её в текущей системе.
Если это LiveCD тоже самое, восстановиться лишь загрузка одного linux.

Всё что можно зделать, это сложить все ядра на один раздел, либо заменить /boot на симлинк.

У меня же два линукса:
/dev/sda1 CRUX /boot/bzImage
/dev/sda2 ALT Linux /boot/vmlinuz-3.0.7-std-def-alt0.M60P.1

Цитировать
Что касается симлинков в /boot, то они никак не связаны с длинной имён файлов. Они связаны исключительно с уменьшением писанины в lilo.conf: симлинки просто указывают, как правило, на последнее установленное ядро и соответствующий initrd. Но можно так и не делать.
Мне lilo сказал, что vmlinuz-3.0.7-std-def-alt0.M60P.1 слишком длинное имя, хотя это может как-то связанно с симлинком.
« Последнее редактирование: 20.01.2013 07:07:10 от semiono »

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 376
Re: LILO
« Ответ #14 : 20.01.2013 12:26:59 »
У меня же два линукса:
/dev/sda1 CRUX /boot/bzImage
/dev/sda2 ALT Linux /boot/vmlinuz-3.0.7-std-def-alt0.M60P.1
Что-то я этот момент упустил. Ну не знаю... Если бы у меня такая задача стояла, я бы сделал, наверное, общий /boot на отдельном разделе. Мегабайт на 200, чтоб не думалось. В конфиге, наверное, придётся убрать пункты с симлинками, если по симлинкам создаваемым дистрибутивы пересекаются. Конфиг можно тоже в /boot держать, lilo запускать как-то так: lilo -C /boot/lilo.conf, или положить в оба /etc симлинки, кстати.
Мне lilo сказал, что vmlinuz-3.0.7-std-def-alt0.M60P.1 слишком длинное имя, хотя это может как-то связанно с симлинком.
Нет, это связано с политикой именования ядер в ALT, которая в размер пределов исходного lilo не укладывается. Возможно, к lilo в CRUX придётся прикладывать патчи из сборки lilo в ALT. Если же это lilo из ALT пишет, то надо его обновить.

Хотя, на самом деле, можно и симлинками с этим бороться, и просто ядра переименовывать. Но оно не удобно как-то, постоянно руками лазить туда.
« Последнее редактирование: 20.01.2013 12:32:46 от asy »