multibootusb icon indicating copy to clipboard operation
multibootusb copied to clipboard

Multibootusb can't find files when booting arch linux

Open ashgupta1971 opened this issue 5 years ago • 15 comments

Hello.

I have installed Linux Mint 19.2 (with persistence), Arch Linux, clonezilla and gparted on my 32GB usb stick. Mint boots fine. But when I try to lauch arch, I get the following error:

SYSLINUX 6.03 EDD Undef symbol FAIL: init_fpu Failed to load libcom32.c32 Failed to load COM32 file boot/syslinux/whichsys.c32 boot:

I tried playing around with the PATH and APPEND statements in various config files but had no luck.

Any help would be appreciated.

Thanks.

ashgupta1971 avatar Nov 21 '19 01:11 ashgupta1971

The same here too. But in my case, I have problem with other distros. Xubuntu and gaprted work fine, but Tails and Kali show me this error message: SYSLINUX 6.03 EDD 6.03... Undef symbol FAIL: init_fpu Failed to load libcom32.c32 Failed to load COM32 file ifcpu64.c32 boot:

kmanxhuka avatar Dec 06 '19 11:12 kmanxhuka

I think I'm having this same issue with artix-lxqt-runit-20181008-x86_64.iso which is Arch-based.

Soundtoxin avatar Dec 10 '19 11:12 Soundtoxin

Same issue, any updates?

RyanGaudion avatar Feb 28 '20 21:02 RyanGaudion

I have two images of Arch Linux in my multibootusb pendrive:

  • archlinux-2019.02.01-x86_64.iso: works
  • archlinux-2020.02.01-x86_64.iso: does not work ( similar error report by @ashgupta1971 )

So probably something changed in the folders and files structure of the Arch Linux ISO in 2019.

gabrielmagno avatar Mar 12 '20 11:03 gabrielmagno

Some additional info:

I replaced the version of the syslinux multibootusb uses and installed arch iso on the usb hdd partition. This fixed the error for me.

sudo mv /root/.multibootusb/syslinux/bin/syslinux6 /root/.multibootusb/syslinux/bin/syslinux6.bkp
sudo cp /usr/bin/syslinux /root/.multibootusb/syslinux/bin/syslinux6

my syslinux version is 6.04.pre2.r11.gbf6db5b4

Ovsyanka avatar Mar 18 '20 22:03 Ovsyanka

@Ovsyanka 's solution fixed the problem only for Legacy BIOS booting, but when I try UEFI I am still not able to boot Arch Linux ISO.

gabrielmagno avatar Apr 02 '20 21:04 gabrielmagno

To clarify, when I try to boot the archlinux ISO in UEFI, I am presented to 4 entries in the GRUB Menu:

  • Boot Arch Linux (NBD)
  • Boot Arch Linux (NFS)
  • Boot Arch Linux (HTTP)
  • Run Memtest86+ (RAM test)

If I select any of these entries, I get the following error:

error: invalid file name `boot/x86_64/vmlinuz`.
error: you need to load the kernel first.

Press any key to continue...

Then, if I press a key or wait 10 seconds, it will go back to the menu with the 4 entries.

gabrielmagno avatar Apr 03 '20 16:04 gabrielmagno

I investigated the Arch Linux issue, and was able to fix it by manually editing a file in my usb device, after installing archlinux-2020.04.01-x86_64.iso using multibootusb.

Having my device mounted in /my_device, the file is /my_device/multibootusb/archlinux-2020.04.01-x86_64/loopback.cfg. The specification of the kernel images were missing the suffix specifying the full path.

For example, it specifies boot/x86_64/vmlinuz, but it should be /multibootusb/archlinux-2020.04.01-x86_64/arch/boot/x86_64/vmlinuz.

Also, for some reason it ignored the main default Arch Linux entry, from arch/boot/syslinux/archiso_sys.cfg, and only loaded the PXE entries from arch/boot/syslinux/archiso_sys.pxe.

# Avoided emitting an empty menu item 'sys'.

After manually adding the sys entry, and append the proper suffixes to the kernel images, I was able to successfully boot Arch Linux in UEFI.

The next step would be to identify how multibootusb generates this file and fix the code. I will try to do that and send a pull request in the next few days.

gabrielmagno avatar Apr 08 '20 02:04 gabrielmagno

Well, I just figured out that the UEFI bug has already been fixed in the current multibootusb code in GitHub. I was using v9.2.0, but then realized that there are lots of updates since this release.

The upcoming v9.3.0 will have this issue fixed. Until that does not happen, use the code from GitHub (in Arch Linux I just installed the multibootusb-git package instead of the multibootusb one.

gabrielmagno avatar Apr 11 '20 18:04 gabrielmagno

I have the same issue, however workaround proposed by gabrielmagno does not work. Maybe I somehow did it wrong, but I compared his and my file and they look pretty the same...

moojek avatar Apr 27 '20 09:04 moojek

@moojek did you create your boot device using multibootusb v9.2.0 or v9.3.0?

gabrielmagno avatar Apr 27 '20 12:04 gabrielmagno

It was v9.2.0 cuz I didn't quite know how to do it on Windows. On Linux I installed v9.3.0 via AUR (multibootusb-git) as suggested by you but that gives me load of exceptions when trying to use it: https://gist.github.com/moojek/0d107f19e4b836ebe2e2eed6d56f4670.

moojek avatar Apr 28 '20 17:04 moojek

Exactly same problem as OP here with multibootusb-git package from AUR and archlinux-2020.06.01-x86_64 iso. Wanted to try @Ovsyanka trick, but I have no syslinux6 binary in the multibootusb package.

matclab avatar Jun 24 '20 12:06 matclab

@matclab the syslinux6 binary is not located in the multibootusb package itself, but it is created during runtime and stored in your home folder: ~/.multibootusb/syslinux/bin/syslinux6 (or maybe in the home folder of the root user /root/.multibootusb/syslinux/bin/syslinux6

gabrielmagno avatar Jun 24 '20 13:06 gabrielmagno

Thanks @gabrielmagno, it now works after copying /usr/bin/syslinux over /root/.multibootusb/syslinux/bin/syslinux6 and reinstalling syslinux and arch iso image.

matclab avatar Jun 24 '20 13:06 matclab