mbusb / multibootusb

Create multiboot live Linux on a USB disk...
http://multibootusb.org/
GNU General Public License v2.0
1.39k stars 201 forks source link

Manjaro boot entry not successfully generated in syslinux #170

Closed lectrode closed 6 years ago

lectrode commented 7 years ago

Host OS: ManjaroLinux (branch of ArchLinux) ISO: https://downloads.sourceforge.net/manjarolinux/manjaro-xfce-17.0.1-stable-x86_64.iso USB: 16GB FAT32 (MSDOS partition table) Flags: boot MultiBootUSB version: 8.8.0

In syslinux.cfg the entry generated for Manjaro is not created properly:

#start manjaro-xfce-17.0.1-stable-x86_64
LABEL manjaro-xfce-17.0.1-stable-x86_64
MENU LABEL manjaro-xfce-17.0.1-stable-x86_64
#end manjaro-xfce-17.0.1-stable-x86_64

As there is no actual boot image defined, booting Manjaro image from flash drive results in an "invalid or corrupt kernel image" message.

Current workaround: booting works successfully through the GRUB2 BootManager: workaround1

Log for adding the distro to a blank flash drive:

13:08:51.669 root INFO Running multibootusb version 8.8.0 from installed system...
13:08:51.677 root INFO Starting multibootusb GUI...
13:08:51.729 root INFO Cleaning old multibootusb directory...
13:08:51.730 root INFO Syslinux exist in multibootusb directory...
13:08:51.730 root INFO Using pyudev for detecting USB drives...
13:08:51.740 root INFO  /dev/sdd
13:08:51.740 root INFO  /dev/sdd1
13:08:51.740 root INFO Selected device /dev/sdd
13:08:51.771 root INFO USB disk is not mounted and can't update list widget...
13:08:58.570 root INFO Selected device /dev/sdd1
13:09:02.472 root INFO Executing ==> 7z -ssc-  x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir "*.cfg" -r 2> /dev/null
13:09:02.485 root INFO Executing ==> 7z -ssc-  x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir "*.txt" -r 2> /dev/null
13:09:02.496 root INFO Executing ==> 7z -ssc-  x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir "*isolinux.bin" -r 2> /dev/null
13:09:02.507 root INFO Executing ==> 7z -ssc-  x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir "*.lst" -r 2> /dev/null
13:09:02.558 root INFO Persistence is not available for manjaro-xfce-17.0.1-stable-x86_64.iso
13:09:06.373 root INFO MultiBoot Install: USB Disk: /dev/sdd1
13:09:06.374 root INFO MultiBoot Install: USB Label: LNX16
13:09:06.374 root INFO MultiBoot Install: USB UUID: 1382-43CC
13:09:06.374 root INFO MultiBoot Install: USB mount path: /run/media/root/LNX16
13:09:06.374 root INFO MultiBoot Install: Disk total size: 15.0G
13:09:06.374 root INFO MultiBoot Install: Disk used size: 8.0K
13:09:06.374 root INFO MultiBoot Install: Disk free size: 15.0G
13:09:06.374 root INFO MultiBoot Install: Filesystem: vfat
13:09:06.374 root INFO MultiBoot Install: Disk vendor: JetFlash
13:09:06.374 root INFO MultiBoot Install: Disk model: Transcend_16GB
13:09:06.374 root INFO MultiBoot Install: ISO file: manjaro-xfce-17.0.1-stable-x86_64.iso
13:09:06.374 root INFO MultiBoot Install: Distro type detected: arch
13:09:06.374 root INFO Persistence chosen is 0B
13:09:07.591 root INFO Copying multibootusb directory to /run/media/root/LNX16
13:09:11.149 root INFO EFI/BOOT directory does not exist. Creating new.
13:09:11.149 root INFO Copying EFI directory to /run/media/root/LNX16
13:09:12.357 root INFO Installing manjaro-xfce-17.0.1-stable-x86_64.iso on /run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64
13:09:12.358 root INFO Executing ==> 7z -ssc-  x -y -o"/run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64" "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" 2> /dev/null
13:20:55.442 root INFO ISO extracted successfully. Sync is in progress...
13:21:08.672 root INFO Distro extraction completed...
13:21:08.714 root INFO Distro does not use isolinux for booting ISO.
13:21:08.724 root INFO 
Executing ==> /root/.multibootusb/syslinux/bin/syslinux4 -i -d multibootusb /dev/sdd1

13:21:12.179 root INFO 
Default syslinux install is success...

13:21:12.183 root INFO 
mbr install is success...

13:21:13.038 root INFO 
Disk /dev/sdd already has boot flag.

