101

mozg1986,
-для твоих целей подходит дистрибутив с дебиановским ядром, а "трахаться" с MagOS или с uefi - это на большого любителя

LXDE Mаgeia 6 i586 мать GA-MA78GM-S2H (Radeon HD3200)

102

reuz пишет:

mozg1986,
-для твоих целей подходит дистрибутив с дебиановским ядром, а "трахаться" с MagOS или с uefi - это на большого любителя

Вот придется мне с этим позаниматься любовью. Только вот нет нигде ддокумментации на то. как оно у магеии устроено. С uefi заниматься пока в очень не сорых планах. Сейчас задача добавить в мой мультизагрузочный диск возможность запуститься в livedvd и запустить установку магеии. Также хочу иметь возможность выбора архитектуры, так что вариант "подстроить пути под те, с которыми работает установщик" не прокатит. Те, кто делал magos наверное знакомы с этой кухней. Дайте ссылку на "почитать" или готовый параметр, который передавать ядру при загрузке.

103 (2016-09-25 16:51:16 отредактировано mozg1986)

В общем поэкспериментировал с параметрами ядра, сумел включить debug и увидел причину всех бед:

[   11.948828] dracut: //sbin/mgalive-root@22(main): echo /dev/sdb3
[   11.950796] dracut: //sbin/mgalive-root@22(main): sed 's,(/dev/sd[a-z])1,1,g'
[   11.951760] ISOFS: Unable to identify CD-ROM format.
[   11.954575] dracut: /sbin/mgalive-root@22(main): realdev=/dev/sdb3
[   11.956625] dracut: /sbin/mgalive-root@25(main): getargbool 0 UEFI
[   11.958543] dracut: /lib/dracut-lib.sh@241(getargbool): local _b
[   11.960430] dracut: /lib/dracut-lib.sh@242(getargbool): unset _b
[   11.962274] dracut: /lib/dracut-lib.sh@243(getargbool): local _default
[   11.964165] dracut: /lib/dracut-lib.sh@244(getargbool): _default=0
[   11.965971] dracut: /lib/dracut-lib.sh@244(getargbool): shift
[   11.967720] dracut: //lib/dracut-lib.sh@245(getargbool): getarg UEFI
[   11.969397] dracut: //lib/dracut-lib.sh@190(getarg): debug_off
[   11.971059] dracut: //lib/dracut-lib.sh@18(debug_off): set +x
[   11.972607] dracut: //lib/dracut-lib.sh@230(getarg): return 1
[   11.974121] dracut: /lib/dracut-lib.sh@245(getargbool): _b=
[   11.975597] dracut: /lib/dracut-lib.sh@246(getargbool): '[' 1 -ne 0 -a -z '' ']'
[   11.977040] dracut: /lib/dracut-lib.sh@246(getargbool): _b=0
[   11.978406] dracut: /lib/dracut-lib.sh@247(getargbool): '[' -n 0 ']'
[   11.979764] dracut: /lib/dracut-lib.sh@248(getargbool): '[' 0 = 0 ']'
[   11.981055] dracut: /lib/dracut-lib.sh@248(getargbool): return 1
[   11.982300] dracut: /sbin/mgalive-root@26(main): '[' -n '' ']'
[   11.983565] dracut: /sbin/mgalive-root@29(main): mount -n -t iso9660 -o ro /dev/sdb3 /live/media
[   11.984868] dracut: mount: wrong fs type, bad option, bad superblock on /dev/sdb3,
[   11.986150] dracut: missing codepage or helper program, or other error
[   11.987382] dracut: 
[   11.988627] dracut: In some cases useful info is found in syslog - try
[   11.989996] dracut: dmesg | tail or so.
[   11.991334] dracut: //sbin/mgalive-root@32(main): losetup -f
[   11.992837] dracut: /sbin/mgalive-root@32(main): LOOPDEV=/dev/loop0
[   11.994453] dracut: /sbin/mgalive-root@33(main): losetup -r /dev/loop0 /live/media/loopbacks/distrib-lzma.sqfs
[   11.996131] dracut: losetup: /live/media/loopbacks/distrib-lzma.sqfs: failed to set up loop device: No such file or directory
[   11.997829] dracut: /sbin/mgalive-root@34(main): mount -n -t squashfs -o ro /dev/loop0 /live/distrib

Видимо чтобы это исправить нужно редактировать скрипт /sbin/mgalive-root

104 (2016-09-25 22:09:01 отредактировано mozg1986)

Короче в очередной раз отвечаю сам себе на свои же вопросы.

Тем, кто захочет сделать мультизагрузочный диск с магеией, придется столкнуться со следующими проблемами:
1. initrd не имеет модуля ntfs. Придется распаковывать iso на раздел fat
2. iso нужно распаковать в корень диска, dracut его примонтирует, и потом будет искать ядро в пути относительно корня. Можно в этот раздел положить файлик с уникальным именем, чтобы потом было проще искать root в grub.
3. dracut для монтирования ищет диск по метке, нужно в параметрах ядра передать правильную метку раздела, на который распакован iso.

root=mgalive:LABEL=MAGEIA6X64

Нужно иметь ввиду, что метки у разделов fat имеют длинну не более 11 символов и пишутся заглавными буквами.
4. По-умолчанию dracut пытается примонтировать раздел с дистрибутивом как CD iso9660, но если передать ядру параметр

liveuefi=yes

то раздел монтируется как vfat.
5. Если требуется отладка - в ядро передается параметр

rd.debug=1

