Novell Home

Troubleshooting ZfD3 Imaging

Novell Cool Solutions: Feature

Digg This - Slashdot This

Posted: 14 Aug 2003
 

Current version: ZENworks for Desktops 3

ZENworks for Desktops Imaging is one of the most powerful new features in the product. Here is a nice collection of troubleshooting tips and how-to instructions that solve many of the problems that customers have posed to Customer Support. Check here first, and save yourself a call.

Based on TID 10055585.


Troubleshooting ZEN partition / bootdisk problems

Network problems: NIC card not getting detected

Fix

Boot from disks in manual mode and then

  1. Type ifconfig at the prompt. If it shows up the MAC address, NIC card was detected.
  2. If that fails, type ifconfig eth0 up, and then ifconfig, and see if the hardware details are shown.
  3. If that does not work it means that the network card is not getting detected. You might want to search for the drivers for that NIC card, add that driver to the second boot diskette using the linux boot utility, and then try booting again.

Hint: To check if any given driver will work (only for desktops, not for laptops), instead of adding the driver through second bootdisk, do the following:

  1. Boot in manual mode.
  2. Copy the driver to a floppy.
  3. Mount the floppy.
  4. Copy the driver from the floppy to the area /lib/modules/2.2.14/net.
  5. Type insmod /lib/modules/2.2.14/net/<drivername>
  6. Then type ifconfig eth0 up, and then ifconfig to see if the driver worked.

Return to Top

Network problems: DHCP not working

Fix

