Форум проекта PuppyRus Linux

Обсуждения операционных систем => Другие операционные системы => Тема начата: spirid1990 от 02 Сентябрь 2018, 00:45:06

Название: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: spirid1990 от 02 Сентябрь 2018, 00:45:06
http://forum.puppyrus.org/index.php?topic=20946.msg152829#msg152829


Мне как новичку очень помогла бы информация о строках в файлах menu.lst (как я понимаю, этот файл используется при загрузке на ПК с BIOS и UEFI с MBR диском) и  grub.cfg (как я понимаю, этот файл используется на ПК  с GPT диском), которые бы обеспечивали загрузку дисков CD/DVD различных дистрибутивов Линукс и служебных программ. Что-то типа таблицы:
Линукс/Программа----------- образ ------------menu.lst-----------------------grub.cfg
Например:
ArchBang----------------artixbang-rc-070518.iso-----строки menu.lst---------строки grub.cfg
PlopLoader-------------------- plpbt.bin.gz------------------kernel /boot/plpbt.bin.gz --------в pra-roll-180101-gtk3-03.iso в /EFI/boot/grub.cfg загрузку plpbt не нашел.
Эта информация помогла бы на практике ознакомиться с командами Grub4dos и Grub2, создавать на основе ПРА мультизагрузочные флешки
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: tumanovalex от 02 Сентябрь 2018, 09:42:04
Мне тоже это было бы полезно. Может быть создать тему, в которой бы складывались наработки пользователей ПРА по данному вопросу? Интересует мнение модераторов.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: sfs от 03 Сентябрь 2018, 09:39:49
Отделил. Прикрепил в топ раздела.
Постим. По итогу решим - как удобнее. Думаю - вики
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: sfs от 03 Сентябрь 2018, 09:47:09
/EFI/boot/grub.cfg загрузку plpbt не нашел.
Неужели так сложно переписать g4d
Код
title       PLoP 
kernel /boot/plpbt.bin.gz
под g2
Код
menuentry 'Plop' {
    search --no-floppy --file /boot/plpbt.bin.gz --set=root
    linux /boot/plpbt.bin.gz
  }
Возможно надо linux16 и не факт что в связке с EFI plop будет работать
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: RoDoN от 03 Сентябрь 2018, 10:01:41
А мне вот интересно, что и зачем можно запускать через plop, если машина с EFI?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: spirid1990 от 05 Сентябрь 2018, 15:25:26
Да это просто в качестве примера
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: RoDoN от 05 Сентябрь 2018, 15:35:45
Неудачный пример, имхо.
Из практики, лично я использовал plop на старых машинах, у которых bios не умел запускать загрузчик с USB-флешки, а др. реального практического применения plop не знаю.

А по теме топика стоит почитать http://greenflash.su и многие вопросы отпадут.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 31 Декабрь 2018, 11:25:47
Переписал свой iso.cfg для grub2 под автоматический поиск и загрузку ISO образов Манжаро, Антергос, *Убунту , Росы и RFRemix. Пока такой вариант, а там посмотрим.. В принципе есть куда унифицировать.
Последние два цикла создают менюшки из loopback.cfg лежащих в самих образах, касается только Манжаро и *Убунту, остальные такой конфиг не предусмотрели.