13:21:13.049 root INFO Updating distro specific config files...
13:21:16.605 root INFO Updating multibootusb config file...
13:21:16.724 root INFO Trying to create loopback.cfg
13:21:16.724 root INFO loopback.cfg file is set to /run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64/loopback.cfg
13:21:16.742 root INFO Failed to convert syslinux config file to loopback.cfg
13:21:16.767 root INFO Found boot/grub/grub.cfg
13:21:16.793 root INFO Updating grub.cfg file...
13:21:16.793 root INFO size of the ISO is 1.4G
13:21:16.894 root INFO Updated entry in grub.cfg...
13:21:16.896 root INFO Updated entry in syslinux.cfg...
13:21:17.233 root INFO multibootusb EFI image already exist. Not copying...
13:21:19.112 root INFO manjaro-xfce-17.0.1-stable-x86_64.iso has been successfully installed.
13:21:29.495 root INFO QEMU: using qemu-system-x86_64
13:21:29.499 root INFO QEMU: using qemu-system-x86_64
13:21:29.499 root INFO QEMU: USB RAM = Default
13:21:29.499 root INFO Executing ==> qemu-system-x86_64 -hda /dev/sdd -vga std
mbusb commented 7 years ago

The log file says that iso doesn't use isolinux for booting. Do you have isolinux directory under manjaro?

On 31-May-2017 3:29 AM, "lectrode" notifications@github.com wrote:

Host OS: ManjaroLinux (branch of ArchLinux) ISO: https://downloads.sourceforge.net/manjarolinux/manjaro-xfce- 17.0.1-stable-x86_64.iso USB: 16GB FAT32 (MSDOS partition table) Flags: boot MultiBootUSB version: 8.8.0

In syslinux.cfg the entry generated for Manjaro is not created properly:

start manjaro-xfce-17.0.1-stable-x86_64

LABEL manjaro-xfce-17.0.1-stable-x86_64 MENU LABEL manjaro-xfce-17.0.1-stable-x86_64

end manjaro-xfce-17.0.1-stable-x86_64

As there is no actual boot image defined, booting Manjaro image from flash drive results in an "invalid or corrupt kernel image" message.

Current workaround: booting works successfully through the GRUB2 BootManager: [image: workaround1] https://cloud.githubusercontent.com/assets/11493925/26606421/aac3474e-4546-11e7-9f4d-e5cb539b932b.png

Log for adding the distro to a blank flash drive:

13:08:51.669 root INFO Running multibootusb version 8.8.0 from installed system... 13:08:51.677 root INFO Starting multibootusb GUI... 13:08:51.729 root INFO Cleaning old multibootusb directory... 13:08:51.730 root INFO Syslinux exist in multibootusb directory... 13:08:51.730 root INFO Using pyudev for detecting USB drives... 13:08:51.740 root INFO /dev/sdd 13:08:51.740 root INFO /dev/sdd1 13:08:51.740 root INFO Selected device /dev/sdd 13:08:51.771 root INFO USB disk is not mounted and can't update list widget... 13:08:58.570 root INFO Selected device /dev/sdd1 13:09:02.472 root INFO Executing ==> 7z -ssc- x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir ".cfg" -r 2> /dev/null 13:09:02.485 root INFO Executing ==> 7z -ssc- x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir ".txt" -r 2> /dev/null 13:09:02.496 root INFO Executing ==> 7z -ssc- x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir "isolinux.bin" -r 2> /dev/null 13:09:02.507 root INFO Executing ==> 7z -ssc- x -y "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" -o/root/.multibootusb/iso_cfg_ext_dir ".lst" -r 2> /dev/null 13:09:02.558 root INFO Persistence is not available for manjaro-xfce-17.0.1-stable-x86_64.iso 13:09:06.373 root INFO MultiBoot Install: USB Disk: /dev/sdd1 13:09:06.374 root INFO MultiBoot Install: USB Label: LNX16 13:09:06.374 root INFO MultiBoot Install: USB UUID: 1382-43CC 13:09:06.374 root INFO MultiBoot Install: USB mount path: /run/media/root/LNX16 13:09:06.374 root INFO MultiBoot Install: Disk total size: 15.0G 13:09:06.374 root INFO MultiBoot Install: Disk used size: 8.0K 13:09:06.374 root INFO MultiBoot Install: Disk free size: 15.0G 13:09:06.374 root INFO MultiBoot Install: Filesystem: vfat 13:09:06.374 root INFO MultiBoot Install: Disk vendor: JetFlash 13:09:06.374 root INFO MultiBoot Install: Disk model: Transcend_16GB 13:09:06.374 root INFO MultiBoot Install: ISO file: manjaro-xfce-17.0.1-stable-x86_64.iso 13:09:06.374 root INFO MultiBoot Install: Distro type detected: arch 13:09:06.374 root INFO Persistence chosen is 0B 13:09:07.591 root INFO Copying multibootusb directory to /run/media/root/LNX16 13:09:11.149 root INFO EFI/BOOT directory does not exist. Creating new. 13:09:11.149 root INFO Copying EFI directory to /run/media/root/LNX16 13:09:12.357 root INFO Installing manjaro-xfce-17.0.1-stable-x86_64.iso on /run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64 13:09:12.358 root INFO Executing ==> 7z -ssc- x -y -o"/run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64" "/home/lectrode/JDownloaded/OS/manjaro-xfce-17.0.1-stable-x86_64.iso" 2> /dev/null 13:20:55.442 root INFO ISO extracted successfully. Sync is in progress... 13:21:08.672 root INFO Distro extraction completed... 13:21:08.714 root INFO Distro does not use isolinux for booting ISO. 13:21:08.724 root INFO Executing ==> /root/.multibootusb/syslinux/bin/syslinux4 -i -d multibootusb /dev/sdd1

