ISO+EFI на флешку Роса

Ответить
banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

ISO+EFI на флешку Роса

Сообщение banzay242 » 26 мар 2018, 11:59

ISO Роса на флешу EFI
Полигон:
description: Notebook
product: HP ProBook 450 G2
Linux 4.9.76-nrj-desktop-1rosa-i586 i686 GNU/Linux
memory size: 4GiB
загрузка в биос возможна mbr, смешанный и EFI
Установлена система без EFI ROSA Desktop Fresh R10 MATE 2016.1 Desktop x32
Проведем простой опыт:
форматируем любыми способами флешку в таблица разделов msdos, тип FAT32.
кидаем туда папку EFI из ROSA Desktop Fresh x86-64
меняем /EFI/BOOT/grub.cfg на свой из папки /boot/grub2/grub.cfg
перезагружаемся, и ставим в биос чистый режим EFI
матюкается что нет файла grubenv, и спокойно загружается.
Вывод:
• для загрузки с флешки в EFI, не требуется таблица разделов gpt и флаги boot,esp. нужен только тип FAT32
• так можно загрузить систему без предустановленного EFI
• стартовые bootia32.efi и grubia32.efi у меня не работают а работают только с bootx64.efi и grubx64.efi
• на форуме не могли загрузится с bootia32.efi и grubia32.efi, вот вам и ответ почему (это уже вопрос к разработчикам Росы).
Едем дальше:
Исследования показали что bootx64.efi и grubx64.efi другим bootx64.efi и grubx64.efi рознь.
Объясню почему. Собирается это штука с разными модулями, имеют сертификаты или не имеют, по разному. Стандартное расположение у многих /EFI/BOOT/ c конфигом там же. Конфиг для multibootusb наптпример, / multibootusb/grub/grub.cfg, это уже не стандартно.
Цель же сделать универсальную флешку с загрузкой ISO, с загрузкой в EFI в том числе.
Выяснилось что основным модулем для монтирования ISO служит loopback из пакета grub2, и этот модуль не включен в сборку от Росы. Было опробовано куча bootx64.efi и grubx64.efi, просто набил их в разные папки на флешке с конфигом, закинул образы ISO. В каждой папке уже выбирал и запускал bootx64.efi и grubx64.efi в меню EFI. В результате нарвался на интересную парочку от Ubuntu mate 18.04 x86-64, модуль lookback работает и конфиг работает. Ладушки, загрузчики для EFI определены готовим флешку.
Флешка отформатирована в таблице разделов msdos, тип FAT32 метка WORK у меня. Кидаем в корень папку EFI взятую из корня системы Ubuntu mate 18.04 x86-64. В /EFI/BOOT/ лежит наша парочка bootx64.efi grubx64.efi, там же создаем папку grub2 получится так:
/EFI/BOOT/ и /EFI/BOOT/grub2/ это те папки в которые будем класть свой grub.cfg.
Разберем конфиг grub.cfg:
нас интересуют всего 3 места
menuentry 'Start ROSA.FRESH.MATE.start.iso' {
set root='hd0,msdos1'
set iso=/ROSA.FRESH.MATE.start.iso
loopback loop ${iso}
linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:[color=LABEL=ROSA.FRESH.MATE. ro rd.live.image quiet rootflags=rw,noatime rd.luks=0 rd.md=0 rd.dm=0 rhgb splash=silent logo.nologo
initrd (loop)/isolinux/initrd0.img
}
Расмотрим;
Start ROSA.FRESH.MATE.start.iso # это пункт который отобразится при загрузке
set root='hd0,msdos1' # это корневая директория
#
set iso=/ROSA.FRESH.MATE.start.iso # это переменная чтоб каждый раз не писать название вашего iso
#
loopback loop ${iso} # эта команда монтирует ваш iso
#
linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} # это место запускает vmlinuz0 в /isolinux/ смонтированного iso
#
root=live:LABEL=ROSA.FRESH.MATE. # это лейба вашего iso узнается командой file, а смотрим между одинарных кавычек `ROSA.FRESH.MATE.`
#
ro rd.live.image quiet rootflags=rw,noatime rd.luks=0 rd.md=0 rd.dm=0 rhgb splash=silent logo.nologo # это режимы запуска ядра.
#
initrd (loop)/isolinux/initrd0.img # это запускает initrd0.img в /isolinux/ смотированного iso
####
Вот пример конфига grub.cfg на запуск в режиме livecd и install для моего дистрибутива:
####
menuentry 'Start ROSA.FRESH.MATE.i586.iso' {
set root='hd0,msdos1'
set iso=/ROSA.FRESH.MATE.i586.iso
loopback loop ${iso}
linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. ro rd.live.image quiet rootflags=rw,noatime rd.luks=0 rd.md=0 rd.dm=0 rhgb splash=silent logo.nologo
initrd (loop)/isolinux/initrd0.img
}
menuentry 'Install ROSA.FRESH.MATE.i586.iso' {
set root='hd0,msdos1'
set iso=/ROSA.FRESH.MATE.i586.iso
loopback loop ${iso}
linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. ro rd.live.image quiet rootflags=rw,noatime rd.luks=0 rd.md=0 rd.dm=0 install rhgb splash=silent logo.nologo
initrd (loop)/isolinux/initrd0.img
}
###
Eсли все файлы и конфиги лежат по своим местам (конфиги одинаковые) то подаем команду на установку grub2.
НЕ забываем поменять /dev/sdb на свою флешку, пользователя iteco на своего, и WORK если метка диска у вас отличается.
###
sudo grub2-install --boot-directory=/media/iteco/WORK/EFI/BOOT/ --root-directory=media/iteco/WORK/ /dev/sdb
[sudo] пароль для iteco:
Установка завершена. Ошибок нет.
###
grub2 я засунул в папку /EFI/BOOT/, можно прямо в корень, iso можно в любую папку а не в корень. например set iso=/iso/ROSA.FRESH.MATE.i586.iso
###
Вот ссылка на EFI https://yadi.sk/d/fyaZTlGL3TkZMh (там уже лежат bootx64.efi и grubx64.efi, создана папка grub2 и лежат конфиги).
А это сборки mate кому надо https://yadi.sk/d/tbCNtwUn3TkZXw
Все можно тестировать.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 28 мар 2018, 09:41

