For a while now I'm having the strangest problem, which has turned a stack of about 10 CD-Rs into coasters. I'm trying to burn a bootable ISO, a support software for the ServeRAID controller in my IBM x345 box. No matter what program I use to burn the ISO (cdrecord [raw96r, raw96p], ImgBurn, Nero, CdBurnerXP), the symlinks in /lib are coming out broken. For example, /lib/libncurses.so.5.2 will be right there, but /lib/libncurses.so.5, which should be a symlink to the actual library, will have size 0. Obviously this crashes the boot process at some point.

sudo cdrecord -v -speed=1 -dev=/dev/sg0 -raw96r /tmp/ibm_fm_srsupp_7_12_14_anyos_32-64.iso

My last resort idea was to mount the ISO locally, then create a new ISO out of the directory tree. Haven't had much success with this either, but that may be because I'm creating the ISO in the wrong way (?):

sudo genisoimage -no-emul-boot -c bootcd/isolinux/boot.catalog -input-charset iso8859-1 -output-charset iso8859-1 -r -U -b bootcd/isolinux/vmlinuz -hide /mnt/ibm_cd/bootcd/vmlinuz2 -V "ServeRAID_v7_12_14" -iso-level 3 -o /tmp/ibm_cd2.iso /mnt/ibm_cd/

Several previous versions from IBM are doing the same thing, so I have to assume that the problem is on my side. See e.g.:

My infinite gratitude to them who can work out this conundrum!


i downloaded ftp://download2.boulder.ibm.com/ecc/sar/CMA/XSA/ibm_fw_srsupp_7_12_14_anyos_32-64.iso

You declare a kernel file to be the boot image. But the original ISO is equipped with ISOLINUX boot image bootcd/isolinux/isolinux.bin . Hiding that kernel file will not be helpful either.

So quite surely wrong with your genisoimage run is

-b bootcd/isolinux/vmlinuz -hide /mnt/ibm_cd/bootcd/vmlinuz2

and quite surely missing are options

-boot-load-size 4 -boot-info-table

See also ISOLINUX wiki.
I.e. it would have to be something like

sudo genisoimage \
  -c bootcd/isolinux/boot.catalog \
  -b bootcd/isolinux/isolinux.bin \
     -boot-load-size 4 -boot-info-table -no-emul-boot \
  -input-charset iso8859-1 -output-charset iso8859-1 \
  -r -U -V "ServeRAID_v7_12_14" -iso-level 3 \
  -o /tmp/ibm_cd2.iso /mnt/ibm_cd/

The burn program has no stake in the correctness of symbolic links. Option -raw96r is quite exotic, though. Is your burner known to refuse on -tao or -sao ?

There are a few broken symbolic links in the original image. E.g.

/mnt/ibm_cd/bootcd/usr/X11R6/bin/xsetbg -> usr/X11R6/bin/xloadimage

And some which lead out of the ISO image. E.g.

/mnt/ibm_cd/bootcd/etc -> /etc

Those will not get repaired by a genisomage run. You will have to fix them in an unpacked copy of the ISO file tree. E.g.

cp -a /mnt/ibm_cd $HOME/unpacked_ibm_cd

But the link libncurses.so.5 seems to be ok.

/mnt/ibm_cd/bootcd/usr/lib/libncurses.so.5 -> libncurses.so.5.2

It has size 17. By what means do you see size 0 ?

Have a nice day :)


  • I have put the original ISO onto a DVD+RW by <pre>xorriso -as cdrecord -v dev=/dev/sr0 -eject ibm_fw_srsupp_7_12_14_anyos_32-64.iso</pre> and booted it with an amd64 system (has no IBM hardware). The boot process came to a curses-style user interface, searched for applicable controllers, and complained about finding none. Colors are in the range of awful to nearly unreadable. But it seems to work. – Thomas Schmitt Feb 23 '14 at 9:03
  • I realize that the link /mnt/ibm_cd/bootcd/etc -> /etc does not necessarily have to be wrong. It is ok, if the ISO filesystem is mounted as root directory, which probably is the case when the ISO gets booted. So better leave that link as it is. – Thomas Schmitt Feb 23 '14 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.