13:21:12.179 root INFO Default syslinux install is success...

13:21:12.183 root INFO mbr install is success...

13:21:13.038 root INFO Disk /dev/sdd already has boot flag.

13:21:13.049 root INFO Updating distro specific config files... 13:21:16.605 root INFO Updating multibootusb config file... 13:21:16.724 root INFO Trying to create loopback.cfg 13:21:16.724 root INFO loopback.cfg file is set to /run/media/root/LNX16/multibootusb/manjaro-xfce-17.0.1-stable-x86_64/loopback.cfg 13:21:16.742 root INFO Failed to convert syslinux config file to loopback.cfg 13:21:16.767 root INFO Found boot/grub/grub.cfg 13:21:16.793 root INFO Updating grub.cfg file... 13:21:16.793 root INFO size of the ISO is 1.4G 13:21:16.894 root INFO Updated entry in grub.cfg... 13:21:16.896 root INFO Updated entry in syslinux.cfg... 13:21:17.233 root INFO multibootusb EFI image already exist. Not copying... 13:21:19.112 root INFO manjaro-xfce-17.0.1-stable-x86_64.iso has been successfully installed. 13:21:29.495 root INFO QEMU: using qemu-system-x86_64 13:21:29.499 root INFO QEMU: using qemu-system-x86_64 13:21:29.499 root INFO QEMU: USB RAM = Default 13:21:29.499 root INFO Executing ==> qemu-system-x86_64 -hda /dev/sdd -vga std

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mbusb/multibootusb/issues/170, or mute the thread https://github.com/notifications/unsubscribe-auth/AEC34K8O7pa_e4QHrcXK5wfucW-yVhI2ks5r_JEngaJpZM4Nq5ym .

lectrode commented 7 years ago

There is no isolinux directory in the manjaro ISO. Is that something that's required for the isolinux entry to be created properly?

If isolinux can't boot it, at the very least the invalid entry probably shouldn't be created at all. It is a source of confusion and would lead most to think something was broken.

If it needs to be created, maybe it can point to the grub loader instead?

mbusb commented 7 years ago

Missing isolinux directory is the issue. Syslinux menu entry is credited based on the isolinux menu entry shipped by the distros. Ideally it should be directed to grub2 menu entry. I will check if it can be done in the next release.

On 31-May-2017 7:18 AM, "lectrode" notifications@github.com wrote:

There is no isolinux directory in the manjaro ISO. Is that something that's required for the isolinux entry to be created properly?

If isolinux can't boot it, at the very least the invalid entry probably shouldn't be created at all. It is a source of confusion and would lead most to think something was broken.

If it needs to be created, maybe it can point to the grub loader instead?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mbusb/multibootusb/issues/170#issuecomment-305058856, or mute the thread https://github.com/notifications/unsubscribe-auth/AEC34CB868_NEAnrrsDRmCDoc7g38vc3ks5r_MbWgaJpZM4Nq5ym .

tiborepcek commented 7 years ago

I have the same issue with host OS Windows 7 SP1 and ISO manjaro-xfce-17.0.5-stable-i686.iso. Other Linux distros links are to .BS file in isolinux folder, but Manjaro does not have such folder or file. Please, fix it in next release. Thank you very much for this great app. :)

--- Update: After some searching i found a workaround, that worked for me:

  1. Open /multibootusb/syslinux.cfg from USB stick and add new line "BOOT /multibootusb/manjaro-xfce-17.0.5-stable-i686/boot/grub/kernel.img" after the line "MENU LABEL manjaro-xfce-17.0.5-stable-i686".
  2. When MultiBootUSB boots, choose "Load GRUB2 BootManager"
  3. Now choose your Manjaro version from menu...
nobicycle commented 6 years ago

I couldn't get tiborepcek's workaround to work. Manjaro is vying for the number one spot on Distrowatch. They have about 16 different flavors of desktop. It is a pity multibootusb does not support Manjaro. The images show the result of using the normal menu (freezing) and the grub2 menu (error messages)

screenshot_2018-03-22_13-35-28 screenshot_2018-03-22_13-36-50

mbusb commented 6 years ago

The main reason for boot error under syslinux is that Manjaro has moved away from syslinux. You can still boot Manjaro either from GRUB2 boot menu or copy ISO file to '/multibootusb/iso' and choose Scan and load ISO entry under GRUB2 menu..