Forum Replies Created
-
AuthorPosts
-
alantrewartha
Participantyes! that’s what makes this possible at all and i’m immensely thankful for it (my first post here was to give those thanks!)
Have you looked at the lsbom of those ‘SLT install’ PKGs? hardly anything there! it should take no time at all.
i’m going to try rearranging the build chain/train to see if it was an early install that made for a quicker SLT stage – it might be that the quicker installs happened before i got quark 7 and CS3 in on the act.
thank you everyone BTW
alantrewartha
Participantwhat’s yr value of ‘eventually’? if i leave it really long, yes it does push through, but i’m talking hours! some times a whole working day i think 🙁
on the occasions where the install doesn’t stick it is the final thing that runs in the MPKG so i’ve just been digging around to see what might be stalling post-install. nothing so far.
the stuff being installed in these steps involves the SLT.bundle inside the setup assistant app – so I’m not that bothered by all of this – and i’m happy (so far!) that it’s not having an adverse affect on the installation of the main office apps
what’s bugging me (sorry for the repetition) is how inconsistent it is.
alantrewartha
ParticipantThanks, but i’m only repackaging where i really need to (CS3, Quark of course). The build train works OK, but you have to manually ctrl-C when each of the MS2008 updates (and it’s all of them at different times i see now) gets to the SLTs stage. and it’s not every time i do a build either :-/
i’ve got some time now, so i’m going to check the PKG scripts (postflight etc) to see what it might be
alantrewartha
Participanthttp://forums.bombich.com/viewtopic.php?t=12274
it’s just doing this
[code]touch “$3″/Library/Preferences/SystemConfiguration/preferences.plist[/code]
to stop the interruption you get before NBR post-actions run that says “i can’t tell what system version this is”.
it’s not (as i suggested, up thread) to stop “… an error caused by restoring too quickly on NBR”. that’s a separate issue fixed in the NBI.
alantrewartha
Participanti had another successful go, this time using an -applyChoiceChangesXML for the main install (get rid of languages, printer drivers etc) a combo update via
/usr/sbin/installer -verbose -pkg MacOSXServerUpdCombo10.5.5.pkg -target “$CURRENT_IMAGE_MOUNT”
plus some other pkgs:
SecUpdSrvr2008-007.pkg
RemoteDesktopClient.pkg (the 322 update)
clearReg.pkg (haven’t checked to see if this is actually needed yet)
createUser.pkg
activate_ssh_ard.pkg (my own pkg i think)
stop_NBR_error.pkg (er ditto – stops an error caused by restoring too quickly on NBR)all coming in under 4GB dmg. and it’s working perfectly so far.
alantrewartha
Participant(excuse me using this forum/post as a notepad)
i had some modest success following through the important steps in the instadmg script executing them manually. my first attempt was installerchoices free and only the base image, but at least i can get a working server NBRd very fast with this image.
i already had the server install disk as a DMG so here’s what i executed (all as root) with some comments
[code]# temporary mountpoint for the install disk
CURRENT_OS_INSTALL_MOUNT=`/usr/bin/mktemp -d “/tmp/instaDMGMount.XXXXXX”`# ok mount the virtual install disk DMG at the temporary mountpoint we just made
/usr/bin/hdiutil mount “Mac OS X Server Install Disc.dmg” -readonly -mountpoint “$CURRENT_OS_INSTALL_MOUNT”# now setup a scratch sparseimage – i’m not following the logic exatly here, perhaps it could be simpler
SCRATCH_FILE_LOCATION=`/usr/bin/mktemp “/tmp/instaDMGTemp.XXXXXX”`
mv “$SCRATCH_FILE_LOCATION” “$SCRATCH_FILE_LOCATION.sparseimage”
SCRATCH_FILE_LOCATION=”$SCRATCH_FILE_LOCATION.sparseimage”# start a basic 300GB image, attach it, set it to GPT format (as i am on an intel mac) and then eject it (not sure why that last step)
/usr/bin/hdiutil create -ov -size 300g -type SPARSE -fs HFS+ “$SCRATCH_FILE_LOCATION”
/usr/bin/hdiutil attach “$SCRATCH_FILE_LOCATION”# check what /dev this disk appears at and use it in these next steps
/usr/sbin/diskutil eraseDisk “Journaled HFS+” uuidgen GPTFormat /dev/disk4
/usr/bin/hdiutil eject /dev/disk4# another temporary mount point for our sparseimage?
CURRENT_IMAGE_MOUNT=`/usr/bin/mktemp -d “/tmp/instaDMGMountInter.XXXXXX”`
/usr/bin/hdiutil mount “$SCRATCH_FILE_LOCATION” -noverify -mountpoint “$CURRENT_IMAGE_MOUNT”# DO THE INSTALL AT LAST (very basic here) in to the mounted sparsimage (language EN)
/usr/sbin/installer -verbose -pkg “$CURRENT_OS_INSTALL_MOUNT/System/Installation/Packages/OSInstall.mpkg” -target “$CURRENT_IMAGE_MOUNT” -lang “en”# i ran the other ‘clean up lines’ in the instadmg script at this point, but nothing substantial needed doing
# so just delete the Extensions.mkext
rm -vf “$CURRENT_IMAGE_MOUNT/System/Library/Extensions.mkext”# rename the disk (why not) and eject
/usr/sbin/diskutil rename “$CURRENT_IMAGE_MOUNT” “InstaDMG”
/usr/bin/hdiutil eject “$CURRENT_IMAGE_MOUNT”# just following the script here to make the ASR image
/usr/bin/hdiutil convert -ov -puppetstrings -format UDZO -imagekey zlib-level=6 -o leopard_server.dmg “$SCRATCH_FILE_LOCATION”
/usr/sbin/asr imagescan –verbose –source leopard_server.dmg# eject the disk
/usr/bin/hdiutil eject “$CURRENT_OS_INSTALL_MOUNT”
[/code]and then we need to tidy up tmp mount points and so on. but meanwhile i ended up with a working 4.6GB DMG and it restored to a mac ok.
hurray.
HTH someone else out there – or the instadmg code bods
alantrewartha
ParticipantOMG just noticed the switch
-s Enable MacOS X Server installs (not implimented)
and the SERVER_INSTALL flag in the main script that’s laargely unused.
so has anyone had any success making a server version?
November 10, 2008 at 3:30 pm in reply to: post configuration of InstaDMG created images – best practice #374712alantrewartha
ParticipantRevive. Where do YOU stop ‘baking stuff into’ the ASR-ready DMG? i’m guessing that best practice advice here will vary a lot depending on user-base and ‘image variety’.
here we have ~100 macs with all but a handful using apps not in a core image, so we make 1 image and do some ad-hoc installs – mostly with PKGs – afterwards as needed (and some pre-serialised executables copied in place)
what’s in the instadmg CustomPKG ‘chain’:
clearReg.pkg (standard afp548 download to stop the never-happens intro-movie and registration app)
createUser.pkg (ditto – to make a standard admin user)
activate_ssh_ard.pkg (did i make this from scripts scavenged here? – does what you might think)
stop_NBR_error.pkg (another postflight-only script to stop NBR complaining it can’t tell what the system version is)then various ‘core’ application installers – mostly standard install (a couple with InstallerChoices.xml, and some home-rolled for this and spot ARD installs)
we use bombich NBRrestore to image clients using this generic DMG. The NBR Post-actions contains a couple of PKGs to customise the system for our infrastructure – one to do the main custom tweaks, and one extra copy of createUser set up to make a new local user not in the main image (a new requirement after a recent catastrophic network failure that left all users unable to login and work.)
the main custom PKG has a sprinkle of files in the BOM (the first_boot startupitem, a CUPS backend, main DS config files – it’s quicker than writing via plistbuddy) and then a large postinstall script to (from comments):
# Regionalise — International prefpane settings
# Set timezone, timeserver, timesync=YES
# turn off password SSH
# Drop in admin user public key instead
# Disable software update
# let users set DVD region initially
# loginwindow set to name and password
# set login/out hooks
# periodic events on friday afternoons plz
# Quark fiddling – disable XTs, make help multiuser, make local preview cache folder
# delete CS3s ‘quality’ joboptions as they are far from that
# hide unwanted applications
# drop in the first_boot scriptoh and some misc plistbuddy and AD credentials shenanigans. what’s your setup?
alantrewartha
Participantrather than unfriendly MAC addresses, we store unique names (composed of ‘inventory tag’ and principal user) in OD computer records (which are obv keyed to MAC addresses).
part of our NBRestore process curl’s a name from a server that works as a sort of proxy DSCL command (the server being hooked up to OD already, when the NB’d client isn’t) llike this
[code]hwAddress=`/sbin/ifconfig en0 | awk ‘/ether/ { print $2 }’`
myHostName=`curl -s http://10.197.X.Y/dscl.php?MAC=$hwAddress`
[/code]PHP on the server amounts to little more than this…
[code]if ($_GET[‘MAC’])
$output= shell_exec(“dscl -url /LDAPv3/opendirectory -search /Computers dsAttrTypeNative:macAddress “.$_GET[‘MAC’]. “| cut -f1”);
echo $output;
[/code]slightly round the houses – but very simple in practice. not tried adapting it to instaDMG-process scripts. might be simpler if you can hook client up to OD and change hostname.
alantrewartha
Participantfor the record, here’s the ‘regionalise as British’ part of my customising postflight script that sets up the default user setup in the ‘international’ preference panes. (timezone is set on firstboot with systemsetup)
i found i needed both AppleEnabledInputSources and AppleSelectedInputSources to get it to work.
[code]# ‘regionalise’ as British
/usr/libexec/PlistBuddy -c “Add AppleEnabledInputSources array” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleEnabledInputSources:0 dict ” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleEnabledInputSources:0:\”KeyboardLayout ID\” integer 2″ “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleEnabledInputSources:0:\”KeyboardLayout Name\” string British” “$3″/Library/Preferences/com.apple.HIToolbox.plist/usr/libexec/PlistBuddy -c “Add AppleSelectedInputSources array” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleSelectedInputSources:0 dict ” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleSelectedInputSources:0:\”KeyboardLayout ID\” integer 2″ “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleSelectedInputSources:0:\”KeyboardLayout Name\” string British” “$3″/Library/Preferences/com.apple.HIToolbox.plist/usr/libexec/PlistBuddy -c “Add AppleDateResID:smRoman array” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleDateResID:smRoman:0 integer 2” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleTimeResID:smRoman array” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleTimeResID:smRoman:0 integer 2” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleNumberResID:smRoman array” “$3″/Library/Preferences/com.apple.HIToolbox.plist
/usr/libexec/PlistBuddy -c “Add AppleNumberResID:smRoman:0 integer2” “$3″/Library/Preferences/com.apple.HIToolbox.plist/usr/libexec/PlistBuddy -c “Add AppleLocale string en_GB” “$3″/Library/Preferences/.GlobalPreferences.plist
/usr/libexec/PlistBuddy -c “Add Country string GB” “$3″/Library/Preferences/.GlobalPreferences.plist
/usr/libexec/PlistBuddy -c “Add AppleLanguages:0 string en_GB” “$3″/Library/Preferences/.GlobalPreferences.plist
[/code]alantrewartha
Participanti’ve made a script-onlyPKG which does an ARD kickstart with the params
-targetdisk “$3” -activate -configure -access -on -users admin -privs -all -restart -agent
and that’s certainly booting up with ARD on and working, but i haven’t tested it widely. we only have the one admin user anyway, so it could be granting privs to all users. not sure. but it IS working ok.
alantrewartha
ParticipantI might just do that! i guess it would be ok to post it up as a new thread for ppls comments
give me a few days…
alantrewartha
Participanti don’t want to get hopes up, but i was at an extensis/apple event yesterday (london uk) where there was some muttering about adobe coming up with a ‘proper’ deployment strategy in the v near future.
i didn’t press anyone on this, but it sounded hopeful.
alantrewartha
Participanti have been using afp548.com as a general read resource for a long time now, but i have finally signed up just so that i can publicly say THANK YOU SO VERY MUCH for this fix.
i am a recent instadmg convert, and the information in this thread needs more prominence IMHO! has anyone compiled an online how to/FAQ sort of thing.
it took me a little while to find clearreg and createuser, but i worked out that i’d need that. i spent some time doing the logGen/pkgGen routine (which ALMOST worked – as above it’s just Word that messes up) before i hit on this thread
once again: THANK YOU SO MUCH
-
AuthorPosts
Recent Comments