[syslinux] Linux boot hangs after/during read of initrd.img

Paul Smith paul_d_smith at hotmail.com
Mon Mar 12 02:55:37 PDT 2018

Precis: I’m trying to debug a problem with CentOS7 failing to install from an ISO written to a USB pendrive – anyone got suggestions?

What works – installing on a modern, ‘standard PC’; the pendrive image boots and installs as I expect

What does not work – same pendrive booting in an ATCA blade.  What I’ve tried is…

  1.  Boot the standard CentOS7 minimal image.  This seems to start but then just sits at a black screen
  2.  Forcing ‘serial’ from the isolinux.cfg. This seems to have little effect.
  3.  Rebuilding the CentOS7 minimal image but using the latest SYSLINUX/ISOLINUX source code compiled by me; rebuilding into an ISO then isohybrid.ed.  This shows ‘Loading vmlinux…ok’ and ‘loading initrd.img…ok’ and then hangs in a similar way to the vanilla image.
  4.  Adding a printfs() into the SYS/ISOLINUX source code to try and narrow down the problem.  This seems to exhibit number of strange problems….

Adding the printf()s has only confused me because:

  *   The web implies that SYS/ISOLINUX is single threaded but the printf() output seems to come out the wrong order (yes, I’m also using fflush(stdout) :) ).
  *   There are additional strange strings printed to screen, such as ANSI positional strings which seem to throw the cursor all over the place.
  *   I see the ‘Loading vmlinuz…’ string TWICE (sounds like something some others have seen).
  *   SYS/ISOLINUX seems to crash/hang in an fread() of the initrd.img file; I see the ‘ok’ printed but I have printf()s in the file loading routine and the printf()s after the fread() do not print to screen.

So I’m now very confused!  Anyone able to shed some light on possible problems here?  I’m happy to do a few more debug builds and runs to help figure this out if someone has some suggestions.

Paul D.Smith

More information about the Syslinux mailing list