upd. Перезалил конфиг. Микро фикс.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 13 Январь 2019, 10:03:06
В принципе есть куда унифицировать.
Хотел переделать так, чтобы скрипт был отдельно, а дистроконфиги отдельно. Удобнее добавлять новые дистры.
Начал делать, но было понятно, что нечно похожее уже наверняка сделано. В итоге нашел на гитхабе очень хороший вариант.
Скрипт находит исошки в указанных папках, монтирует их и проверяет наличие конфигов loopback.cfg и isolinux.cfg и по результату добавляет в меню. Если находит loopback.cfg, то isolinux.cfg игнорируется. При использовании isolinux в строку ядра должны быть добавлены дополнительные параметры загрузки, автор реализовал это пропатчив syslinuxcfg.mod. Можно использовать и не патченный, тогда нужно руками через редактор меню граба добавлять в строку ядра переменную $linux_extra, впрочем для EFI это и так придется делать, для него патченного syslinuxcfg.mod пока нет.
В общем форкнул я этот реп (исходный (https://github.com/mpolitzer/grub-iso-multiboot), мой (https://github.com/ilfat12/grub2-iso-multiboot)). Добавил свою задумку для пользовательских конфигов через функцию, в основном используется для проблемных дистров. Пофиксил загрузку Манжаро, добавил МагОС, antiX, последний грузится только с усб носителей, их инитрд ищет себя только на usb и cd устройствах. isolinux конфиг Antergos парсится грабом неправильно, для него пришлось добавить пользовательский конфиг. С пользовательскими конфигами работает медленнее и как правило они нужны редко, большинство дистров грузится автоматом, поэтому по умолчанию их выключил. Можно включить в меню или в autoiso.cfg на постоянку (в конце файла). Язык загружаемой системы по возможности будет таким же как у grub. В меню добавил имена разделов, на которых найдены исо образы и пункт добавления новой папки для сканирования. Вроде все.
Магея не грузится. Пока не разобрался почему.
Все необходимое прилагаю в архиве.
Пример для добавления в граб конфиг:
Код
menuentry "Scan ISOs" "${prefix}/scripts/autoiso.cfg" {
    set iso_dirs="/ /iso /ISOs /_ISO"
    export iso_dirs
    configfile "$2"
}
Путь к конфигу autoiso рекомендуется задавать через позиционный параметр, как в примере. Если путь не меняется, то значения не имеет.
Я себе в пути поиска добавил еще папку юзера и папку загрузок, чтобы после скачивания ничего никуда не двигать.

Репозиторий автора (https://github.com/mpolitzer/grub-iso-multiboot)
Мой форк (https://github.com/ilfat12/grub2-iso-multiboot)


Update: исправление для загрузки antiX и MX с любого носителя. Архив перезалил.
Update2: в архив по ошибке попал не патченный syslinuxcfg.mod. Перезалил с патченным.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 13 Январь 2019, 17:00:28
antiX, последний грузится только с усб носителей
  В принципе ставил антиХ на ж/д какими-то (прям счас точно не помню) "манипуляциями".
(да и сейчас есть в 2-ух вариантах,  - загрузка из Гр4дос)

  Не было (но не особо и искал)  пояснений к возможным к применению параметрам загрузки.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 13 Январь 2019, 17:09:14
В принципе ставил антиХ на ж/д какими-то (прям счас точно не помню) "манипуляциями".
На жёсткий диск то он ставится. Тут дело в том, что с iso образа не грузится, если он не находится на USB носителе.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 14 Январь 2019, 10:28:13
с iso образа не грузится, если он не находится на USB носителе.
-- грузится.
  Нужно дописать параметры на "втором этапе загрузки".
Описание параметров см. в readme внутри ихнего initrd (в частности from=all[hd,..,..] и fromiso[/iso]=).
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 14 Январь 2019, 11:55:37
Описание параметров см. в readme внутри ихнего initrd (в частности from=all[hd,..,..] и fromiso[/iso]=).
Действительно, все так. Исправил. Теперь и antiX и основанный на нем MX грузятся с HDD. Спасибо+
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 14 Январь 2019, 19:17:30
grub-iso-multiboot-fork - буду пробовать:
   На одном из ж/д установлен Gr2( в нём "не силён").
 
   ? Т. е.  нужно в Гр2-конфиге добавить "menuentry"-из-сообщения?
   
  И расположить файлы из архива "соответственно" (хотя у меня /mnt/sda2/grub/i386-pc - ! без "двойки")?

  И располагать .ИСО как "по дефолту" или поменять пути "под себя" в "menuentry"?

--------------
Ищет ли в подкаталогах?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 14 Январь 2019, 19:48:26
Т. е.  нужно в Гр2-конфиге добавить "menuentry"-из-сообщения?
Да
И расположить файлы из архива "соответственно" (хотя у меня /mnt/sda2/grub/i386-pc - ! без "двойки")?
Двойка не обязательна. Файлы внутри папки граб лучше расположить соответсвенно. Если расположение по умолчанию не нравится, то нет проблем, разложите как вам нравится, тогда в menuentry внесите правки, а для кастомных конфигов директория задается через переменную в конце файла autoiso.cfg
И располагать .ИСО как "по дефолту" или поменять пути "под себя" в "menuentry"?
Исо расположить как хотите, просто добавьте эти пути в menuentry, пути не так как у вас примонтированы, а от корня раздела. Если что путь можно добавить уже при работе скрипта для одноразового поиска. Но там вручную надо набирать, таб не работает. Если путь не глубокий, то вполне нормально.
То что в репе лежит не все нужно. Самое необходимое в архиве. Я его перезалил.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 06:11:58
  Попробовал - пока "не очень зашло" - "недопонял с конфигфайлами".
  Вообще прбовал как главную цель .исо атикса - запустить без "ручного горячего редактирования" не удалось.
  С дефолта антикс с .исо на ж/д не загрузился.
  Пробовал "организовать" "как-то на удачу" конфиг-файл(думаю не  совсем корректно) - с антиксом не вышло, Но "побочный эффект" - при кастомных параметрах стали видны в меню образы Puppy и PRA (~20 шт :)), которые раньше "не проявлялись" по данным путям.
 
   Пока с Груб2 играться больше не буду (когда-то были и "робкие попытки" прикрутить к нему "меню переменных", но "хорошего по маленьку") - у меня по Гр4досу много "локальных недоделок".
   
   p.s.
   тут, ходом, на usbtor~e попадалась похожая по назначению "утилита"(~2014 г.в.) для Гр4доса - но её пока не пробовал ( https://usbtor.ru/viewtopic.php?t=27 ).
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 09:37:48
Попробовал - пока "не очень зашло" - "недопонял с конфигфайлами".
  Вообще прбовал как главную цель .исо атикса - запустить без "ручного горячего редактирования" не удалось.
Для antiX конфигфайл не нужен. Он грузится по дефолту. Возможно вы забыли положить патченный парсер исолинукс конфига. Если EFI или не положили патченный паресер, то руками в строку ядра нужно добавлять $linux_extra
Пока с Груб2 играться больше не буду
Давайте уж постараемся разобраться в чем проблема :)
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 09:39:51
тут, ходом, на usbtor~e попадалась похожая по назначению "утилита"(~2014 г.в.) для Гр4доса
Обсуждали ее в теме про Easy2Boot. У них есть ограничения. ISO должен быть на усб носителе и для прямого паминга с носителя файл не должен быть фрагментированным. Но и плюсы есть, загрузит не только Linux. Хотя grub2 с помщью memdisk тоже может загрузить не Linux, но только через предварительное копирование в ОЗУ. Но это больше к заслугам syslinux относится.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 09:47:18
Давайте уж постараемся разобраться в чем проблема :)
С этим - да, но не в ближайшие несколько часов ( :) а в гр2 всё равно "с головой" не полезу).
или не положили патченный паресер
Может быть, но в терминологии пока не силен ...
 EFI нет.
руками в строку ядра нужно добавлять $linux_extra
? в строку ядра на "каком этапе"?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 10:30:03
Может быть, но в терминологии пока не силен
В выложенном архиве (http://forum.puppyrus.org/index.php?topic=20946.msg152829#msg152829) в папке i386-pc лежит файл syslinuxcfg.mod, его нужно положить в такую же папку вашего загрузчика вместо родного syslinuxcfg.mod предварительно забэкапив его. Он появился в grub 2.02, если у вас grub 2.00, то его там не будет и с уверенностью не могу сказать будет ли работать.
? в строку ядра на "каком этапе"?
На этапе когда уже меню с ISO образами сформировано нажимаете Ввод на выбранном ISO и попадаете в сгенерированное парсером меню, обычно самый первый пункт то что надо, нажимаете клавишу Е и добавляете $linux_extra в строку linux. Повторюсь, это если только syslinuxcfg.mod не патченный.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 10:37:30
.mod -точно не менял (предположил, что оформление  ???).

Про $linux_extra вроде понял.
  Потом, позже буду проверять.

p.s.
все таки с puppy.iso и pra.iso или "полтергейст" или "глубокое вложение"( хотя у антикса такое же)
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 10:56:20
все таки с puppy.iso и pra.iso или "полтергейст" или "глубокое вложение"( хотя у антикса такое же)
Поддержку PRA можно организовать через пользовательский конфиг, но ввиду непостоянства названий ядер и инитрд универсальным для всех ПРА он не будет.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 15:48:11
$linux_extra - руками нормально работает.

  Оказывается моему Гр2 больше 2-ух лет( примерно столько же не обновлял -  :o  т.к. он сам себя обновляет - а это как-то бесконтрольно :)).
- вот, например у меня "путь" /mnt/sda2/grub/i386-pc - может в этом дело...(посмотрел в Архиве и на Гите - там пути с /boot~ом)

Позже попробую поставить Гр2 на флэшку.
Гр2 достался в придачу к Арчу( последний тоже давненько не обновлялся и возникали мысли его сносить - если нужен, то - "новый")

upd: syslinux.mod перезаписал до пробы  $linux_extra
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 16:27:54
mnt/sda2/grub/i386-pc - может в этом дело...(посмотрел в Архиве и на Гите - там пути с /boot~ом)
Путь до папки grub не имеет значения, главное чтобы внутри этой папки было как положено.
syslinux.mod перезаписал до пробы  $linux_extra
И все равно не работает? Наверно в архив попал не патченный. На гите точно патченный. Вечером гляну. Перезалью архив если что.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 17:27:24
На гите точно патченный.
Работает - upd - удобно.
- syslinux.mod "глазом не видно", можно было по размеру посмотреть, но я в Гр2 "тугой".
  Остальные ... .mod~ы (с Гита) в принципе нужны/имеют значение?  Влияют ли на Груб?

p.s.
посмотрел - в Гр2 переменные вроде тоже "складываются" :), но это когда нибудь потом...
p.p.s.
 за пару лет только сейчас заметил, что курсор в Гр2 и в Гр4дос с "основной" клавиатуры ноутбука передвигается нормально (а не тычками - как с дополнительной USB). На порядки быстрее можно редактировать  :o 98% времени (по необходимости) на usb-клавиатуре - в какой-то степени мотивировало применять переменные.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: knn от 15 Январь 2019, 17:33:06
