When imaging using Linux there are times when you want to deploy an image from another location other than the eXpress share, doing this can get pretty messy or downright impossible. The main issue is that you cannot just simply go to the Distribute Disk Image task and just browse for the image that you want to deploy if it is not on the eXpress share.
One solution that I have seen is to use a script that calls RDeployT to deploy an image directly from the share that is outside of the eXpress share then deal with the sysprep.inf injection handled in subsequent scripts. There is no need to recreate the wheel.
The best way I have found to use another shares outside of the eXpress share is done in 3 parts. The first is to setup the share so that the account that accesses the eXpress share also has access to your other share. Second, create the share mount in the Linux automation OS. The last step is to point the disk image file in the Distribute Disk Image task to the explicit location and make sure that Disable Image Path Validation is checked.
Make sure that the account that is used to mount the eXpress share has at least read access to the other share that contains the images you would like to deploy.
Below are the steps to edit the Linux boot disk, but the mount point setup is the same for the PXE booting.
Click to view.
This is where the other two steps come together so you can deploy the image from a different server.
If you have any questions please feel free to e-mail me or leave a comment
In DS 6.9 a lot of new environment variables were introduced for all of the pre-boot environments.
Here's a dump of Altiris variable (with sample values) from my Linux environment (but they are also present in DOS/WinPE):
ALTIRIS_BDC=BDC6.9.9023.318 ALTIRIS_BOOTDEVICE=PXE ALTIRIS_BOOTDISK= ALTIRIS_BOOTTYPE=AUTOMATION ALTIRIS_DS_SERVER=JLT-ATRS1 ALTIRIS_DS_SHARE=eXpress ALTIRIS_PREBOOT=LINUX ALTIRIS_PREBOOT_ID=LINUX_X86 ALTIRIS_PREBOOT_NAME=Linux ALTIRIS_PREBOOT_NAME2=Linux ALTIRIS_PREBOOT_SUBSUBTYPE=LINUX ALTIRIS_PREBOOT_SUBTYPE=LINUX ALTIRIS_PREBOOT_UID=LINUX_X86 ALTIRIS_PROCESSOR=x86 ALTIRIS_PXE_BOOTPATH='MenuOption130\X86PC' ALTIRIS_PXE_CLIENTMAC=000C29E847FC ALTIRIS_PXE_ID=130 ALTIRIS_PXE_INTERFACE=eth0 ALTIRIS_PXE_IP=169.254.29.5 ALTIRIS_PXE_OID=130 ALTIRIS_PXE_RID=130 ALTIRIS_PXE_SERVER=JLT-ATRS1 ALTIRIS_SHARE=/mnt/ds ALTIRIS_UNC=//JLT-ATRS1/eXpress ALTIRIS_VER=DS6.9
I've highlighted the 2 variables that would allow you to map to your local PXE Server (which in 99% of the time is also your local package server / image store).
I’m running a pre script the details of which are shown next
In essence I am copying a modified server.lst file as well as the getsrv.exe file from the default express share into a newly created “tools” directory. The getsrv.exe then determines the subnet, compares this against the server.lst file, extracts the appropriate server name and runs this against the bat file. The last net use cmd make the appropriate local share available.
The details concerning the image source. Note the disable path validation. It will complain when you enter this because in essence the G: drive does not exist, but just override it and it will be fine.
The details of the server.lst file. Note it’s placement and that the deployment server folder is shared to the default express donation.
A sample of a modified server.lst file
mkdir -p "/mnt/images"asmbmount -b -d DOMAIN -f /Deploypw.pwl //ImageSRV/images /mnt/images
#!/bin/sh# Mount an SMB (Windows) share# mkdir /mnt/smb# asmbmount [-d domain] -f pwlfile //server/share /mnt/smb# Mount an NFS mount# mkdir /mnt/nfs# mount -t nfs server:/directory /mnt/nfs -o nolock# Mount a ramdisk -- / is on /dev/ram0# mkdir /mnt/tmp# mke2fs /dev/ram1# mount /dev/ram1 /mnt/tmp# Mount a cdrom -- / is on /dev/cdrom# mkdir /mnt/cdrom# mount /dev/cdrom /mnt/cdrommkdir -p "/mnt/ds"asmbmount -b -d ADILSTU -f /sysaltir.pwl //Altiris-DS/eXpress /mnt/dsmkdir -p "/mnt/nas"asmbmount -b -d ADILSTU -f /sysaltir.pwl //nas1/public /mnt/nas