Ausmith1 Posted December 11, 2006 Share Posted December 11, 2006 NOTICE: This script is not for first timers! Experience with SCM systems and batch scripting are required if you would like to adjust this script to your specific needs. I can only answer a limited amount of questions on this script due to time constraints.I have written a set of scripts for automating an ISO build with HFSLIP. The main script syncs all the necessary OS and $OEM$ files from a Perforce SCM database and can build a variety of ISO images (Quick driver test, $OEM$ refresh only, Full DVD rebuild) with up to five versions of Windows on the ISO (2003 ENT EVAL, 2003 ENT Retail, 2003 ENT Volume, 2003 STD Retail, 2003 STD Volume). It maintains a full history of what was build and by whom in the Perforce database so you can easily track what changes were made by who and when.I believe that the script is fairly well commented for those who wish to dive in and see what's going on.FAQ:Why use an SCM system?Can you really keep track of everything you changed in a build in your head? Well, neither can I.Why use Perforce as the SCM system?1) It's free for 2 users.2) It can handle files and directories with a $ in the name (VSS can't).Why don't you use CVS or Subversion for the SCM?1) CVS is junk.2) Subversion is an OSS copy of Perforce, imation is the sincerest form of flattery, no?If you want to use your own SCM simply change the SCM commands to the SCM of your choice. That's not something I can help you with though.Do I really need to use an SCM system to use this script?No, but then you lose out on the change tracking features. Not the simplest thing to totally rip out the SCM feature in any case...Learning how to efectivly use an SCM system is a very marketable skill in any case.Where do I get Perforce?Perforce Downloadshttp://www.perforce.com/perforce/loadprog.htmlHow do I use Perforce?Perforce Technical Documentationhttp://www.perforce.com/perforce/technical.htmlIsn't Perforce a commercial product? Don't I have to pay for it?From: http://www.perforce.com/perforce/loadprog.htmlYou may use software downloaded from Perforce for any purpose you want and for as long as you like. The Perforce Server supports only two users and five client workspaces unless used with a Perforce License.How do I make my own custom boot sector?Time, lots of patience and a copy of VMware/VirtualPC. Simply changing the text without changing the position of the chars in a HEX editor is the easiest way to start.How many multi boot items can I have in the boot sector menu?The 2003 boot sector can support up to 16 items. Windows 2000 boot sectors supported 8 items.This is really slow! It takes an hour on my machine to do a full build!Mine too. Time to buy a faster machine :-) Seriously it's doing a lot of work. It takes time. Go interface with the real world while it's crunching.How much disk space do I need?That depends on how many versions of Windows you plan on integrating and how much extra stuff you plan on putting in the $OEM$ folder.Figure that you need 600MB for each version of Windows and figure that you need the space to hold a copy of the $OEM$ folder for each version of Windows during CDIMAGE's symlinking phase. For me I needed 30GB free + 15GB on the Perforce server.What files are in your HFTOOLS folder?In addition to the regular modifype.exe and HFANSWER.INI, I also have the following tools/scripts:buildrev.vbs customcdimage.exe v2.47 - Google itdatetime.vbs customdvdrev.vbs customgrep.exe Win32 port by Tim Charron (http://pages.interlog.com/~tcharron/grep.html)gsar.exe General Search And Replace (http://gnuwin32.sourceforge.net/packages/gsar.htm)junction.exe http://www.microsoft.com/technet/sysinternals/Utilities/Junction.mspxreplaceAMD64.xsc http://www.msfn.org/board/index.php?showtopic=58446replaceI386.xsc http://www.msfn.org/board/index.php?showtopic=58446robocopy.exe Windows Server 2003 Resource Kit Tools (http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD)sed.exe http://www.msfn.org/board/index.php?showtopic=58446SETUPLDR.BIN http://www.msfn.org/board/index.php?showtopic=58446sleep.exe Windows Server 2003 Resource Kit Tools (http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9D467A69-57FF-4AE7-96EE-B18C4790CFFD)universalrepl.xsc http://www.msfn.org/board/index.php?showtopic=58446unix2dos.exe http://www.msfn.org/board/index.php?showtopic=58446XVI32.exe http://www.msfn.org/board/index.php?showtopic=58446XVI32.ini Automatically created by XVI32.exeAll custom scripts are included in the ZIP attached at the bottom of the post.How should I setup my folder structure in the Perforce SCM depot?\Depot \Automation-Depot \OS \2003 \x86 \ENT \EVAL <- Copy of the base OS CD + R2 files \ADMIN <- R2 (Optional) \CMPNENTS <- R2 (Optional) \DOCS \I386 \PRINTERS \SUPPORT \RETAIL \VOLUME \STD \RETAIL \VOLUME \My-Project \$OEM$ \$$ <- Custom files to go in \WINDOWS folder \$1 <- Custom files to go on C:\ \HFSlip \AIO-DVD.OUTPUT <- HFSLIPed files will make their way in here. \BOOT-BINS <- Custom boot sectors \HF <- OS QFEs \HFCABS <- OS CAB updates \HFEXPERT \STORAGE <- Mass storage drivers to be slipstreamed by HFSLIP \HFTOOLS <- Custom tools and scripts \LOGS <- HFSLIP Logs \SIFS <- Your customised WINNT.SIF files \ISOs <- Where the ISO file will be created (Can be anywhere, not restricted to this folder) hfslip.cmd <- Renamed HFSLIP.version.cmd script build_hfsliped_iso.cmd <- My build script AIO-DVD_manifest.md5 <- Files that contains an MD5 hash of completed builds. Automatically updated by the build script.How do I figure out what the difference was between two builds?Diff the file //Automation-Depot/My-Project/HFSlip/AIO-DVD.OUTPUT/manifest.md5 in Perforce for the two builds in question.How do I automate HFSLIP so that I don't have to sit and wait for it constantly?Use the HFANSWER.INI file. Other than that read through the HFSLIP.cmd file and find the pauses.Why do I have to rename HFSLIP.version.cmd to hfslip.cmd?Just makes it easier for me, since each version is held in the SCM system anyway, I can can easily revert to an older version at any time.AIO_Build_Script.zip Link to comment Share on other sites More sharing options...
glentium Posted December 11, 2006 Share Posted December 11, 2006 hmm, interesting.. Link to comment Share on other sites More sharing options...
Tomcat76 Posted December 11, 2006 Share Posted December 11, 2006 Ausmith1--I don't know if you're aware of this or if it's of any use to you, but HFSLIP can handle files to be placed in the following locations:* WINDOWS/WINNT and its subfolders (copied during txtmode copy; use HFEXPERT\WIN)* Program Files and its subfolders (copied when SYSOC.INF is parsed; use HFEXPERT\PROGRAMFILES)The only systemdrive locations that aren't covered yet are the root of the systemdrive and Documents and Settings.More info here. Link to comment Share on other sites More sharing options...
Ausmith1 Posted December 11, 2006 Author Share Posted December 11, 2006 Yes, I was aware of that ability of HFSLIP. I guess I'm just more used to the old $OEM$ way of doing things :-) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now