добавочные параметры можно просто менять в autoiso.cfg, или ... .mod нужно патчить?
--------
На гите точно патченный. Вечером гляну. Перезалью архив если что.
--может ссылку на Гит по-жирнее выделить?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 17:37:42
Остальные ... .mod~ы (с Гита) в принципе нужны/имеют значение?  Влияют ли на Груб?
Не нужны, у вас же свои есть. Ценность представляет только патченный syslinuxcfg.mod
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 18:07:19
Наверно в архив попал не патченный.
Так и есть. Извиняюсь. Перезалил (http://forum.puppyrus.org/index.php?topic=20946.msg152829#msg152829)
knn, спасибо.
может ссылку на Гит по-жирнее выделить?
Хорошо, сделаю.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 15 Январь 2019, 18:12:55
добавочные параметры можно просто менять в autoiso.cfg, или ... .mod нужно патчить?
Если хотите грузить ИСО со своими параметрами, то лучше сделать пользовательский конфиг. Либо вручную добавлять. Можно конечно и в autoiso.cfg добавить, если разберётесь куда.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: sfs от 17 Октябрь 2019, 14:26:52
В общем форкнул я этот реп
Проверил на xubuntu.iso - работает +
В autoiso.cfg используется read, a insmod read нет
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: sfs от 21 Октябрь 2019, 10:52:13
Проверил на xubuntu.iso - работает
А при EFI загрузке не работает. На всякий случай взял EFI с полным набором модулей из свежей lubuntu. Scanning... и все
У кого-то получилось?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 23 Октябрь 2019, 17:49:58
В autoiso.cfg используется read, a insmod read нет
Похоже модули большинства команд заранее подгружать не обязательно. echo, reboot, halt - тоже модули и тоже работают без insmod.
Или вам потребовалось добавить insmod read?
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: sfs от 23 Октябрь 2019, 18:16:47
Я тестировал с core.img собранным так (http://forum.puppyrus.org/index.php?topic=22088.msg161584#msg161584)
Тогда лучше и echo, reboot, halt  добавить в insmod
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 23 Октябрь 2019, 18:36:36
А при EFI загрузке не работает. На всякий случай взял EFI с полным набором модулей из свежей lubuntu. Scanning... и все
В свое время у меня на EFI regexp подвисал, но на EFI именно этот скрипт я не тестировал. Вероятно, что тоже regexp виснет.
Сейчас под рукой нет компа с EFI. Будет возможность проверю.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 23 Октябрь 2019, 18:40:26
Я тестировал с core.img собранным так
Значит зависит от того, что включено в образ. Хорошо, будем знать.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: ilfat от 23 Октябрь 2019, 18:50:14
Сейчас под рукой нет компа с EFI. Будет возможность проверю.
Проверил на виртуалке. Действительно виснет и действительно regexp.
Но виснет только при маске включающей диски. Типа этого:
Код
(\(.*\))
Именно такой поиск используется в функции pathname.
Не знаю можно ли это исправить.
Название: Re: Загрузка дистрибутивов и утилит через grub4dos и grub2
Отправлено: Pro от 24 Октябрь 2019, 02:20:52
echo, reboot, halt
серьезно? вы подошли к компу с флешкой и не найдете как его перезагрузить или выключить? потери данных не будет т.к. с диском работы никакой не ведется. Echo для вывода сообщений на экран? так они и так выводятся и слишком много даже.

Я тестировал с core.img собранным так
модули grub при создании командой grub-mkimage могут сами  добавляться как зависимости, например если добавите halt, то добавятся еще extcmd и acpi модули. Зависимости прописаны в moddep.lst