Kernel boot problems with ZENworks Imaging when Zip drive is present

  • 3711041
  • 14-Nov-2006
  • 30-Apr-2012

Environment

Novell ZENworks for Desktops 4.0.1 - ZfD4.0.1 Imaging

Situation

Linux bootdisks do not boot completely.
Zip drive is present on the workstation.

Resolution

  1. Try putting a disk in the Zip drive and see if it boots
    If this worked, then the loader has to be configured to tell the kernel not to probe for those devices.
  2. The next step would be to determine which device type is corresponding to the Zip drive. In linux, the disk drives are named /dev/hda , /dev/hdb and so on for ide drives. Figure out what drive name corresponds to the Zip drive. This can be done by typing img d, seeing which devices are shown, and taking a guess at which one of them could represent the Zip drive. This could be confirmed by mounting the Zip drive, and trying to see the disk data contents.
  3. Make changes to syslinux.cfg file on the first bootdisk, and at the end of each append line add the following, , for eg:if Zip drive corresponds to devicename /dev/hdb then type hdb=noprobe at the end.

    Here is a sample of what syslinux.cfg looks like after the changes:

    default Imaging
    prompt 1
    timeout 600
    display boot.msg
    label Imaging
    kernel Kernel
    append 2 initrd=initrd.gz hdb=noprobe
    label manual
    kernel Kernel
    append 5 initrd=initrd.gz hdb=noprobe
    label config
    kernel Kernel
    append 7 initrd=initrd.gz hdb=noprobe
    label install
    kernel Kernel
    append 4 initrd=initrd.gz hdb=noprobe
    label lilo
    kernel Kernel
    append 3 initrd=initrd.gz hdb=noprobe
  4. Make changes to lilo.s and install.s to ask the zen partition lilo loader to ignore these drives. This will only be required if a linux partition is being installed or already installed on the workstation. In lilo.s and install.s the line append hdb=noprobe is to be added to the section where loader configuration is being written to /etc/lilo.conf. The section in lilo.s looks something like this after the changes:

    echo boot=$BOOTDEVICE > $LILOFILE
    #echo timeout=80 > $LILOFILE
    echo install=/boot/boot.b >> $LILOFILE
    echo backup=/dev/null >> $LILOFILE
    echo image=/boot/kernel >> $LILOFILE
    echo label=Imaging >> $LILOFILE
    echo root=$ZENDEVICE >> $LILOFILE
    echo read-write >> $LILOFILE
    echo append=\"hdb=noprobe\">> $LILOFILE
    echo image=/boot/kernel >> $LILOFILE
    echo label=prompt >> $LILOFILE
    echo root=$ZENDEVICE >> $LILOFILE
    echo read-write >> $LILOFILE
    echo append=\"5 hdb=noprobe\">> $LILOFILE

    The section in install.s looks something like this after the changes:

    echo boot=$BOOTDEVICE > /mnt/harddisk/etc/lilo.conf
    #echo timeout=80 > /mnt/harddisk/etc/lilo.conf
    echo compact >> /mnt/harddisk/etc/lilo.conf
    echo install=/boot/boot.b >> /mnt/harddisk/etc/lilo.conf
    echo backup=/dev/null >> /mnt/harddisk/etc/lilo.conf
    echo image=/boot/kernel >> /mnt/harddisk/etc/lilo.conf
    echo label=Imaging >> /mnt/harddisk/etc/lilo.conf
    echo root=$ZENDEVICE >> /mnt/harddisk/etc/lilo.conf
    echo read-write >> /mnt/harddisk/etc/lilo.conf
    echo append=\"hdb=noprobe\">> /mnt/harddisk/etc/lilo.conf
    echo image=/boot/kernel >> /mnt/harddisk/etc/lilo.conf
    echo label=prompt >> /mnt/harddisk/etc/lilo.conf
    echo root=$ZENDEVICE >> /mnt/harddisk/etc/lilo.conf
    echo read-write >> /mnt/harddisk/etc/lilo.conf
    echo append=\"5 hdb=noprobe\">> /mnt/harddisk/etc/lilo.conf

    These changes are to be made using the linux box, it is explained in how-to section.
  5. Boot using the floppy in manual mode, do an install and it should work ok. To make changes to the existing linux partition, copy the file /bin/lilo.s to the harddisk /mnt/harddisk/bin directory. Unmount the harddisk, run lilo.s, and reboot, take out the floppy, and it should boot fine from the harddisk