Subject: 'scri' vs. HFS plus
To: None <port-mac68k@NetBSD.ORG>
From: Daniel R. Killoran,Ph.D. <drk@shore.net>
List: port-mac68k
Date: 08/31/1999 08:21:35
Ran across this just now on the MPW list & have copied it here for the
information & edification of those interested in native booting. If
interested, please refer to that list for follow-ups.


>Date: Tue, 31 Aug 1999 11:08:42 +0200
>To: MPW-Dev@public.lists.apple.com
>From: Benjamin Herrenschmidt <bh40@calva.net>
>Subject: 'scri' vs. HFS plus
>
>Hi !
>
>I'm encoutering a problem with BootX and I'm wondering if there is some
>MacOS hacking guru out there which would be able to help:
>
>BootX Extension is packages as a 'scri' file (I need to run it as early
>as possible during the boot process) containing a PPC native INIT. It
>dislays a dialog and runs an eventloop (WaitNextEvent) and eventually
>either kills MacOS (ShutDownPwr then switches to Linux from a shut down
>proc) or just dismisses the dialog and continues booting.
>
>The problem I'm encoutering is when booting from an HFS "standard"
>volume, if you have also some HFS+ volumes set to auto mount. (The
>problem doesn't appear when booting from an HFS+ volume or if you don't
>have any HFS+ volume).
>
>Apparently, what happens is that during BootX eventloop, the Mac tries to
>mount volumes (looks like the various drivers just wait for the first
>event loop to post their mount events). However, if one of this volume is
>HFS+ and we started from an HFS disk, it looks like something goes wrong
>during this process, corrupting some internal data structures of HFS.
>Things continue working fine until you dismiss bootx. The, if you boot
>linux, MacOS will crash in the ShutDownPwr code, else, it will crash at
>Finder load, after all the remaining extensions have been loaded.
>
>I've tried to trace the problem, but the crash occurs long after BootX
>left control, in a bunch of 68k code without any useful symbol, while
>apparently trying to walk an internal list (of volumes ?) which is
>apparently corrupted (bad link pointers).
>
>The problem disappeared on one of my Macs when I added an _InitAllPacks
>at the beginning of my INIT, but many users still report me the same problem.
>
>Of course, one solution would be to turn BootX into a real "INIT" instead
>of a "scri" file, but I prefer first trying to fix this problem. I was
>wondering about patching PostEvent to prevent drivers from mounting their
>volumes (I would record the events in some internal queue and re-post
>them when leaving BootX).
>
>Any clues ?
>
>
>Regards,
>Benjamin.
>
>
>--
>           Perso. e-mail: <mailto:bh40@calva.net>
>           Work   e-mail: <mailto:benh@mipsys.com>
>BenH.      Web   : <http://calvaweb.calvacom.fr/bh40/>
>
>
>
>
>================================================================
>Unsubscribe: <mailto:mpw-dev-unsubscribe@public.lists.apple.com>
>
>Help: <http://www.lists.apple.com/mpw-dev.html>
>or    <mailto:mpw-dev-info@public.lists.apple.com>
>


Dan Killoran