Сайт | Скачать | Видео | Wiki

Автор Тема: Grub2. Написание сложных конфигов  (Прочитано 819 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27382
  • Репутация: +186/-0
    • PuppyRus-A
Grub2. Написание сложных конфигов
« : 21 Октябрь 2019, 18:28:09 »
В конфигах Grub2 почти полноценный sh : переменные if и пр. Т.е. можно намутить какую-то автоматизацию

http://file.puppyrus.org/users/pra64/iso/Hybrid_bootable_Grub2-EFI_and_MBR-demo.iso
Если у кого-то есть скрипты для grub2 - делитесь.
Этот
включен в демо исо. Надо создать в корне папку iso и положить в нее поддерживаемые исо

Есть еще идея скрипта :
На винте лежит несколько линуксов. Каждый в  своей папке. Там же его конфиг grub.cfg
Собрать эти конфиги в одно меню
Подобное реализовано в https://www.supergrubdisk.org/super-grub2-disk/

Оффлайн Coalxe

  • Пользователь
  • **
  • Сообщений: 74
  • Репутация: +1/-0
Re: Grub2. Написание сложных конфигов
« Ответ #1 : 30 Октябрь 2019, 14:08:58 »
Hybrid_bootable_Grub2-EFI_and_MBR-demo.iso
1) Чего-то не хватает.
По сути нужна только одна функция : загрузить ядро и инитрд
2)
Код
menuentry "Строка ... очень длинная" { ... }
Не понял как сделать перенос строки (по аналогии с "\n"), или прочитать всю строку.
3)
load=${x}\;de-ovs\;030-g\;spacefm-gtk3\;connman-\;connman_gtk\;-gtk3-\;chrom\;plank \
noload=${v}\;de-ols\;035
Символ ";" - проблемы не возникнут ?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10422
  • Репутация: +107/-2
Re: Grub2. Написание сложных конфигов
« Ответ #2 : 30 Октябрь 2019, 14:39:23 »
Kiss не нужно сложностей в загрузчике, я например search использовать страюсь только там где надо, а не повсеместно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27382
  • Репутация: +186/-0
    • PuppyRus-A
Re: Grub2. Написание сложных конфигов
« Ответ #3 : 31 Октябрь 2019, 09:43:31 »
1) Чего-то не хватает.
Чего, где для чего?
Не понял как сделать перенос строки (по аналогии с "\n")
Тоже не нашел решения. Не копал. Было бы полезно
chrom\;plank - т.к. экранировано \ - не возникнут. Так было проще сделать в конверторе. А вообще можно : "chrom;plank"
search использовать страюсь только там где надо
Уверен что
Код
search --set=root --no-floppy --file /${d}/vmlinuz-${k}_64
лишнее. В grub4dos не не первом разделе бывали проблемы
Чем плохо перестраховаться?

Оффлайн Coalxe

  • Пользователь
  • **
  • Сообщений: 74
  • Репутация: +1/-0
Re: Grub2. Написание сложных конфигов
« Ответ #4 : 31 Октябрь 2019, 10:19:11 »
Собрал вместе - /EFI/BOOT/menu*.lst из "...-demo.iso", /pra64 из "pra1904".
Запустил вариант uefi (xfce_gtk2, xfce_gtk3) - в общем работает.
Результат работы конвертора напоминает grub-syslinux2cfg - игнорирует не стандартные команды.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27382
  • Репутация: +186/-0
    • PuppyRus-A
Re: Grub2. Написание сложных конфигов
« Ответ #5 : 31 Октябрь 2019, 10:28:52 »
Спасибо за тест+

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10422
  • Репутация: +107/-2
Re: Grub2. Написание сложных конфигов
« Ответ #6 : 31 Октябрь 2019, 10:47:23 »
Чем плохо перестраховаться?
тем что разделы как правило не должны дрейфовать туда-сюда, и можно конкретно прописать путь без использования поиска
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Coalxe

  • Пользователь
  • **
  • Сообщений: 74
  • Репутация: +1/-0
Re: Grub2. Написание сложных конфигов
« Ответ #7 : 05 Ноябрь 2019, 11:09:42 »
Про текстовый вариант (uefi):
- загрузка идёт в слепом режиме, страшнее чем "quiet", возможно малость быстрее;
- русский работает без вмешательства, без "insmod, loadfont", только "set lang=ru_RU". Много не проверял.
Примечание. Возможно зависит от оборудования, в виртуальной машине повторить не получилось.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27382
  • Репутация: +186/-0
    • PuppyRus-A
Re: Grub2. Написание сложных конфигов
« Ответ #8 : 05 Ноябрь 2019, 11:28:36 »
в виртуальной машине повторить не получилось.
У меня дальше меню в виртуалбокс не грузится