Forum Replies Created
-
AuthorPosts
-
April 27, 2010 at 1:35 pm in reply to: 10.5.4 leopard server netboot and diskless not working #378457
nessts
Participantrebuilding your server is the fastest solution. Sad but true. I can rebuild my server in under 2 hours these days for when things go whacko.
nessts
ParticipantI run the build off a machine that can boot either 10.6 or 10.5 it works fine.
nessts
ParticipantWe build images for multiple customers and multiple OS levels, some 10.5.8 some 10.6.X
So, we wrote a wrapper for instadmg, it is a perl script and it needs the following directory structure as a default all your data lives in
/Volumes/WIP
in Volumes/WIP you have the following subdirectories (as you can see some of them can be links to other areas for space reasons.) instadmg must be a link to InstaDMG_1.4b4 or whatever version you are running.
BaseOS@ -> ../WIP2/BaseOS
BaseUpdates@ -> ../WIP2/BaseUpdates
InstaDMG_1.4b4/
Packages/
images@ -> ../WIP2/images
instadmg@ -> InstaDMG_1.4b4I never took the time to understand the instaup2date stuff as we had this written before its existence.
Anyhow inside BaseOS you have different install media directories with the Mac OS X Install DVD.dmg inside
10.5.2-3A142/
10.5.6-3A164/
10.5.7-3A174/
10.6/BaseUpdates contains downloaded updates in pkg format
images contains directories that match customer names or customer department names for each image you wish to create and inside those there are 2 important dot files a .build and a .version
the .build file contains a letter specifying the build type you can designate any you wish i use B for beta builds and P for production builds and a number usually start it with 0 and it will increment so you can differentiate what build is what, your final DMG will wind up here with the name of the Customer-Version-BuildTypeBuildNumber.dmg as well.Packages contains directories that match customer names or customer department names for each image you wish to create and inside those are any customer specific pkgs that have licensing information etc as well as the all important customer configuration file pkglist.csv, and a Generic directory for pkgs that can be used in any build Firefox for example.
ABC/Office2008-12.2.3.pkg
ABC/SystemSetup-2.0.0.pkg
Generic/Firefox-3.5.7.pkg
Generic/Flip4Mac-2.3.1.2.pkg
etc…then in instadmg I add the all important t1.pl not a very flashy name but not the point.
you cd to the instadmg directory and run this script and if you have everything in the default locations with justsudo perl ./t1.pl ABC
at this point t1.pl will look to make sure the all the necessary directories exist, and it will link all the packages, baseos, baseupdate etc into the proper locations in the instadmg directory in the order specified in the config file. it will also look for packages that have an installer choices file and link those into the proper directory if they exist, I wrote a special handler for iLife, where I copied those files somewhere into the Packages structure so that I did not have to build ilife packages all the time
and you change customers just by changing the last argument of the line above. you can also run this whole process from a place other than /Volumes/WIP by giving a -t /path/to/files argument.
here is a sample of the config file for a current build
o,10.6
u,MacOSXUpdCombo10.6.2.pkg
u,RemoteDesktopClient-3.3.2.pkg
u,iTunes-9.0.2.mpkg
u,PerformanceUpdateSL-1.0.pkg
u,AirPortClientUpdate2009002.pkg
u,JavaForMacOSX10.6Update1.pkg
u,CanonPrinterDrivers-SL2.2.pkg
u,RicohPrinterDrivers-SL2.0.pkg
u,Safari4.0.4SnowLeopard.pkgs,Install Bundled Software.mpkg
g,iDVD_704.pkg
g,iMovie_803.pkg
g,iMovie_804.pkg
g,iMovie_805.pkg
g,iPhoto_804.pkg
g,iPhoto_81.pkg
g,iPhoto_811.pkg
g,GarageBand51.pkg
g,iLifeSupport903.pkgc,ABCUserTemplate-1.0.pkg
c,ABCSystemSetup-2.0.0.mpkg
c,ABCBuildVersion-2.0.0.pkg
g,HPadmin-1.0.1.pkg
g,LocalAdmin-1.0.pkg
g,FireFox-3.5.7.pkg
c,ABCFirefox3Defaults-1.0.pkg
c,ABCSafariDefaults-1.0.pkg
g,Flip4MacWMV-2.3.1.2.mpkg
g,MicrosoftMessenger-7.0.2.pkg
c,ABCFlip4MacProLicense.pkgo = OS type of thing to use
g = generic package to use
c = customer specific package to use
s = the all important iLife packages, I had to link those updates from the BaseUpdates directory into Generic packages because this all happens after updates in the instadmg script or you could just store them in Generic but I wanted it clear what was an update.If anybody is interested in the actual script I can post it or make it available for download somewhere, but I figure this might be confusing as I am not the best documentation person when it comes to writing step by step directions and assuming anybody knows what I know.
if this helps or is interesting for anybody let me know…
nessts
Participanti have a script that runs at first boot as root, launches photoshop, acrobat, distiller and in my case the contribute plugin installer. then when those things have been done i copy the plists and other files created by this process in roots home directory to the template and to all users, no admin rights are needed, but users need to quit each app as it is running as root, and step through all of them, but a non-admin user can finish the setup for me.
i have tried composers make a cs4 package from their known list of files, but everytime i have run it, it core dumps my whole system.
nessts
Participantoops forgot the root directory.
“/System/Library/CoreServices/Setup Assistant.app/Contents/Re
sources”nessts
Participantremove or move the following files, i got rid of the registration pages too. this basically runs the movie on some systems, country, keyboard and timezone.
“RegSection.bundle/Contents/Resources/da.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/Dutch.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/English.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/fi.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/French.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/German.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/Italian.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/Japanese.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/ko.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/no.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/pl.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/pt.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/pt_PT.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/ru.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/Spanish.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/sv.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/zh_CN.lproj/Reg_Apple_ID.nib”,
“RegSection.bundle/Contents/Resources/zh_TW.lproj/Reg_Apple_ID.nib”,
“MigrationSection.bundle”nessts
Participantyes, you just need to get the Install Bundled Software.mpkg and the System directory and copy both into you custom pkg. you also then have to move your apple updates for those apps into custom pkg. or you could do as suggested above and modify the instadmg script to install before the cache image is made then the updates will work in their normal place.
nessts
Participantthat is the approach i took, when you pull that package off disk 2 you have to get the system folder and put it in your custompkg directory as well otherwise it wont install. you can also give it a installerchoices file and not install garageband etc.
Another Caveat I noticed with this new media. The 10.5.7 that came with the latest MBP would not boot a G5 any longer, i started with my 10.5.2, put 10.5.7 combo and the required updates and got a working image. but now i have to have 2 10.5.7 images…
nessts
Participantthats a fine idea, my pull the package out and add it to the custom packages worked as well. this would have been really good idea though. could point to an installer choices for it as well if i hard coded that in. thank you very much for the help.
nessts
Participanti am running a build right now where i pulled the package and associated directory that holds the real packages and generated an installer choices for that package.
just checking, are you using a new OS install DVD disk that came with a system and getting iMovie, iDVD and iPhoto installed through instadmg?
When i tried just an every day install from the actual DVD there was no choice for the ilife stuff to install on the main installer, and i had to insert the second disk and install it separately.
probably just need to add some logic to instadmg to actually do something with the support disk and its new mpkg
thanks
Toddnessts
Participantmaybe i just ask bad questions because i rarely get answers, to put this another way, how do i get iPhoto, iDVD and iMovie to install from the latest OS install DVD and associated application install disk.
nessts
Participantcleaning out /tmp did not help either. i have lost a day on making empty images. 🙁
nessts
Participanti have made all my firstboot scripts be perl scripts and if one needs to wait for another i have waitfor function that makes the script sleep until it stuff it has to wait for is finished then it, can run, in another function i wait for the existence of a file prior to proceeding etc., and i have about 6 firstboot type things that happen in launchd, then each script disables itself after successful completion. a couple of them reboot, after disabling so next time everything that was waiting for them will continue after boot. just an idea.
nessts
ParticipantJust an update for anybody watching. I have a few more packages that are not there after being installed. So, I decided to let LANrev install stuff, especially small things that change rapidly like FireFox, T-bird etc.
nessts
Participantwhat i did for CS3 install with LANrev.
I packaged up the CS3 Design Premium install Directory, the 2.6GB beast that contains the Setup.app and the deployment, payload and resources directories, and the bootstrapper.dmg.
I install this into /Users/Shared/AdobeCS3DP/
then when the system comes up, and LANrev is controlling it, it will then push an installer package(could be done by a onetime startup item too), that I included all of the updates in as well. This package writes the application.xml.override file to the proper location, then runs the installer, then it runs each patch separately. at the end of that I added the icons to the dock of any existing users, and the user templates.Why did I do it this way, i wanted to be able to add more patches easily and not have to recreate the package from scratch each time. and Adobe in their lack of wisdom has not included $3 in their install scripts so things happen at /, and instead of trying to work around that I decided to just let it install after the system comes up.
The last thing I added was the things that get changed when acrobat pro starts up.
I used the installease tool to find out what changed so that I would not need the admin password the first time it starts.*Note only run the snapshot before and after you start acrobat pro. if you do it prior to launching any of the other applications as is required by acrobat pro for licensing purposes, and you capture that, it seems to break the licensing pretty badly.
*Second Note: all adobe updates are not created equal, some of them have the AdobePatcher.app that you can just get and run. some of them have different formats and you have to mount some silly dmg before you actually find the patch, (inDesign was this way) and some of them are simple file replacements, camera raw, flash…
-
AuthorPosts
Recent Comments