[Решено]grub iso для Росы на флешку

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

[Решено]grub iso для Росы на флешку

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

форматируем флешку в fat32, ставим флаг загрузочный.
у меня флешка /dev/sdb
кидаем в корень образы в iso
у меня
ROSA.FRESH.MATE.start.iso
ROSA.FRESH.MATE.i586.iso
узнаем метки исошников для root=live:LABEL=
команда file ROSA.FRESH.MATE.start.iso выдаст метку исошника между одинарных ковычек
ROSA.FRESH.MATE.start.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'ROSA.FRESH.MATE.' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 140, 9216 sectors
создаем папки /boot/grub2/
создаем /boot/grub2/grub.cfg
содержимое:

Код: Выделить всё

menuentry 'Start ROSA.FRESH.MATE.start.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,msdos1'
    set iso=/ROSA.FRESH.MATE.start.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}

menuentry 'Start ROSA.FRESH.MATE.i586.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,msdos1'
    set iso=/ROSA.FRESH.MATE.i586.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}
Устанавливаем Груб
grub2-install --boot-directory=/media/ваша/смонтированная_флешка/boot --root-directory=/media/ваша/смонтированная_флешка/ /dev/sdb
Установка завершена. Ошибок нет.
Работает
Последний раз редактировалось banzay242 26 мар 2018, 11:56, всего редактировалось 3 раза.

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 13 мар 2018, 10:38

Ну еще сверху добавил сегодня:
menuentry 'Boot from local drive' {
reboot
}

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 13 мар 2018, 15:01

banzay242 писал(а):
12 мар 2018, 14:20
узнаем метки исошников для root=live:LABEL=
file ROSA.FRESH.MATE.start.iso
ROSA.FRESH.MATE.start.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'ROSA.FRESH.MATE.' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 140, 9216 sectors
Вот здесь непонятно. Можно чуть подробнее?
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 13 мар 2018, 19:13

mexx400 писал(а):
13 мар 2018, 15:01
banzay242 писал(а):
12 мар 2018, 14:20
узнаем метки исошников для root=live:LABEL=
file ROSA.FRESH.MATE.start.iso
ROSA.FRESH.MATE.start.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'ROSA.FRESH.MATE.' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 140, 9216 sectors
Вот здесь непонятно. Можно чуть подробнее?
команда file ваш.iso выведет свойства вашего образа но вам нужны только данные между кавычек, можно конечно смонтировать и дать команду blkid -L /dev/loop, так вроде

'ROSA.FRESH.MATE.' Без кавычек и есть root=live:LABEL=ROSA.FRESH.MATE.
строка в конфиге:
linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
Последний раз редактировалось banzay242 13 мар 2018, 19:27, всего редактировалось 1 раз.

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 13 мар 2018, 19:24

banzay242 писал(а):
13 мар 2018, 19:13
но вам нужны только данные между кавычек
У меня так:

Код: Выделить всё

$ file ROSA.FRESH.PLASMA.R10.x86_64.iso
ROSA.FRESH.PLASMA.R10.x86_64.iso: DOS/MBR boot sector; partition 1 : ID=0xda, active, start-CHS (0x0,0,2), end-CHS (0x0,0,2), startsector 1, 1 sectors
Нет никаких кавычек и данных.
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

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

странно щас только проверил, тогда смонтировать и узнать лейбу исошника
mkdir mnt
sudo mount -o loop ваш.iso mnt
sudp blkid -L /dev/loop #покажет лейбу
sudo umount mnt
щас проверил:
file ROSA.FRESH.MATE.R10.iso
ROSA.FRESH.MATE.R10.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'ROSA.FRESH.MATE' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 140, 8904 sectors

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 13 мар 2018, 19:57

или так:
isoinfo -d -i ROSA.FRESH.LXQT.R10.i586.iso

Код: Выделить всё

Setting input-charset to 'UTF-8' from locale.
CD-ROM is in ISO 9660 format
System id: LINUX
Volume id: ROSA.FRESH.LXQT.R10.i586
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 731005
El Torito VD version 1 found, boot catalog is in sector 36