Кто опробовал?

Аватара пользователя
Yamah
Сообщения: 1387
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: ISO+EFI на флешку Роса

Сообщение Yamah » 30 мар 2018, 18:57

У меня на одной флэшке Legacy, UEFI, UEFIx32 несколько ISO-шек Росы и две MagOS

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 30 мар 2018, 20:01

Yamah писал(а):
30 мар 2018, 18:57
У меня на одной флэшке Legacy, UEFI, UEFIx32 несколько ISO-шек Росы и две MagOS
принцип тот же?

Аватара пользователя
Yamah
Сообщения: 1387
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: ISO+EFI на флешку Роса

Сообщение Yamah » 30 мар 2018, 20:20

banzay242 писал(а):
30 мар 2018, 20:01
Yamah писал(а):
30 мар 2018, 18:57
У меня на одной флэшке Legacy, UEFI, UEFIx32 несколько ISO-шек Росы и две MagOS
принцип тот же?
Почти. :)
Флэшка бьется GPT на ЧЕТЫРЕ раздела:
Размер - Тип - ФС
1M - Bios Boot Protrcted - без ФС (зачищен еще до разбития)
34 M - EFI - VFAT с меткой EFI_BOOT
34M - Linux - ext3
Остальное. - Linux - ext4
На раздел Boot ставится GRUB2
На раздел EFI копируется EFI-ный загрузчик Rosa
Правятся конфиги EFI_Grub и Grub2

Эта программа пока не умеет править конфиг основного GRUB2 но хорошо автоматизирует процесс.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 31 мар 2018, 08:46

Yamah писал(а):
30 мар 2018, 20:20
banzay242 писал(а):
30 мар 2018, 20:01

принцип тот же?
Почти. :)
Флэшка бьется GPT на ЧЕТЫРЕ раздела:
Размер - Тип - ФС
1M - Bios Boot Protrcted - без ФС (зачищен еще до разбития)
34 M - EFI - VFAT с меткой EFI_BOOT
34M - Linux - ext3
Остальное. - Linux - ext4
На раздел Boot ставится GRUB2
На раздел EFI копируется EFI-ный загрузчик Rosa
Правятся конфиги EFI_Grub и Grub2

Эта программа пока не умеет править конфиг основного GRUB2 но хорошо автоматизирует процесс.
а зачем столько городить? описанное выше все работает без всяких разбиений и флагов, это уже все я проехал, чем проще тем надежней. EFI на флешке не нужен отдельный раздел и флаги это только жесткому диску нужно при установке, а GRUB cпокойно монтирует ISO и запускает ядро и initrd.

Аватара пользователя
Yamah
Сообщения: 1387
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: ISO+EFI на флешку Роса

