Forum Replies Created
-
AuthorPosts
-
larkost
ParticipantUnfortunately this is one of those places where it is going to take a bit of time since it has to search the whole volume for links, then check to make sure they are not pointing off-disk (this is a boo-boo that Apple makes in the iLife installer).
I do have a couple of ideas for speeding it up, but have not had the time to implement them. If someone wants to take a whack at doing them:
1) Write a Foundation (C, maybe with a little Obj-C) tool that would watch all of the file creation events on the target disk and log a list of sym-links that could then be gone through much faster at the end of the process. This is probably going to be the fastest method as it only burns a little processor power right when the system is already working on the disk catalog (we are much more bound by I/O than processor). Then we have to run this while the process is going (a bit tricky with the bash script, but doable).
2) Write a Carbon tool that uses Apple’s FSCatalogSearch method to grab the disk catalog in chunks and process it. This is probably going to be twice as fast as the current method, possibly evne more than that. For a little reference there are some [url http://www.cocoadev.com/index.pl?NSDirectoryEnumerator%5Dnumbers on CocoaDev[/url] that gave me this idea.
May 1, 2010 at 2:45 am in reply to: instadmg running custom ard setp pkg kills screen sharing #378477larkost
ParticipantYa, I am going to second the note of caution about running InstaDMG on a server (the same note of caution applies to SIU). It is very possible that something that you try to install is going to escape out and do things exactly like you are seeing here. In this case I would bet that it is the ARD installer that is doing exactly what you describe without regard to where it is run. You should probably file a bug with apple against ARD. I would myself but I don’t have a copy, so will not be able to validate it.
larkost
ParticipantActually it is there because I am planning a change in how the installer disks work, and put the first part of it in place (the importDisk.py program if you don’t use the –legacy switch), but have not yet put the changes into InstaDMG to deal with it (other than manually with the -I switch). That is going to take a while, especially since I am going to be gone most of the month of May.
larkost
ParticipantIt needs to be “Mac OS X Install Disc”. You have two mistakes in your line (at least as you wrote it here):
Installer-> Install
Disk-> DiscOr you could bypass this by using the -I (sounds like eye) flag and specifying the path to the image.
larkost
Participant2 a and b) The files can be anywhere on the filesystem, but InstaUp2Date has no ability to open AFP shares, so they have to already be mounted before it gets there. I am not against adding this ability, but it is going to take a lot of work, and there are security concerns with storing passwords.
3. I need to look over that code a bit to remember it. I know that just names work (as long as the files are in the proper folder), but I need to look at things a bit better, and maybe re-write that section.
4. Simply a line like:
include-file:
You can have as many spaces in front of it as you want, it really does not affect anything.
larkost
ParticipantNo “repair” is necessary. The image will always be bootable. The only thing you need to fix is to mark the volume as the one chosen to boot. That is it. The reason thing boot into verbose mode is that EFI does not know what volume to boot from, and so it guesses (it is actually quite good at this). On newer computers when EFI guesses it sets the verbose mode, assuming something might have gone wrong. There is nothing more to this.
larkost
Participant[QUOTE][u]Quote by: hotwired34[/u][p]
sudo bless –mount “/Volumes/Macintosh HD” –setboot
sudo bless –folder “/System/Library/CoreServices” –file “/System/Library/CoreServices/boot.efi” –setboot
[/p][/QUOTE]Why are you trying to use the –folder version of bless? That does not really do what you think it does, and is totally unnecessary with MacOS volumes (only needed if you are playing with EFI binaries, and I am sure you don’t need to do that). You only need the first command, and are messing things up with the second.
larkost
Participant[QUOTE][u]Quote by: andyboutte[/u][p]I am getting a similiar error when trying to use instaup2date. I using r266 on a 10.5.8.[/QUOTE]
I don’t think that you are on rev266. I just tested again on 10.5.8, and rev266 (the latest) works just fine. If you downloaded it with svn, then on the command line you can ‘cd’ to the InstaDMG folder and “svn update” to get to the latest version.
larkost
ParticipantNote that there is really only one thing that is getting chrooted in 10.6, even with the latest version: the part that runs the JavaScript in distribution scripts. So anything where the problem is with installer scripts (postflight, preflight, etc) is still a problem in 10.6 (but pretty well solved with 10.5). So this will fix problems with the iLife Support Updates (which had not been fixed in 10.5 before this), but will not solve problems with things like Cisco’s VPN installer (old example, I don’t know if it is still a problem).
larkost
Participant[QUOTE][u]Quote by: hdsst3[/u][p]I put Final Cut Studio 3 in an Image which I made with deploy studio. But when I image a machine it’s asking me for the license number again. How can I fix this?
Yes I do have multiuser license![/p][/QUOTE]
First off: don’t resurrect old threads. There was no activity on this one for a year. Start a new thread. This is common courtesy on all message boards, mailing lists, etc. If you need to reference an old thread link to it (but you don’t seem to need that in this case). You are wasting people’s time in re-reading the rest of the thread when it really has no bearing on your question. If you feel your question needs context, then take the time to write it out.
And if I remember right from the last time I imaged with FCS with a volume license then you just need to do the registration on one computer, and capture the one file it writes out while doing so. PackageMaker (as well as other tools) will help you capture this file very easily. Then you just make a package with this one file, and put it in your InstaDMG setup and you are good to go.
larkost
ParticipantYa, I spent some of the weekend working out the changes for 10.5… actually more of the weekend was preping a computer as a test computer so that I could do that. So now I have a dedicated test computer for 10.5/10.6, and maybe even 10.4 testing. So I plan on tweaking this to try and handle the 10.5. It should have no negative affect at this point, but does not help anything.
larkost
Participant1) To include another catalog file the line should look like:
include-file:
[ filename | file path | file url ] If you use the name form, then the file has to be in the CatalogFoles folder and can either have the .catalog ending or not (it will be postpended if not). The file path version should be absolute and needs to be the complete name. The file URL can point at any http or https location you would like and it will be downloaded (but not cached). You can put these lines anywhere you like in your catalog files, and they will be parsed at that point. In most cases you will probably want to put include lines right up front.
2) I had it in mind for a long time to change how InstaDMG finds the OS installed disc(s), and finally pulled that trigger a few weeks ago. I anticipated this long ago in the .catalog file format for InstaUp2Date, but have not made the changes to InstaUp2Date to use this new ability. I have been debating whether I should put in the time, since at the moment you need to run 10.5 form 10.5 and 10.6 from 10.6, so you are really only using one OS installer anyways. So this will probably get deferred for a while, but will be included if I finally get around to getting InstaDMG 2 out.
3) I have no idea what you mean by “create lproj”, and the rest of your question is really unclear. If you are asking do you need to embed scripts into packages to get them to work, then the answer is yes.
4) You don’t change your installer disc, you apply an InstallerChoicesXML file to it. So importDisk.py is only run once, but you use different InstallerChoicesXML files for it. This is not well setup at the moment, so you have to do it by manually moving which is next to the installer disc.
5) There are two answers: a) You just have to figure it out. b) Rather than using the form of InstallerChoicesXML file that simulates clicks, you need to use the one that specifies everything.
larkost
ParticipantYour problem is that you are creating a dictionary rather than an array a the root. But in this one case case I think it is actually easier to use “defaults”:
[code]/usr/bin/defaults -currentHost write com.apple.HIToolbox AppleEnabledInputSources -array-add ‘{ InputSourceKind=”Keyboard Layout”; “KeyboardLayout ID”=0; “KeyboardLayout Name”=”U.S.”;}'[/code]
I tend to go either with “defaults” or python, and skip PlistBuddy.
March 3, 2010 at 2:30 am in reply to: Mac not booting with new image – com.apple.driver.InternalModemSupport error #378117larkost
ParticipantI don’t know what is stopping your boot, but there are a few things:
1) The warning about the modem drivers is normal. I think that all boots get that because the kext that drives modems does not do one thing that it is supposed to do. It probably has not been changed because it is not actually hurting anything, and no-one wants to go through making the change then doing all the work to test to make sure the change does not cause other problems.
2) A trivial googling for the phrase “getWOW_PARAMETERS: Can’t set wow params. Wow is not supported.” tells me that it is in the Airport drivers. But in the reported cases this does not seem to be a fatal error. My guess is that this is not the cause.
3) With a vanilla setup only (so 10.6_vanilla) do you have problems? If not then you can build up from there to find the problem.
4) What is your Install image from? Is it a retail disc? Or is it a grey disc that came with a computer?
March 2, 2010 at 4:39 am in reply to: Flag/switches/createuser.py usage question, and a launchd scripting discussion #378111larkost
Participant1) Yes, your usage of the “-t” flag looks right. That will make the “temp” directory which mostly just contains the shadow file on that volume.
2) CreateUser.py is a ways out from being useful at this point. I am still writing it, and the version I put in the development branch is just there for safety. It is going to take a bit of work, and some changes in InstaDMG before that is ready to go, and I am being a little schizophrenic in what sub-projects I am working on right now. So there is a bunch of stuff on the burner, but nothing is ready to go yet. I guess I just need a conference to focus me… *sigh*.
3) Yes, “-n” sets the volume name.
3.5) Just as a scripting exercise, you don’t need to use grep, awk, sed, cut, and tr to do the job:
[code]ifconfig en0 | awk ‘BEGIN { FS = “:”} /ether/ { print toupper($4 $5 $6) }'[/code]
Yes… you can do just about anything with awk.4) It could be that your script is running early enough that the network stack has not yet initialized. Three things to make sure of here:
4a) You have already run “networksetup -detectnewhardware” to make sure that the system has detected the system hardware.
4b) You are using ‘ipconfig waitall’ for these devices to actually connect and get IP address, etc….
4c) You are using absolute paths to everything.
-
AuthorPosts
Recent Comments