Joliet with UCS level 3 found.
SUSP signatures version 1 found
Rock Ridge signatures version 1 found
Rock Ridge id 'RRIP_1991A'
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID ''
    Cksum AA 55 OK
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 0 (No Emulation Boot)
        Load segment 0
        Sys type 0
        Nsect 4
        Bootoff 25 37
Volume id: ROSA.FRESH.LXQT.R10.i586 похоже эта строчка

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 13 мар 2018, 19:59

banzay242 писал(а):
13 мар 2018, 19:28
странно щас только проверил
Еще как странно :) То был Debian. В ROSA10 же все как надо:

Код: Выделить всё

$ file 'ROSA.FRESH.PLASMA.R10.x86_64.iso'
ROSA.FRESH.PLASMA.R10.x86_64.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'ROSA.FRESH.PLASMA.R10.x86_64' (bootable); partition 1 : ID=0xda, active, start-CHS (0x0,0,2), end-CHS (0x0,0,2), startsector 1, 1 sectors
ROSA Fresh 12.3 Plasma [amd64]

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 13 мар 2018, 22:49

banzay242 писал(а):
12 мар 2018, 14:20
Устанавливаем Груб
grub2-install --boot-directory=/media/ваша/смонтированная_флешка/boot --root-directory=/media/ваша/смонтированная_флешка/ /dev/sdb
Установка завершена. Ошибок нет.
Не смог:

Код: Выделить всё

# grub2-install --boot-directory=/media/usb404/boot --root-directory=/media/usb404/ /dev/sdd
/usr/sbin/grub2-bios-setup: предупреждение: Попытка установить GRUB на диск с несколькими разметками разделов. Это пока не поддерживается..
/usr/sbin/grub2-bios-setup: предупреждение: Встраивание невозможно. При имеющихся параметрах GRUB можно установить только с помощью списка блоков (blocklists). Однако, список блоков является НЕНАДЁЖНЫМ механизмом и его лучше не использовать..
/usr/sbin/grub2-bios-setup: ошибка: не будет продолжена с использованием blocklists.
Флешку перед всей этой историей обработал gparted - удалил все разделы, потом создал новую таблицу разделов и потом один раздел FAT32.
ROSA Fresh 12.3 Plasma [amd64]

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 14 мар 2018, 01:52

Ну что-то с флешкой, наверное.
Выполнил низкоуровневое форматирование, потом все повторил. Теперь хорошо:

Код: Выделить всё

# grub2-install --boot-directory=/media/usb404/boot --root-directory=/media/usb404/ /dev/sdd
Установка завершена. Ошибок нет.
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 14 мар 2018, 06:25

Готовить флешку нужно той последовательности которую я описал, заметил что если если вначале установить груб а потом конфиг то последний не будет считывается, update-grub2 /dev/sdb не помогает, если хотите что то добавить в конфиг то удаляете все кроме /boot/grub2/grub.cfg, а потом снова команду на установку. для дебианов другой конфиг должен быть там каспер обитает.

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 14 мар 2018, 10:42

banzay242 писал(а):
14 мар 2018, 06:25
Готовить флешку нужно той последовательности которую я описал
Да я так и делал. И первый раз, и второй. Что-то с флешкой просто было. Не суть. Работает. Удобно. Спасибо!

Но! Работает с машиной без UEFI. На машине с UEFI не работает. Отключать не хочу. Куда посмотреть?
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 14 мар 2018, 10:52

efi раздел готовить на флешке, пока еще с этим не занимался, тоже хотел бы универсальную, но пока и это прогресс, манов много но они заумные. если буду делать то типа этого просто и доступно.

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 14 мар 2018, 11:00

Если будет простой рецепт - просьба сообщить :)
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 14 мар 2018, 14:33

вроде получилось завтра если что опишу

notauser
Сообщения: 1254
Зарегистрирован: 06 май 2012, 21:00

Re: grub iso для Росы на флешку

Сообщение notauser » 14 мар 2018, 15:19

mexx400 писал(а):
14 мар 2018, 10:42
banzay242 писал(а):
14 мар 2018, 06:25
Готовить флешку нужно той последовательности которую я описал
Да я так и делал. И первый раз, и второй. Что-то с флешкой просто было. Не суть. Работает. Удобно. Спасибо!