Boot from disks in manual mode and then:

  • Type ifconfig at the prompt, if it shows up the IP address, dhcp works fine.
  • If that fails, type ifconfig eth0 up, and then pump i eth0 h localhost.localdomain.com, and then ifconfig, see if the IP address is shown. (pump is the dhcp client)
  • If that does not work it means that the dhcp is not working. We could try the following solutions:
    • Try disabling plug and play, do a cold reboot, and then boot again, and repeat above steps.
    • Copy another dhcp client namely dhcpcd, to a DOS floppy, mount the floppy to any directory (mount -t vfat /dev/fd0 /mnt/floppy), and then run the command /mnt/floppy/dhcpcd, and then type ifconfig, see if it shows you the ip address.

    To always use this client, changes are to be done either to the ZEN partition (if the problem is just with one machine), or to the second bootdisks (if a whole set of machines is not working). To achieve this:

    • dhcpcd needs to be added to root.tgz file on the second floppy, or to the bin directory on the ZEN partition.
    • The script network.s has to be changed and the line, "pump i eth0 h localhost.localdomain.com" needs to be commented out, and replaced with the line "dhcpcd".

    Return to Top

    Kernel boot problems: Linux bootdisks do not boot completely, zip drive is present on the machine

    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.

    1. The first 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. We would need to 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.
    2. Make changes to syslinux.cfg file on the first bootdisk, and at the end of each append line add the following, <devicename=noprobe>, for eg:if zip drive corresponds to devicename /dev/hdb then type hdb=noprobe at the end.
    3. 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
    5. These changes are to be made using the linux box, it is explained in how-to section.

      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.

    Return to Top

    Kernel boot problems: Linux bootdisks does not boot completely or it boots, but has an unknown problem

    Fix

    Get a debug version of the kernel from Novell Technical Support.

    Return to Top

    Troubleshooting Imaging Problems

    Unable to get workstation to pick up the job.

    The job is assigned to the workstation object.

    Fix

    Make sure that the network card is configured properly.

    1. Try to ping the workstation from the server to see that it can be reached.
    2. Make sure that the proxy address is set correctly. The how-to section explains how to do it.
    3. Make sure that the imaging server is up and running.
    4. Type img i z, check to see if the workstation DN and the treename is correct. If it is not correct, then read the image safe data section in manual, and follow the steps to configure image safe data correctly.
    5. This applies only for an upload, ie, taking an image. Check out the restricted path field in the server package of the server you are trying to put the image to. If the upload path, is not one of the directories/sub directories in the restricted path list, then it will fail to upload the image.
    6. Check the log file zimglog.xml on the server to see if it reports any error.

    Return to Top

    Unable to get workstation to pick up any image/ pick up the correct image

    No workstation DN, the imaging server policy is set to distribute images according to specific hardware.

    Fix

    Make sure that the network card is configured properly.

    1. Try to ping the workstation from the server to see that it can be reached.
    2. Make sure that the proxy address is set correctly. The how-to section explains how to do it.
    3. Make sure that the imaging server is up and running.
    4. Make sure that the server policy is assigned to the proxy server the workstation is trying to contact.
    5. Type img i to see if the hardware information shown is correct. For eg: if policy is configured to distribute image to a machine with harddisk > 5MB, but img i shows the hardware size as 4.2 MB, then that policy will not work correctly. In some cases the image engine fails to find the exact NIC card, so in those cases too the policy might not work correctly.
    6. img i z will show you the last base image, if the base image is the same as the image you are trying to put, then it will not put down the image, till you override this flag in server package.
    7. Check the log file zimglog.xml on the server to see if it reports any error.

    Return to Top

    HOW-TO

    Configure the boot floppy loader

    1. Edit the file syslinux.cfg on the first bootdisk from a DOS/Windows machine. (You could use Wordpad.)
    2. To configure the loader to boot in manual mode by default, change the line default Imaging to default manual, as shown below default manual.
    3. To configure the loader to increase/decrease the timeout, change the number after timeout, eg: timeout 1200.
    4. To add kernel parameters, write it at the end of the append line. For example, if you do not want loader to probe the hdb drive, then make changes as Follows: append 2 initrd=initrd.gz hdb=noprobe

    Return to Top

    Copy files from DOS floppy to the ZEN partition.

    1. Boot in manual mode.
    2. Mount the floppy by typing mount /dev/fd0 /mnt/floppy, or if that does not work then mount t vfat /dev/fd0/mnt/floppy
    3. Mount zenpartition, by typing zenpart.s, mount $ZENDEVICE /mnt/harddisk. (Note that a ZEN partition has to be present for the second command to work. If after typing zenpart.s, and typing export, ZENDEVICE variable is not present, then maybe the ZEN partition is not present.)
    4. Copy the file by typing cp /mnt/floppy/<path>/<filename> /mnt/harddisk/<path>/<filename>
    5. Unmount the harddisk by typing umount /mnt/harddisk
    6. Unmount the floppy by typing umount /mnt/floppy

    Please note that if you have already mounted a device at a particular area, you cannot mount another device in the same area, till you unmount that device. Also note that when copying files to the floppy be sure to unmount the floppy before ejecting it (or else the file may not be copied).

    Hint: The files could be copied this way to any partition on the harddrive that can be mounted, so for example if you have a fat16 partition mount it using the mount command as above, and then copying files.

    Return to Top

    Change scripts on the second boot disk

    This requires to either have a linux machine, or maybe a ZEN partition with at least 50 MB of disk space. We are assuming that most people would use the second option.

    1. Boot to manual mode (workstation here has a ZEN partition of around 50MB)
    2. Copy the Pico editor to another floppy, mount that floppy by typing mount /dev/fd0 /mnt/floppy, copy Pico to bin by typing cp /mnt/floppy/Pico /bin, unmount floppy by typing unmount /mnt/floppy
    3. Mount zenpartition, by typing zenpart.s, mount $ZENDEVICE /mnt/harddisk. (Note that a ZEN partition has to be present for the second command to work. If after typing zenpart.s, and typing export, ZENDEVICE variable is not present, then maybe ZEN partition is not present.)
    4. Put the second bootdisk in the floppy drive, and mount it by typing mount /dev/fd0 /mnt/floppy
    5. Create a temporary area on the zenpartition by typing mkdir /mnt/harddisk/secdisk
    6. Copy the file root.tgz from the floppy to this area: cp /mnt/floppy/root.tgz /mnt/harddisk/secdisk
    7. Change to the temp directory by typing cd /mnt/harddisk/secdisk
    8. Untar root.tgz by typing tar zxvf root.tgz, remove root.tgz by typing rm fr root.tgz
    9. All the scripts are present in bin directory, so now you could use Pico to edit them, for example to edit bin/network.s file type Pico bin/network.s
    10. Make changes to as many scripts as required, saving each of the scripts.
    11. Once all the changes are made, type pwd to see that you are in /mnt/harddisk/secdisk directory. Make sure that root.tgz does not exist. Then type tar zcvf root.tgz * to create the root.tgz with modified scripts.
    12. Copy root.tgz to the second bootdisk by typing cp root.tgz /mnt/floppy (assuming second bootdisk floppy is still mounted).
    13. Unmount floppy: umount /mnt/floppy
    14. Remove the temporary directory by typing cd / ;rm fr /mnt/harddisk/secdisk
    15. Umount /mnt/harddisk
    16. Now the second bootdisk has the modified scripts. To create more bootdisks with the same modified scripts, either replace the root.tgz on the server with the modified root.tgz or just copy this root.tgz to the other bootdisks.

    Hint: To copy any files to root.tgz, for example dhcpcd to bin directory, simply put that utility on a floppy, mount it, and then copy it to the correct area, and then create the tar archive. In this case the command would be to cp /mnt/floppy/dhcpcd /mnt/harddisk/secdisk/bin, then follow step 11 onwards.

    Note: There are some tar utilities available in windows which might allow you to add files to root.tgz. However, the scripts cannot be modified on the windows box because the characters used to designate end of line in UNIX and windows differs.

    Return to Top

    Change scripts on the linux partition

    1. Boot to manual mode.
    2. Copy the Pico editor to another floppy, mount that floppy by typing mount /dev/fd0 /mnt/floppy, copy Pico to bin by typing cp /mnt/floppy/Pico /bin, unmount floppy by typing unmount /mnt/floppy
    3. Mount zenpartition, by typing zenpart.s, mount $ZENDEVICE /mnt/harddisk. (Note that a ZEN partition has to be present for the second command to work. If after typing zenpart.s, and typing export, ZENDEVICE variable is not present, then maybe zen partition is not present.)
    4. All the scripts are present in bin directory, so now you could use Pico to edit them. For example to edit bin/network.s file type Pico /mnt/harddisk/bin/network.s
    5. Make changes to as many scripts as required, saving each of the scripts.
    6. Unmount floppy: unmount /mnt/floppy
    7. cd /; unmount /mnt/harddisk

    Now the ZEN partition has the modified scripts.

    Return to Top

    Mount CD-Rom

    1. Insert CD-Rom disc.
    2. Type cdrom.s, it mounts cd-rom to /mnt/cdrom
    3. To eject CD-Rom disc, you need to unmount by typing unmount /mnt/cdrom

    Return to Top

    Set proxy address at the prompt

    1. Type export to see if the variable PROXYADDR is set.
    2. To set proxy address to another address type export PROXYADDR=, for eg: export PROXYADDR=137.65.45.4

    Note: proxy address could be set to dns name, but if a static ip address is assigned to the machine then dns name does not work.

    Return to Top

    Configure DHCP timeout/ DHCP message Getting DHCP

    Either a particular linux partition can be configured, or the 2nd bootdisk can be modified to reflect these changes. For details on how to change files on linux partition/ how to change files in second boot disk refer to the specific How-To.

    1. To configure DHCP timeout, edit the file /etc/pump.conf and change the retries/timeout value
    2. To configure the DHCP message, edit the file /bin/network.s and modify the line Getting DHCP.

    Return to Top

    Set Imaging server (NetWare) to run in debug mode

    1. Unload imgserv.nlm : unload imgserv
    2. Load "imgserv -debug", the log file is created in sys:\system\zimgdbg.log

    Note: There is another log file called zimglog.xml stored on the server which has details of all the imaging sessions that occurred.

    Return to Top

    Check debug messages on NT Imaging server

    1. Run NDSCons.exe (it is present in the directory where NDS for NT is installed).
    2. Find DS Trace utility, and start it by clicking Start.
    3. In the DS trace window, go to the options menu, and then go to the page where you can specify the kind of messages you want. Deselect all the messages, just select misc other.

    Now all the debug messages will show up on the window.

    Return to Top

    Start/stop imaging service on NT Imaging server

    1. Run NDSCons.exe (it is present in the directory where NDS for NT is installed).
    2. Find imgserv.dll/imgserv.dlm, click on start/stop

    Return to Top

    Server Error Codes

    When running the server nlm in debug mode, the debug messages show some error codes. These error codes are documented below:

    Return to Top

    // network error codes

    Connection Timeout -1200
    Failed to read socket -1201
    Failed to write to socket -1202
    Connection failure -1203
    Socket failure -1204
    Data out of sync between server/client -1205

    Return to Top

    // file error codes

    Failed to write to the file -1220
    Unable to access file -1221
    Image file invalid -1222
    Unable to access file -1223

    Return to Top

    // other error codes exchanged between client/server

    Module was unloaded -1240
    Wrong client version -1241
    Received unknown packet -1242
    Failed to get imagesafe data from DS -1243
    Work is undefined -1244
    Previous job failed -1245
    Base image already exists on the workstation -1246
    Unable to validate upload path, check server policy package security page for list of restricted paths. -1247
    Invalid file path -1248
    Image file overwrite is disabled in ConsoleOne -1249

    Return to Top

    // general error codes

    Initialization failed -1300
    Failed to allocate memory -1301

    Return to Top

    // error codes used by ds library

    Unable to find an image to be downloaded -1400
    Failed to authenticate -1401
    Failed to clear the work to do flag in workstation object -1402
    Unable to find the workstation dN -1403
    Failed to get ip address of the referring server -1405
    No image to upload -1406
    Unable to find policy -1407
    The work to do flag in workstation object is not set -1408
    Failed to get ip address for a workstation -1409
    Invalid tree -1410


    Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

  • © 2014 Novell