Troubleshooting ZENworks Imaging

  • 3621123
  • 11-Jun-2007
  • 30-Apr-2012

Environment

Novell ZENworks Desktop Management 6.5 - ZDM6.5 Imaging
Novell ZENworks Desktop Management 7 - ZDM7 Imaging
Novell ZENworks for Desktops 4 - ZFD4
Novell ZENworks for Desktops 3.0
Novell ZENworks Imaging


Situation

Troubleshooting ZENworks Imaging

Resolution

*******************************************************************************************
ZDM 6.5 SP2, ZDM 7, ZDM 7 SP1
*******************************************************************************************
Try the latest Hot Patch
See KB 3484245 "Updates to Novell ZENworks 7 Desktop Management" which can be found at https://www.novell.com/support

How-To Enable debug logging for imaging
To add or modify ZENworks Imaging files
Bootcd is not bootable
How-To Load aLinux driver manually
How-To Get the Imaging Kernel to recognize new device ID's
***********************************************
ZfD 3x, 4x, and ZDM 6.5 SP1
***********************************************
Error Codes found in zimgdbg.log file
Workstation isn't imaging when you configure it to image in NDS.
This is one of the most common causes of tech support calls on imaging. Check the image safe data on the workstation. Get to the Linux bash promt by booting into Linux with either PXE, or a Linux boot CD or floppies. From the linux bash# prompt, type img i z. (use a space after the "i") If there is a workstation object there, you won't be able to image using a server package. You'll only be able use the workstation object or it's effective workstation policy. If you want to use the server package, delete the image safe data by running ZISEDIT with ZFD4 or ZISCLEAR for ZFD4 or ZFD 3.X
ERROR:Error: Failed to write to image server.See documentation
Make sure there is enough harddrive space on the server that is running the imaging proxy server.

Network problems - NIC not being detected
Boot from disks in manual mode and then
  1. Type ifconfig at the prompt, if it shows up the MAC address, NIC was detected.
  2. If step 1 fails, type ifconfig eth0 up, and then ifconfig, see if the hardware details are shown.
  3. If 2 does not work it means that the network card is not getting detected, you might want to search for the drivers for that NIC, 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:

Boot in manual mode, copy the driver to a floppy, mount the floppy, copy the driver from the floppy to the area /lib/modules/2.2.14/net, type insmod /lib/modules/2.2.14/net/, then type ifconfig eth0 up, and then ifconfig to see if the driver worked.
Network problems DHCP not working:

Boot from disks in manual mode and then
  1. Type ifconfig at the prompt, if it shows up the IP address, dhcp works fine.
  2. If step 1 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)
  3. If 2 does not work it means that the dhcp is not working. We could try the following solutions:
    1. try disabling plug and play, do a cold reboot, and then boot again, and repeat above steps
    2. 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 problem is just with one machine), or to the second bootdisks (if whole set of machines not working). To achieve this:
      1. dhcpcd needs to be added to root.tgz file on the second floppy, or to the bin directory on the zen partition.
      2. 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".
Kernel boot problems Linux bootdisks does not boot completely, Zip drive is present on the machine

Please see: Kernel boot problems when a Zip drive is in the workstation.

Unable to get workstation to pick up the imaging job assigned to workstation object
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, how-to section explains how to do it.
  3. Make sure that 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.
Unable to get workstation to pick up Server Package rules
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, how-to section explains how to do it.
  3. Make sure that 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, 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. Or zisclear can be run to clear the image safe data. ZISCLEAR is ran at the bash prompt.
  7. Check the log file zimglog.xml on the server to see if it reports any error.
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 a text editor like Textpad.
  2. To configure the loader to boot in manual mode by default, change the line"default Imaging" to "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, say for example you do not want loader to probe the hdb drive, then make changes as Follows: append 2 initrd=initrd.gz hdb=noprobe
How-To Copy files from DOS floppy to the ZENworks 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// /mnt/harddisk//
  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 (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.
How-To 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. I would explain the steps 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 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 say 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, so 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.
How-To 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 required, saving each of the scripts.
  6. Unmount floppy: unmount /mnt/floppy
  7. cd /; unmount /mnt/harddisk
  8. Now the ZEN partition has the modified scripts.
How-To 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
How-To 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: proxyaddress could be set to dns name, but if static ip address is assigned to the machine then dns name does not work.

How-To 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.
How-To 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.
How-To 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.
  4. Now all the debug messages will showup on the window
How-To 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

Additional Information

Formerly known as TID# 10055585