Но! Работает с машиной без UEFI. На машине с UEFI не работает. Отключать не хочу. Куда посмотреть?
https://forum.rosalinux.ru/viewtopic.php?f=40&t=7958, например.

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

Re: grub iso для Росы на флешку

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

таблица разделов gpt
1.png
2.png
3.png
4.png
5.png
# я пользовался gparted и grub2-efi, для они должны быть установлены если будете пользоваться этим мануалом
sudo fdisk -l
#где то в конце должно показать
Устр-во начало Конец Секторы Размер Тип
/dev/sdb1 2048 4095 2048 1M BIOS boot
/dev/sdb2 4096 208895 204800 100M EFI
/dev/sdb3 208896 15644671 15435776 7,4G Microsoft basic data

дальше:
sudo mount /dev/sdb2 /mnt
sudo mkdir /mnt/boot/
sudo mkdir -p /mnt/efi/boot/
#
sudo grub2-install --boot-directory=/mnt/boot/ --root-directory=/mnt/ /dev/sdb
Установка завершена. Ошибок нет.
#
sudo grub2-efi-install --boot-directory=/mnt/efi/boot/ --root-directory=/mnt/ /dev/sdb
Установка завершена. Ошибок нет.
#смотрим
ls /mnt/boot/grub2/
fonts/ grubenv i386-pc/ locale/
ls /mnt/efi/boot/grub2/
fonts/ grubenv* i386-pc/ locale/
#создаем конфиг
touch grub.cfg
mcedit grub.cfg
#мой конфиг для тех же исошников

Код: Выделить всё

menuentry 'Boot from local drive' {
reboot
}
menuentry 'Start ROSA.FRESH.MATE.start.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,gpt3'
    set iso=/ROSA.FRESH.MATE.start.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}

menuentry 'Start ROSA.FRESH.MATE.i586.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,gpt3'
    set iso=/ROSA.FRESH.MATE.i586.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}
# обратите внимание поменялось set root='hd0,gpt3'
#копируем
sudo cp grub.cfg /mnt/boot/grub2/
sudo cp grub.cfg /mnt/efi/boot/grub2/
#
#в корне iso если открыть архиватором или mc есть папка /efi/boot там у меня есть файлы BOOTIA32.efi grubia32.efi
# (для всех дистрибутивов должно подходить(64). вот их и копируем в /mnt/efi/boot/grub2/
sudo cp -r *.efi /mnt/efi/boot/grub2/
#смотрим появились ли такие
sudo ls /mnt/efi/boot/grub2/
BOOTIA32.efi fonts grub.cfg grubenv grubia32.efi i386-pc locale
#повторяем команды
#
sudo grub2-install --boot-directory=/mnt/boot/ --root-directory=/mnt/ /dev/sdb
Установка завершена. Ошибок нет.
#
sudo grub2-efi-install --boot-directory=/mnt/efi/boot/ --root-directory=/mnt/ /dev/sdb
Установка завершена. Ошибок нет.
# копируем исошники
sudo cp -r *.iso /media/ползователь/WORK/
#размонтируем /mnt и флешку тоже
sudo umount /mnt
sudo umount /media/ползователь/WORK/
#пробуем
sudo qemu-system-i386 /dev/sdb
#загрузилась меню есть
осталось попробовать EFI нечем, только перезагрузка и загрузка с флешки,
работает грузится

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

Re: grub iso для Росы на флешку

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

в биосе выставлено UEFI Hibrid (with csm)
6.png

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

Re: grub iso для Росы на флешку

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

не работает, буду думать но разметка правильная
маленько переделал, не знаю как передать загрузку из bootia32.efi в brub, bootia32.efi с iso похоже не работает.
оказывается bootia32.efi можно самому собирать с нужными модулями

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 16 мар 2018, 07:51

Ребята помогите у кого x86_64, у меня i386 и биос EFI не понимает bootx32.efi, только bootx64.efi понимает, брал с федоры, но там похоже нет loopback поддержки. вышлите на почту или ссылку дайте на скачку

скрипт такой

Код: Выделить всё

