Issue

A LAN connected USB device configured using ziminst will fail to load the Tuxera NTFS driver correctly.

This Issue will result in img erroring when attempting to restore a Tuxera enabled OS image. When this occurs the imglogr will report:

Novell ZENworks Imaging Engine v11.3.0
(c) Copyright 1999-2014, Novell, Inc.
All rights reserved.

Image restored:  os/win7-sp1-pro-x86/win7-sp1-pro-x86-postsp.zmg from 192.168.120.1
  Elapsed time:  00:02
  Encountered a bad control data during image restoration. Check if Tuxera driver is present.


Solution

Modify the zimget.s file to copy the Tuxera driver to the correct location. If the tntfs.ko file is found img will load it if it is required.

Requirements

  • LAN Connected USB boot device as configured by ziminst

  • tftp/zimfiles/zimget.s file

  • Text editor

Procedures


Done Task
 
1. Modify the zimget.s 
 
2. Test the updated file


  1. Modify the zimget.s


    • Open tftp/zimfiles/zimget.s file in a text editor.

    • Update the section with the following lines (shown in green):

      #!/bin/ash
      # Created: May 20, 2014  09:18:07
      
      ZIMDIR=/zimbin
      export ZIMDIR
      
      # Determining drive type...
      if cat /proc/partitions | grep sda > /dev/null; then export HDTYPE=sda; fi
      if cat /proc/partitions | grep hda > /dev/null; then export HDTYPE=hda; fi
      
      echo Downloading ENGL Zim files...
      
      tftp $PROXYADDR << _END_ > /dev/null
      verbose on
      bin
      get zimfiles/ldapsdk.tar $ZIMDIR/ldapsdk.tar
      get zimfiles/zim.tgz /zimbin/zim.tgz
      get zimfiles/engl.lic $ZIMDIR/engl.lic
      get zimfiles/zim.cfg $ZIMDIR/zim.cfg
      get zimfiles/images.ini $ZIMDIR/images.ini
      get zimfiles/projects.ini $ZIMDIR/projects.ini
      get zimfiles/zimrun.s $ZIMDIR/zimrun.s
      quit
      _END_
      
      # Load tuxera driver for Lan connected USB Boot
      if [ $USBBOOT"usb" = "YESusb" ]  ; then
      # -- Mount USB --
      mkdir /mnt/usb > /zimbin/usbdevice.log 2>&1
      export HDPATH=`echo $install | sed 's/^...//'` 
      if [ $HDPATH"check" != "check" ] ; then 
      mount $HDPATH /mnt/usb; 
      if  [ "$NOVELL_FIRMWARE_UEFI" = "TRUE" ]; then    
      if test -f /mnt/usb/addfiles/x86_64/tntfs.ko; then
      echo "/mnt/usb/addfiles/x86_64/tntfs.ko found so need to copy it to /modules" >>/zimbin/usbdevice.log
      /bin/cp -af /mnt/usb/addfiles/x86_64/tntfs.ko /modules/
      fi
      else
      if test -f /mnt/usb/addfiles/x86/tntfs.ko; then
      echo "/mnt/usb/addfiles/x86/tntfs.ko found so need to copy it to /modules" >>/zimbin/usbdevice.log
                  /bin/cp -af /mnt/usb/addfiles/x86/tntfs.ko /modules/
              fi
      fi
      insmod /modules/tntfs.ko
      # unmount usb disk
      /bin/umount /mnt/usb >> /zimbin/usbdevice.log 2>&1
      fi
      fi
      
      echo Unpacking Zim libraries...
      
      tar xf $ZIMDIR/ldapsdk.tar -C / > /dev/null
      /bin/rm -f $ZIMDIR/ldapsdk.tar
      
      tar zxf $ZIMDIR/zim.tgz -C $ZIMDIR > /dev/null
      /bin/rm -f $ZIMDIR/zim.tgz
      
      crlf.s $ZIMDIR/zimrun.s > /dev/null 2>&1
      chmod +x $ZIMDIR/zim
      chmod +x $ZIMDIR/zimrun.s
      

    • Save changes to the zimget.s file

  2. Test updated files


    • PXE Boot a machine using the USB device.

    • Select the Restore Menu

    • Select and then restore a project

    • The project should now restore successfully. (img will load the Tuxera driver if appropriate.)

    • The machine will now deploy successfully.

If you have any problems or questions about the script or steps in this TID  please contact the ENGL support team