Страница 1 из 1
[Решено]grub iso для Росы на флешку
Добавлено: 12 мар 2018, 14:20
banzay242
форматируем флешку в 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
Установка завершена. Ошибок нет.
Работает
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 10:38
banzay242
Ну еще сверху добавил сегодня:
menuentry 'Boot from local drive' {
reboot
}
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 15:01
mexx400
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
Вот здесь непонятно. Можно чуть подробнее?
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 19:13
banzay242
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
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 19:24
mexx400
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
Нет никаких кавычек и данных.
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 19:28
banzay242
странно щас только проверил, тогда смонтировать и узнать лейбу исошника
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
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 19:57
banzay242
или так:
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 похоже эта строчка
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 19:59
mexx400
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
Re: grub iso для Росы на флешку
Добавлено: 13 мар 2018, 22:49
mexx400
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.
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 01:52
mexx400
Ну что-то с флешкой, наверное.
Выполнил низкоуровневое форматирование, потом все повторил. Теперь хорошо:
Код: Выделить всё
# grub2-install --boot-directory=/media/usb404/boot --root-directory=/media/usb404/ /dev/sdd
Установка завершена. Ошибок нет.
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 06:25
banzay242
Готовить флешку нужно той последовательности которую я описал, заметил что если если вначале установить груб а потом конфиг то последний не будет считывается, update-grub2 /dev/sdb не помогает, если хотите что то добавить в конфиг то удаляете все кроме /boot/grub2/grub.cfg, а потом снова команду на установку. для дебианов другой конфиг должен быть там каспер обитает.
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 10:42
mexx400
banzay242 писал(а): 14 мар 2018, 06:25
Готовить флешку нужно той последовательности которую я описал
Да я так и делал. И первый раз, и второй. Что-то с флешкой просто было. Не суть. Работает. Удобно. Спасибо!
Но! Работает с машиной без UEFI. На машине с UEFI не работает. Отключать не хочу. Куда посмотреть?
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 10:52
banzay242
efi раздел готовить на флешке, пока еще с этим не занимался, тоже хотел бы универсальную, но пока и это прогресс, манов много но они заумные. если буду делать то типа этого просто и доступно.
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 11:00
mexx400
Если будет простой рецепт - просьба сообщить

Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 14:33
banzay242
вроде получилось завтра если что опишу
Re: grub iso для Росы на флешку
Добавлено: 14 мар 2018, 15:19
notauser
mexx400 писал(а): 14 мар 2018, 10:42
banzay242 писал(а): 14 мар 2018, 06:25
Готовить флешку нужно той последовательности которую я описал
Да я так и делал. И первый раз, и второй. Что-то с флешкой просто было. Не суть. Работает. Удобно. Спасибо!
Но! Работает с машиной без UEFI. На машине с UEFI не работает. Отключать не хочу. Куда посмотреть?
https://forum.rosalinux.ru/viewtopic.php?f=40&t=7958, например.
Re: grub iso для Росы на флешку
Добавлено: 15 мар 2018, 09:34
banzay242
таблица разделов gpt
# я пользовался 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 нечем, только перезагрузка и загрузка с флешки,
работает грузится
Re: grub iso для Росы на флешку
Добавлено: 15 мар 2018, 09:37
banzay242
в биосе выставлено UEFI Hibrid (with csm)
Re: grub iso для Росы на флешку
Добавлено: 15 мар 2018, 12:41
banzay242
не работает, буду думать но разметка правильная
маленько переделал, не знаю как передать загрузку из bootia32.efi в brub, bootia32.efi с iso похоже не работает.
оказывается bootia32.efi можно самому собирать с нужными модулями
Re: grub iso для Росы на флешку
Добавлено: 16 мар 2018, 07:51
banzay242
Ребята помогите у кого 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
нужно своего юзера поставить
Re: grub iso для Росы на флешку
Добавлено: 19 мар 2018, 13:07
banzay242
Пробую делаю
Re: grub iso для Росы на флешку
Добавлено: 19 мар 2018, 20:33
mexx400
Штатная multibootusb вроде решает все вопросы. Правда тянет 300 с лишним метров.
Re: grub iso для Росы на флешку
Добавлено: 19 мар 2018, 21:18
Barmalei
mexx400 писал(а): 19 мар 2018, 20:33
Штатная multibootusb вроде решает все вопросы. Правда тянет 300 с лишним метров.
Не знаю как она решает, но EFI я не смог загрузить.
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 12:56
banzay242
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
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 13:01
banzay242
в этом bootx64 включена поддержка loopback и еще что то, что позволяет грузится в EFI.
правда родная директория конфига для EFI получается /mltibootusb/grub/
bootx64 лежит по адресу /usr/share/multibootusb/data/EFI/BOOT/
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 13:27
banzay242
собрал бы кто нибудь bootx64 со всеми модулями, и родной папкой /EFI/BOOT/
mexx400 собрал благодарю, только каких то модулей не хватило.
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 13:29
mexx400
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 с нее не грузится.
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 13:33
banzay242
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 не грузит исошники?
Re: grub iso для Росы на флешку
Добавлено: 20 мар 2018, 20:52
notauser
"исошка исошке рознь". Была такая хотелка, типа загрузчик(*,grub)-iso и подобное. Вроде как сделал типа /boot/iso, накидал туда "*дистрибутив.iso и подобное" - обновил загрузчик(*,grub) и всё. И это иногда работало при предсказуемости "init-ram-fs". Потом решили - здесь не помню, но был временной период в котором оперативная память стала большой, а ядра ещё нет и "copy-to-ram" делал своё, а потом - да ну вас - вот вам loop в загрузчик(*,grub) - и там всё ваше.
Re: grub iso для Росы на флешку
Добавлено: 21 мар 2018, 10:22
banzay242
щас опробовал еще вариант, мне он понравился, грузит ядро с флешки а ядро уже спокойно съедает iso без loop.
работает!
оставлю этот вариант, если надо скрипт выложу там вроде все понятно.
Re: grub iso для Росы на флешку
Добавлено: 21 мар 2018, 13:38
banzay242
файлы для загрузки взяты с Росы х64
Re: grub iso для Росы на флешку
Добавлено: 22 мар 2018, 10:07
banzay242
Вариант три работает на все сто:
Создавал в 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
Код: Выделить всё
### готовим 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
создаем папку /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
Re: grub iso для Росы на флешку
Добавлено: 22 мар 2018, 10:14
banzay242
Re: grub iso для Росы на флешку
Добавлено: 22 мар 2018, 11:21
banzay242
мой конфиг 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
}

Re: grub iso для Росы на флешку
Добавлено: 22 мар 2018, 12:00
banzay242
Проверил на двух флешках , оба режима работают
ну а это скрипт кому надо:
Код: Выделить всё
#!/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 "Готово"
Re: grub iso для Росы на флешку
Добавлено: 23 мар 2018, 08:28
banzay242
но это эксперемент только для x32, для x64 свое ядро надо