#!/bin/sh
grub2-efi-mkimage --compress=xz -O x86_64-efi -d /usr/lib/grub/x86_64-efi -o /home/user/bootx64.efi -p "/EFI/boot" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot efi_gop efi_uga loopback gzio font gfxterm
в месте /home/user/bootx64.efi
нужно своего юзера поставить

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 19 мар 2018, 13:07

Пробую делаю

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 19 мар 2018, 20:33

Штатная multibootusb вроде решает все вопросы. Правда тянет 300 с лишним метров.
ROSA Fresh 12.3 Plasma [amd64]

Аватара пользователя
Barmalei
Сообщения: 5468
Зарегистрирован: 29 дек 2014, 15:45
Operating system: Rosa Fresh R12 Plasma 2021.1 x64

Re: grub iso для Росы на флешку

Сообщение Barmalei » 19 мар 2018, 21:18

mexx400 писал(а):
19 мар 2018, 20:33
Штатная multibootusb вроде решает все вопросы. Правда тянет 300 с лишним метров.
Не знаю как она решает, но EFI я не смог загрузить.

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

Re: grub iso для Росы на флешку

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

Barmalei писал(а):
19 мар 2018, 21:18
mexx400 писал(а):
19 мар 2018, 20:33
Штатная multibootusb вроде решает все вопросы. Правда тянет 300 с лишним метров.
Не знаю как она решает, но EFI я не смог загрузить.
собрал таки! и работает, только пришлось создавать на базе multibootusb, в частности на базе bootx64.efi
монтируешь в mnt /dev/sdb2
копируешь папку /usr/share/multibootusb/data/EFI в смонтированную /dev/sdb2 (смотри разметку gpt)
создаешь папку /multibootusb/grub там же
создаешь папку /multibootusb/grub2 там же
создаешь grub.cfg и раскидываешь по папкам /multibootusb/grub/, /multibootusb/grub2/
sudo grub2-install --boot-directory=/mnt/multibootusb/ --root-directory=/mnt /dev/sdb
размонтируешь все
конфиг такой как править написано выше:

Код: Выделить всё

menuentry 'Start ROSA.FRESH.MATE.start.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod part_gpt
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,gpt3'
    set iso=/ROSA.FRESH.MATE.start.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}

menuentry 'Start ROSA.FRESH.MATE.i586.iso' --class rosa --class gnu-linux --class gnu --class os {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod part_gpt
    insmod ext2
    insmod search_label
    insmod loopback
    set root='hd0,gpt3'
    set iso=/ROSA.FRESH.MATE.i586.iso
    loopback loop ${iso}
    echo 'Loading kernel ...'
    linux (loop)/isolinux/vmlinuz0 isoboot=${iso} boot=isolinux iso-scan/filename=${iso} root=live:LABEL=ROSA.FRESH.MATE. rd.live.image rd.luks=0 rd.md=0 rd.dm=0 rhgb logo.nologo
    echo 'Loading initial ramdisk ...'
    initrd (loop)/isolinux/initrd0.img
}
копируешь iso на /dev/sdb3
Последний раз редактировалось banzay242 20 мар 2018, 17:58, всего редактировалось 6 раз.

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

Re: grub iso для Росы на флешку

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

Снимок экрана в 2018-03-19 14-44-19.png
в этом bootx64 включена поддержка loopback и еще что то, что позволяет грузится в EFI.
правда родная директория конфига для EFI получается /mltibootusb/grub/
bootx64 лежит по адресу /usr/share/multibootusb/data/EFI/BOOT/
Снимок экрана в 2018-03-20 15-14-11.png

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

Re: grub iso для Росы на флешку

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

собрал бы кто нибудь bootx64 со всеми модулями, и родной папкой /EFI/BOOT/
mexx400 собрал благодарю, только каких то модулей не хватило.

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Re: grub iso для Росы на флешку

Сообщение mexx400 » 20 мар 2018, 13:29

