Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rufus freeze on "Scanning image" with iso opnsense #1575

Closed
4 of 10 tasks
thelittlefireman opened this issue Jul 5, 2020 · 2 comments
Closed
4 of 10 tasks

Rufus freeze on "Scanning image" with iso opnsense #1575

thelittlefireman opened this issue Jul 5, 2020 · 2 comments

Comments

@thelittlefireman
Copy link

thelittlefireman commented Jul 5, 2020

Checklist

  • I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
  • I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
  • I clicked the 'Log' button or pressed Ctrl-L in Rufus, and copy/pasted the log into the line that says <FULL LOG> below.
  • The log I am copying is the FULL log, starting with the line Rufus version: x.y.z - I have NOT removed any part of it.

Additionally (if applicable):

  • I ran a bad blocks check, by clicking Show advanced format options then Check device for bad blocks, and confirmed that my USB is not defective.
  • I also tried one or more of the following:
    • Using a different USB drive.
    • Plugging the USB into a different port.
    • Running Rufus on a different computer.
  • If using an image, I clicked on the (✓) button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.

Issue description

When i try to load the opnsense iso "OPNsense-20.1-OpenSSL-dvd-amd64.iso" which can be found here https://opnsense.org/download/ amd64/dvd, rufus is blocked on "Scanning image" and i can't flash it.

Log

Rufus x86 v3.11.1678
Windows version: Windows 10 64-bit (Build 18363.900)
Syslinux versions: 4.07/2013-07-25, 6.04/pre1
Grub versions: 0.4.6a, 2.04
System locale ID: 0x040C (fr-FR)
Will use default UI locale 0x040C
SetLGP: Successfully set NoDriveTypeAutorun policy to 0x0000009E
Localization set to 'fr-FR'
Found USB 3.0 device 'Kingston DataTraveler 3.0 USB Device' (0951:1666)
Found VHD device 'Disque virtuel Microsoft'
Device eliminated because it is a Windows Sandbox VHD
1 device found
No volume information for drive 0x83
Disk type: Removable, Disk size: 32 Go, Sector size: 512 bytes
Cylinders: 3774, Tracks per cylinder: 255, Sectors per track: 63
Partition type: SFD (Super Floppy Disk) or unpartitioned
Scanning image...
ISO analysis:
  Image is an ISO9660 image
@pbatard
Copy link
Owner

pbatard commented Jul 5, 2020

Just tested. Rufus doesn't freeze. It's just that the OpnSense maintainers decided to shove thousands of files onto an ISO (as opposed to what other live distros do, which is to create a single squashfs archive with all the content that then gets mounted), so, of course, scanning the ISO takes forever.

If you do wait, you will see Rufus complete its scan... and tell you that the ISO can't be converted to bootable USB, since it uses a custom boot method that is neither GRUB nor Syslinux nor EFI (and yes, I know they say EFI boot is supported, but they certainly did not add any /efi/boot/bootx64.efi boot loader on the ISO, so whatever method they settled on for UEFI boot is not something that's compatible with standard disk boot, which we need to create a bootable USB).

I think there's probably a reason why https://opnsense.org/download/ also proposes, besides the ISO installer, which appears to be squarely aimed at creating a bootable DVD optical media, the following option:

vga: USB installer image with live system capabilities running in VGA mode as GPT boot. On amd64, UEFI boot is supported as well.

If a distro proposes both an ISO and a USB image, it usually means that the ISO image they provide can't be used for anything but optical media, and that, if you want to create a USB bootable media, you should not use that image but the USB one...

Now, that's not to say I may not try to see if I can improve the way Rufus scans ISOs so that it might be faster for ones with loads of files and subdirectories. But, considering that there is no actual freezout, and that the image you are attempting to use is should clearly not be used for USB boot (because, even if it had the boot loaders, the conversion from Ridge Rock to FAT32 would probably leave the file system unusable anyway, since symbolic links and important file attributes would not be preserved), I will consider that there is no actual underlying problem to fix here and close this issue.

@pbatard pbatard closed this as completed Jul 5, 2020
pbatard added a commit that referenced this issue Jul 6, 2020
* ISOs with tons of Rock Ridge deep directory entries (such as OPNsense)
  can be very slow to scan due to the nature of deep directory parsing,
  which requires processing the whole ISO9660 fs, for each deep directory
  file, in order to find the relevant LSN entry.
* Since we don't expect much of the content we care about to reside in a
  deep directory entry, we amend the code to cut short the scan of any
  directory that contains such elements.
* Note that this only applies for ISO scan and it does nothing to speed
  up the ISO extraction process.
* Related to issue #1575
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants