At my other job I was given a Mac laptop to fix that wouldn’t boot. It just sat there on the spinning wheel and never came to the logon screen. So first thing I did was to boot in verbose mode by holding CMD-V down after the boot sound. This shows boot messages. Doing this revealed the boot process was looping with an error message of:
Couldn't find root user. Sleeping and trying again.
I tried Googling for it and didn’t get promising results. Only fix is to re-install. But I was not discouraged. Besides, re-installs are a pain because all programs need to be re-installed and all settings are lost — plus you can lose all user data if not careful.
So I rebooted the Mac into single user mode by holding down CMD-S after the boot tone. This allows you to poke around the file sytem — if you are comfortable with Unix or Linux.
Consensus on the few items I found online was that it’s a problem with netinfo and to remove the directory from /var/db. I made a backup of that directory first, tried it, and still didn’t help.
Thankfully, a lot of Mac OS X is open source code named Darwin. The error message was being produced by the memberd program. Going back into the open source archive at Apple for 10.4., I found the error message and confirmed it was trying to do something with the directory service. So I hit a dead end — for a bit.
I rebooted and followed the boot messages and further upstream in the messages was another error from dyld saying it couldn’t load libz.1.dylib. I went into /usr/lib and lo and behold, found a bad symlink….
libz.1.dylib -> ?~
Bingo! I relinked it to the actual library file that was in the same directory
ln -s libz.1.dylib libz.1.2.3.dylib
Rebooted the Mac, and IT WORKED!!!!
So here’s hoping if someone else gets stuck with a similar problem on an older Mac running Tiger (10.4) and Googles the message like I tried, they’ll happen upon this and it will hopefully help.
Hey Weave,
I am having a similar (the same) problem. However, I entered in “ln -s libz.1.dylib libz.1.2.3.dylib” and the prompt reads “…: File exists”. Could the same problem exist with a different libz file? Any help would be great.
Loren
It’s been ages since I wrote that blog entry and I abandoned that project quite a while back.
Usually a generic filename for a library like libz.1.dylib is symlinked to a specific version. If your “file exists” is talking about libz.1.dylib then you’d have to remove it before re-symlinking it. (I’d recommend renaming it though just to be safe)
Hope this helps.
Sorry for resurrecting this project again. But I recently came across a problem with striking similarity.
I keep restarting the computer to try and see the error that it is producing, but I can’t find it. Do you know how the error would be listed? If so, could you list the context that i should be able to find it?
Thanks for your time in advance,
Justin