banzay242 писал(а):
20 мар 2018, 12:56
собрал таки!
Поздравляю! В любом случае - это отличный результат для саморазвития.
banzay242 писал(а):
20 мар 2018, 12:56
только пришлось создавать на базе multibootusb
Я может что-то не понимаю про UEFI (что вполне возможно), но я штатно установил multibootusb, штатно инсталировал в него нужные мне live-дистрибутивы и... собственно всё - ПК с UEFI загружается с этой флешки под нужный мне дистрибутив. Ну и ПК с чистым BIOS тоже, само собой. Да, еще и кусок флешки под данные отрезал. С практической точки зрения это простейшее решение для моих хотелок :)
Вот первое твоё решение - https://forum.rosalinux.ru/viewtopic.php?p=93095#p93095 - оно было совсем простым, что отлично. Но, повторюсь, ПК с UEFI с нее не грузится.
ROSA Fresh 12.3 Plasma [amd64]

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

Re: grub iso для Росы на флешку

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

mexx400 писал(а):
20 мар 2018, 13:29
banzay242 писал(а):
20 мар 2018, 12:56
собрал таки!
Поздравляю! В любом случае - это отличный результат для саморазвития.
banzay242 писал(а):
20 мар 2018, 12:56
только пришлось создавать на базе multibootusb
Я может что-то не понимаю про UEFI (что вполне возможно), но я штатно установил multibootusb, штатно инсталировал в него нужные мне live-дистрибутивы и... собственно всё - ПК с UEFI загружается с этой флешки под нужный мне дистрибутив. Ну и ПК с чистым BIOS тоже, само собой. Да, еще и кусок флешки под данные отрезал. С практической точки зрения это простейшее решение для моих хотелок :)
Вот первое твоё решение - https://forum.rosalinux.ru/viewtopic.php?p=93095#p93095 - оно было совсем простым, что отлично. Но, повторюсь, ПК с UEFI с нее не грузится.
Попробуйте то что выше написал, должно работать, сдесь тоже не так сложно, флешку разбить, директории создать. раскидать конфиг, и установить груб. исошники грузит. не понимаю почему штатный multibootusb не грузит исошники?

notauser
Сообщения: 1254
Зарегистрирован: 06 май 2012, 21:00

Re: grub iso для Росы на флешку

Сообщение notauser » 20 мар 2018, 20:52

"исошка исошке рознь". Была такая хотелка, типа загрузчик(*,grub)-iso и подобное. Вроде как сделал типа /boot/iso, накидал туда "*дистрибутив.iso и подобное" - обновил загрузчик(*,grub) и всё. И это иногда работало при предсказуемости "init-ram-fs". Потом решили - здесь не помню, но был временной период в котором оперативная память стала большой, а ядра ещё нет и "copy-to-ram" делал своё, а потом - да ну вас - вот вам loop в загрузчик(*,grub) - и там всё ваше.

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 21 мар 2018, 10:22

щас опробовал еще вариант, мне он понравился, грузит ядро с флешки а ядро уже спокойно съедает iso без loop.
работает!
оставлю этот вариант, если надо скрипт выложу там вроде все понятно.
Последний раз редактировалось banzay242 21 мар 2018, 14:27, всего редактировалось 1 раз.

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 21 мар 2018, 13:38

файлы для загрузки взяты с Росы х64

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 22 мар 2018, 10:07

Вариант три работает на все сто:
Создавал в gparted
sudo fdisk -l
Таблица разделов: gpt
Идентификатор диска: 2BB5731A-0743-4CB7-A701-8EB1E009FB5F
### у меня /dev/sdb
Устр-во начало Конец Секторы Размер Тип
/dev/sdb1 2048 4095 2048 1M BIOS boot
/dev/sdb2 4096 208895 204800 100M EFI
/dev/sdb3 208896 15644671 15435776 7,4G Microsoft basic data #WORK
Снимок экрана в 2018-03-22 10-54-44.png

Код: Выделить всё

