bootiso icon indicating copy to clipboard operation
bootiso copied to clipboard

Fedora 34: Could not find a SYSLINUX bios folder containing c32 bios module files on this system. Exiting...

Open wes-novack opened this issue 4 years ago • 1 comments

bootiso: v 4.1.1

Category

  • behavior
  • distro-dependant

Describe the bug

bootiso: Could not find a SYSLINUX bios folder containing c32 bios module files on this system. Exiting...

Even when I set the environment variable as suggested here: https://github.com/jsamr/bootiso#distros-tweaks export BOOTISO_SYSLINUX_LIB_ROOT=/usr/share/syslinux

Expected behavior (for behavioral bugs only)

I expected bootiso to work, instead it fails saying it could not find SYSLINUX bios folder, as described above.

Reproduction

Run bootiso on Fedora 34.

  1. Run bootiso -d sdd /home/wes/Downloads/Win10_21H1_English_x64.iso with this ISO

  2. See error log:

$ bootiso -d sdd /home/wes/Downloads/Win10_21H1_English_x64.iso
[sudo] password for wes: 
bootiso: Found non-hybrid image; inspecting image for boot capabilities... 
find: ‘/usr/lib/syslinux’: No such file or directory
find: ‘/usr/lib/syslinux’: No such file or directory
find: ‘/usr/lib/syslinux’: No such file or directory
bootiso: Could not find a SYSLINUX bios folder containing c32 bios module files on this system. Exiting... 
bootiso: See https://github.com/jsamr/bootiso/blob/master/install.md#dependencies 

Exit status

Non-zero

Environment:

I do not have neofetch. Providing release information instead.

$ cat /etc/*release
Fedora release 34 (Thirty Four)
NAME=Fedora
VERSION="34 (Workstation Edition)"
ID=fedora
VERSION_ID=34
VERSION_CODENAME=""
PLATFORM_ID="platform:f34"
PRETTY_NAME="Fedora 34 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:34"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/34/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=34
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=34
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 34 (Thirty Four)
Fedora release 34 (Thirty Four)

Suggestion fix (optional)

I was able to get it working using the instructions in the comment from this old bug report, here: https://github.com/jsamr/bootiso/issues/29#issuecomment-478384808

wes-novack avatar Jul 03 '21 23:07 wes-novack

The best solution would be to use the bios folder only if it exists (which is not the case on Fedora).

As a workaround you can apply the patch used in OpenMandriva:

diff --git a/bootiso b/bootiso
index 494db63..ccd4d13 100755
--- a/bootiso
+++ b/bootiso
@@ -1325,13 +1325,15 @@ function asrt_checkSyslinuxInstall() {
       "Your distribution doesn't ship 'extlinux' with the 'syslinux' package." \
       "Please install 'extlinux' and try again."
   fi
-  st_foundSyslinuxBiosFolder=$(find "$ct_syslinuxLibRoot" -type d -path '*/bios' -print -quit)
-  st_foundSyslinuxMbrBinary=$(fs_findFileFromPatterns "$ct_syslinuxLibRoot" 'bios/mbr.bin' 'mbr.bin')
-  if [ -z "$st_foundSyslinuxBiosFolder" ]; then
+
+  st_foundSyslinuxBiosFolder="$ct_syslinuxLibRoot"
+  if [ ! -d "$st_foundSyslinuxBiosFolder" ]; then
     ps_failAndExit MISSING_DEPENDENCY \
       "Could not find a SYSLINUX bios folder containing c32 bios module files on this system."
   fi
-  if [ -z "$st_foundSyslinuxMbrBinary" ]; then
+
+  st_foundSyslinuxMbrBinary="$ct_syslinuxLibRoot/mbr.bin"
+  if [ ! -f "$st_foundSyslinuxMbrBinary" ]; then
     ps_failAndExit MISSING_DEPENDENCY "Could not find a SYSLINUX MBR binary on this system."
   fi
 }

davidebeatrici avatar Aug 05 '22 05:08 davidebeatrici