Сообщение Yamah » 31 мар 2018, 19:40

Yamah писал(а):
30 мар 2018, 20:20
EFI на флешке не нужен отдельный раздел
Если прошивка на материнке соответствует спецификации, то нужен. У меня на ноуте Acer флэшка не грузится совсем из EFI.

Тип раздела должен быть ef00, и фС - fat32. При этом полноценная винда такой раздел не должна показывать и делать доступным в проводнике.

Для FAT32 ограничение на размер файла 4GB. А образ может быть и больше. В той же самой MagOS у меня модуль с программами для разработки приложений весит 4,7 GB.
Grub2 на vfat может загружаться, но только, если нужный модуль туда запихать. Например, Grub2x64.efi я никак не могу собрать с модулями vfat и BTRFS, а так же с модулем изображений. Так же GRUB2 имеет нехорошую привычку портить VFAT, если у него разрешено запоминать последний выбор загрузки.
Так же из-за кривизны драйвера VFAT скорость чтения из образа не будет превышать 8-12 мегабит в секунду. Это сводит на нет все преимущества USB3.0.
После нескольких стрессовых выключений питания на горячую, вы рискуете потерять ваши данные на FAT32.

Первый раздел с без ФС и типом ef02 нужен для обычного GRUB2, он туда что-то дописывает.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 02 апр 2018, 07:25

до этого я так и делал, предыдущую тему наверное смотрели, тут я исходил из простоты и малости телодвижений. такая конфигурация работает на большинстве биосов. кстати мне удалось ubuntu x64 загрузить. а вот когда я ядром x32 на флешке пробовал загрузить x64, не получилось, то бишь ядра на флешке это геморой. Пара от ubuntu-x64 bootx64 и grubx64 прекрасно справляются, может там и модули нужные для вас включены, можно разбить по схеме 1м-неформатировано, 33м-fat32-boot,esp, все остальное-ext4 c iso на борту, так же работает, в парочке от ubuntu все модули для этого включены loopback, gpt и ext. Кроме того эта парочка еще и подписана Canonical Ltd. Я помню как они бодались с мукасофтом.

Аватара пользователя
Yamah
Сообщения: 1387
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: ISO+EFI на флешку Роса

Сообщение Yamah » 02 апр 2018, 18:19

Ядра на флэшке у меня только для MAgOS. Все остальное - ISO.
Вы используете вариант собранного чужого GRUB2. А я говорю про GRUB2, который необходимо собрать командой установки. (Хотя в программе, я использую готовый GRUB2x64.efi из репозитория Росы, я все-таки хочу добиться честного использования.)
Grub2 от Росы, по-моему, тоже подписан. Поэтому и работает, практически на всех железках, где включон секьюрити бут.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 03 апр 2018, 06:27

Yamah писал(а):
02 апр 2018, 18:19
Ядра на флэшке у меня только для MAgOS. Все остальное - ISO.
Вы используете вариант собранного чужого GRUB2. А я говорю про GRUB2, который необходимо собрать командой установки. (Хотя в программе, я использую готовый GRUB2x64.efi из репозитория Росы, я все-таки хочу добиться честного использования.)
Grub2 от Росы, по-моему, тоже подписан. Поэтому и работает, практически на всех железках, где включон секьюрити бут.
в чем нечестность? ubuntu свободный дистрибутив, его и его части можно использовать, подпись каноникал на свою я не переделываю. на авторские права не претендую.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 03 апр 2018, 06:28

а собрать можно перечислив все модули при сборке, думаю будет работать.

Аватара пользователя
Yamah
Сообщения: 1387
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: ISO+EFI на флешку Роса

Сообщение Yamah » 03 апр 2018, 08:25

Со всеми модулями, у меня вылетает ошибка.

banzay242
Сообщения: 904
Зарегистрирован: 18 авг 2017, 10:50
Operating system: MATE в релизе R10
Откуда: Уфа Омск

Re: ISO+EFI на флешку Роса

Сообщение banzay242 » 03 апр 2018, 08:37

Yamah писал(а):
03 апр 2018, 08:25
Со всеми модулями, у меня вылетает ошибка.
наверно в логах пишет на что ошибка, исключать такие модули, у меня нет х64 поэтому не могу достоверно проверить, модули находятся в /usr/lib/grub/ в команде на сборку только эти модули должны быть.
тут где то я приводил команду для сборки.

Ответить

Вернуться в «Обсуждение ROSA Fresh R9-R11.1 (платформа 2016.1)»