### готовим grub.cfg, LABEL=узнаем командой file *.iso
### было:
menuentry 'Start ROSA Desktop Fresh R10' --class rosa --class gnu-linux --class gnu --class os {
	echo 'Loading kernel ...'
	linux /isolinux/vmlinuz0 root=live:LABEL=ROSA.FRESH.KDE.R10.x86_64 ro rd.live.image quiet rootflags=rw,noatime rd.luks=0 rd.md=0 rd.dm=0 rhgb splash=silent logo.nologo
	echo 'Loading initial ramdisk ...'
	initrd /isolinux/initrd0.img
}
### стало:
menuentry 'Start ROSA.FRESH.MATE.start.iso' --class rosa --class gnu-linux --class gnu --class os {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.start.iso
        echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
###
копируем папку /EFI/ с любого iso x64, добавляем в /EFI/BOOT/ initrd0.img и vmlinuz0 из /isolinux/ того же iso
Снимок экрана в 2018-03-22 11-19-28.png
создаем папку /EFI/BOOT/grub2/
кидаем в папки /EFI/BOOT/ и /EFI/BOOT/grub2/ ваш готовый grub.cfg
это листинг папки:
ls -R EFI/
EFI:
BOOT/
EFI/BOOT:
BOOTx64.efi* grub2/ grub.cfg* grubx64.efi* initrd0.img* vmlinuz0*
EFI/BOOT/grub2:
grub.cfg*
###
sudo mount /dev/sdb2 /mnt/
sudo cp -r EFI/ /mnt/
###
cp *.iso /media/ваш_пользователь/WORK/ # поменять на своего пользователя или скопировать через файловый менеджер

sudo grub2-install --boot-directory=/mnt/EFI/BOOT/ --root-directory=/mnt /dev/sdb
sudo umount /mnt
sudo umount /media/ваш_пользователь/WORK
Последний раз редактировалось banzay242 22 мар 2018, 10:35, всего редактировалось 4 раза.

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 22 мар 2018, 10:14

20180322113044.jpg
20180322112906.jpg
20180322112840.jpg
20180322112823.jpg
20180322112727.jpg

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

Re: grub iso для Росы на флешку

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

мой конфиг grub.cfg:

Код: Выделить всё

menuentry 'boot from local drive' {
	reboot
}
menuentry 'Start ROSA.FRESH.MATE.start.iso' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.start.iso
        echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
menuentry 'Install ROSA.FRESH.MATE.start.iso' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.start.iso
	echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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 install rhgb splash=silent logo.nologo
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
menuentry 'Install ROSA.FRESH.MATE.start.iso in basic graphics mode' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.start.iso
	echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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 install nomodeset plymouth.enable=0
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
menuentry 'Start ROSA.FRESH.MATE.i586.iso' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.i586.iso
        echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
menuentry 'Install ROSA.FRESH.MATE.i586.iso' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.i586.iso
	echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
menuentry 'Install ROSA.FRESH.MATE.i586.iso in basic graphics mode' {
	set root='hd0,gpt3'
        set iso=/ROSA.FRESH.MATE.i586.iso
	echo 'Loading kernel ...'
	linux (hd0,gpt2)/EFI/BOOT/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 install nomodeset plymouth.enable=0
	echo 'Loading initial ramdisk ...'
	initrd (hd0,gpt2)/EFI/BOOT/initrd0.img
}
Снимок экрана в 2018-03-22 11-25-02.png

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

Re: grub iso для Росы на флешку

Сообщение banzay242 » 22 мар 2018, 12:00

Проверил на двух флешках , оба режима работают
ну а это скрипт кому надо:

Код: Выделить всё

#!/bin/sh
echo "монтируем раздел EFI"
mount /dev/sdb2 /mnt
echo "удаляем если есть что то"
rm -rf /mnt/*
echo "копируем файлы в директории"
sudo cp -r EFI/ /mnt/
mkdir -p /mnt/EFI/BOOT/grub2
cp grub.cfg /mnt/EFI/BOOT/grub2/
cp grub.cfg /mnt/EFI/BOOT/
#cp -r *.iso /media/iteco/WORK/ #можно закоментировать если есть
echo "устанавливаем загрузчик grub2"
grub2-install --boot-directory=/mnt/EFI/BOOT/ --root-directory=/mnt /dev/sdb
echo "размонтируем"
umount {/mnt,/media/iteco/WORK} 
echo "проверяем меню"
#qemu-system-i386 -usb /dev/sdb #если надо проверяем
echo "Готово"

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

Re: grub iso для Росы на флешку

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

но это эксперемент только для x32, для x64 свое ядро надо

Ответить

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