Seite als PDF-DateiSeite drucken

1.) Extracting the needed files.

There are several Website and PDFs which describe who to extract files from the ESX(i) ISO.

I preferre the simple way. Just install the ESX via CD to any hardware which is supported and navigate to "/store". All files you need are just below and they are already in the right folders.

It is easy to copy them via ssh to any other linux box you like to use for building the oem.tgz.

2.) Folder structure for oem.tzg

Prepare the following folder and file structure containg the extracted and some new files. All files in the .locker folder are taken from "/store".

The listing show files from ESXi 4.0 Update 1 Build 208167. If you use another version as base the files may differ.

Quelltext:  Alles auswählen
.locker/
.locker/packages/
.locker/packages/4.0.0/
.locker/packages/4.0.0/tools-upgraders/
.locker/packages/4.0.0/tools-upgraders/run_upgrader.sh
.locker/packages/4.0.0/tools-upgraders/vmware-tools-upgrader-32
.locker/packages/4.0.0/tools-upgraders/vmware-tools-upgrader-64
.locker/packages/4.0.0/tools-upgraders/VMwareToolsUpgrader.exe
.locker/packages/4.0.0/tools-upgraders/VMwareToolsUpgrader9x.exe
.locker/packages/4.0.0/tools-upgraders/VMwareToolsUpgraderNT.exe
.locker/packages/4.0.0/floppies/
.locker/packages/4.0.0/floppies/vmscsi-1.2.1.0-signed.flp
.locker/packages/4.0.0/floppies/pvscsi-1.0.0.5-signed-Windows2003.flp
.locker/packages/4.0.0/floppies/pvscsi-1.0.0.5-signed-Windows2008.flp
.locker/packages/4.0.0/vmtools/
.locker/packages/4.0.0/vmtools/freebsd.iso.sig
.locker/packages/4.0.0/vmtools/freebsd.iso
.locker/packages/4.0.0/vmtools/linux.iso.sig
.locker/packages/4.0.0/vmtools/linux.iso
.locker/packages/4.0.0/vmtools/netware.iso.sig
.locker/packages/4.0.0/vmtools/netware.iso
.locker/packages/4.0.0/vmtools/solaris.iso.sig
.locker/packages/4.0.0/vmtools/solaris.iso
.locker/packages/4.0.0/vmtools/tools-key.pub
.locker/packages/4.0.0/vmtools/windows.iso.sig
.locker/packages/4.0.0/vmtools/windows.iso
.locker/packages/4.0.0/vmtools/winPre2k.iso.sig
.locker/packages/4.0.0/vmtools/winPre2k.iso
.locker/packages/4.0.0/client/
.locker/packages/4.0.0/client/VMware-viclient.exe
.locker/packages/usr/
.locker/packages/usr/lib/
.locker/packages/usr/lib/ipkg/
.locker/packages/usr/lib/ipkg/info/
.locker/packages/usr/lib/ipkg/info/vmware-esx-tools-light.list
.locker/packages/usr/lib/ipkg/info/vmware-esx-viclient.list
.locker/packages/usr/lib/ipkg/info/vmware-esx-tools-light.control
.locker/packages/usr/lib/ipkg/info/vmware-esx-viclient.control
.locker/packages/usr/lib/ipkg/status
.locker/conf/
.locker/db/
etc/
etc/vmware/
etc/vmware/init/
etc/vmware/init/init.d/
etc/vmware/init/init.d/82.locker-remap
etc/vmware/init/init.d/71.prep-pxe
sbin/
sbin/remapLocker
sbin/prepPXE

3.) Needed files to prepare the use

Some extra files are needed to activate the new /locker structure on the target ESX server.

  • ./etc/vmware/init/init.d/71.prep-pxe
Quelltext:  Alles auswählen
#!/bin/sh
 
Exec /sbin/prepPXE
 
    • ./etc/vmware/init/init.d/82.locker-remap
    Quelltext:  Alles auswählen
    #!/bin/sh
     
    Exec /sbin/remapLocker
     
    • ./sbin/prepPXE
    Quelltext:  Alles auswählen
    #!/bin/ash
     
    export PATH=/sbin:/bin
     
    log() {
       echo "$1"
       logger prepPXE "$1"
    }
     
    configFile="/etc/vmware/locker.conf"
    rm $configFile
     
    • ./sbin/remapLocker
    Quelltext:  Alles auswählen
    #!/bin/ash
     
    export PATH=/sbin:/bin
     
    log() {
       echo "$1"
       logger remapLocker "$1"
    }
     
    scratch=$(ls -l /locker |awk '{print $NF}')
    log "/scratch is $scratch"
     
    rm /scratch
    ln -s $scratch /scratch
     
    mkdir -p $scratch/var/tmp
    mkdir -p $scratch/downloads
     
    locker="/.locker"
    configFile="/etc/vmware/locker.conf"
     
    log "/locker is $locker"
     
    rm /locker
    ln -s $locker /locker
     
    mkdir -p $locker/etc/opt
    mkdir -p $locker/var/opt
    mkdir -p $locker/opt
    mkdir -p $locker/packages/4.0.0
    mkdir -p $locker/var/core
    mkdir -p $locker/vmupgrade
     
    echo $locker 1 >$configFile
     

    4.) Prepare and transfer to oem.tgz

    Now we have to prepare and compress the folder structure into the needed oem.tgz

    Quelltext:  Alles auswählen
    chown -R 201:201 .[a-zA-Z0-9_]* *
     
    chmod -R 755 .[a-zA-Z0-9_]* *
     
    # Compress all files and folder to the oem,tgz
    tar -czvf /root/oem.tgz .[a-zA-Z0-9_]* *