Хотелось бы иметь возможность передавать скрипту /sbin/mgalive-root в виде параметров путь, где искать файл distrib-lzma.sqfs (чтобы можно было его класть не именно в каталог /loopbacks, а в любой удобный пользователю, а также передавать свое имя файла, отличное от distrib-lzma.sqfs, чтобы можно было положить в один каталог файлы от обеих архитектур (сейчас в скрипте путь и имя файла указаны жестко, не в виде переменных). Но для этого нужно, чтобы разработчики Магеии реализовали это самостоятельно в своих скриптах (в принципе ничего сложного, нужно только сообщить им об этом)

105 (2016-09-25 21:58:43 отредактировано mozg1986)

Пишу уже из Mageia6 Live
В результате пункты меню grub4dos в моем случае получились следующими:

title Boot Mageia 6 live x64
find --set-root --ignore-floppies --ignore-cd /mageia6x64
kernel /boot/vmlinuz root=mgalive:LABEL=MAGEIA6X64 liveuefi=yes splash quiet noiswmd rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 vga=788
initrd=/boot/cdrom/initrd.gz 

title Install Mageia 6 x64
find --set-root --ignore-floppies --ignore-cd /mageia6x64
kernel /boot/vmlinuz root=mgalive:LABEL=MAGEIA6X64 liveuefi=yes splash quiet noiswmd rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 vga=788 install
initrd=/boot/cdrom/initrd.gz 

title Boot Mageia 6 live x86
find --set-root --ignore-floppies --ignore-cd /mageia6x86
kernel /boot/vmlinuz root=mgalive:LABEL=MAGEIA6X86 liveuefi=yes splash quiet noiswmd rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 vga=788
initrd=/boot/cdrom/initrd.gz 

title Install Mageia 6 x86
find --set-root --ignore-floppies --ignore-cd /mageia6x86
kernel /boot/vmlinuz root=mgalive:LABEL=MAGEIA6X86 liveuefi=yes splash quiet noiswmd rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 vga=788 install
initrd=/boot/cdrom/initrd.gz

Полезные ссылки:
https://wiki.archlinux.org/index.php/Mu … _USB_drive
https://git.kernel.org/cgit/boot/dracut … line.7.asc
https://www.kernel.org/doc/Documentatio … meters.txt

106 (2016-09-26 01:49:31 отредактировано mozg1986)

Ну и еще дополнение. Оказывается есть у grub так называемый "гибридный" маппинг образов. Только что проверил - работает. И ни требуется никаких танцев с бубном, разделами и параметрами ядра. roll

Конфиг grub4dos:

title Mageia6 x64 live DVD and install
partnew (%@root:~1,3%,3) 0x00 /iso/Mageia-6-sta1-LiveDVD-PLASMA5-x86_64-DVD.iso
map /iso/Mageia-6-sta1-LiveDVD-PLASMA5-x86_64-DVD.iso (0xff)
map --hook
chainloader (0xff)  

title Mageia6 x86 live DVD and install
partnew (%@root:~1,3%,3) 0x00 /iso/Mageia-6-sta1-LiveDVD-PLASMA5-i586-DVD.iso
map /iso/Mageia-6-sta1-LiveDVD-PLASMA5-i586-DVD.iso (0xff)
map --hook
chainloader (0xff) 
Спасибо сказали: reuz1

107

В статье "Загрузочный носитель на основе GRUB2 for Windows журнала "Системный администратор" описывается способ включения дистрибутива Mageia-6.1 в состав мультизагрузочной флешки. Если вкратце, то на флешке создаётся раздел, в который "зеркалируется" ISO-образ. А в grub.cfg добавляется блок подключения меню:

menuentry "Mageia 6.1 Live DVD" {
    search --set=root --fs-uuid 2018-10-01-18-55-31-00
    syslinux_configfile -i /isolinux/isolinux.cfg
}
menuentry "Mageia 6 Installation DVD" {
    search --set=root --fs-uuid 2017-07-15-07-08-52-00
    syslinux_configfile -i /isolinux/isolinux.cfg
}

Полный рабочий пример grub.cfg для GRUB2 можно найти в "Дополнительных материалах" к этой статье.

108 (2019-10-21 11:48:28 отредактировано ingvaro)

Конфиг в Grub2 вроде даже проще:

menuentry "Mageia-7.1-x86_64.iso" {
loopback loop /ISO/Mageia/Mageia-7.1-x86_64.iso
linux (loop)/boot/vmlinuz vga=791
initrd (loop)/boot/all.rdz
}

Только диск надо задать допустим :

set root='(hd0,4)'

Ну или поиск диска организовать.

109

ingvaro пишет:

Конфиг в Grub2 вроде даже проще: (...)

Возможно, в 7-й версии уже доработали. Но 6-я не могла отыскать себя в файле ISO-образа по такому способу запуска.

110

Тут же  не сам дистр а Grub2 работает. В Магее 6 я обычно распаковывал iso образ и потом запускал установщик. Т к компы были слабые и загрузка из iso-образа была дольше
А Магее 7 попробовал и запустилось и быстро.

111 (2019-10-21 17:02:16 отредактировано r0bur)

ingvaro пишет:

Тут же  не сам дистр а Grub2 работает.

Grub2 загружает ядро, образ загрузочной корневой файловой системы,  и передаёт ядру параметры. А дальше уже всё от ядра зависит. В Mageia 6 ядро не умело находить файл со своим ISO-образом, а раздел с файловой системой ISO-9660 - умело.