HFS/HFS+ File Creation

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

HFS/HFS+ File Creation

Post by GreenMan »

I am running SheepShaver quite successfully, but am unable to initialize hardfiles or disk partitions the way I want.

I am running out of two <4GB hardfiles that I initialized with 'hformat'. This creates an HFS volume.

If I let MacOS 9.0.4 boot up and try to initialize a SheepShaver-created hardfile of any size, either as HFS or HFS+ (I forget what the dialog says, something like 'original' or 'extended') the initialization fails.

If I run Disk First Aid on the hardfile I formatted with 'hformat', it says that there are problems and that it can't fix them (whether I am booted from the hardfile or from CD). I tried running Norton Utilities for Macintosh, but it crashes back to Linux. Things seem to run just fine from the hardfiles I have made, though.

What I would like to do is an HFS+ format (done by MacOS) of a spare 10 GB partition I have, but I am having no luck at all.

Does anyone have any ideas?

My system:

AMD64 3200+ (Winchester core).
1 GB RAM
Fedora Core 4 for x86_64
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

More Info...

Post by GreenMan »

It appears that ANY hardfile larger than 4 GB fail to initialize, but any hardfile smaller than that initializes correctly.

QUESTION: Does SheepShaver have an internal limit of 4 GB for a volume? Perhaps it uses unsigned 32-bit longs as file pointers?

All my volumes seem to verify in Disk FIrst Aid. I could have sworn they didn't. Maybe that was the hformat created volumes that didn't.

More specifically, Norton DiskDoctor does not crash to Linux, it hangs until I kill SheepShaver from Linux. My current hypothesis is that it may do some sort of indexing procedure on mounted volumes when it starts up, and the Linux volume may be utterly confusing it.

QUESTION: Is there any way (in SheepShaver or MacOS 9) to unmount the Linux volume?
gb
Real Swell Guy!
Posts: 115
Joined: Tue Jun 22, 2004 4:20 am

Re: More Info...

Post by gb »

GreenMan wrote:QUESTION: Does SheepShaver have an internal limit of 4 GB for a volume? Perhaps it uses unsigned 32-bit longs as file pointers?
Well, huh, there was a long standing typo, it's now fixed in CVS. ;-) Thanks for noticing it. Basilisk II had the same problem (same code).
QUESTION: Is there any way (in SheepShaver or MacOS 9) to unmount the Linux volume?
If you are root and the HFS partition you intend to use is mounted, Basilisk II / SheepShaver normally unmount those partitions because double mounting could corrupt the volume.
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

Regarding the Linux partition, I seem to be able to avoid mounting it by clearing the "Linux Root" field (which defaults to '/') in the first SheepShaver tab. I get no Linux volume on the Mac desktop.

Norton Utilities still won't run, though, so it must be something else.

Regarding the 4 GB limit, I built from CVS on or about July 15 and had the problem. I will try updating and see if something has changed.
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

I just deleted my old SheepShaver tree, checked out the latest (Jul 26) CVS, and built.

I am still unable to format a 6 GB hardfile, either Standard or Extended. 4 GB (4096 MB) and smaller work.
gb
Real Swell Guy!
Posts: 115
Joined: Tue Jun 22, 2004 4:20 am

Post by gb »

You likely haven't updated the Basilisk II tree...
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

You likely haven't updated the Basilisk II tree...
I updated both the BasiliskII and SheepShaver trees. I didn't actually build the BasiliskII tree, are there bits over there that need to be built first?

More info:

I just deleted both trees, checked both out from CVS, and rebuilt them, BasiliskII first, then SheepShaver. Same result : a hardfile of 4096 MB formats, a hardfile of 4100 MB fails.

I am running the X86_64 version of Fedora Core 4.

What was the relevant file(s) that changed? Maybe I can check it directly to make sure I have it.
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

AHA!!!!

I copied everything over to another machine running 32-bit Fedora Core 3, and it can initialize a large (>4096 MB) partition!

So, it would seem that it is a problem with the 64-bit stuff.
gb
Real Swell Guy!
Posts: 115
Joined: Tue Jun 22, 2004 4:20 am

Post by gb »

GreenMan wrote:So, it would seem that it is a problem with the 64-bit stuff.
Strange, I am testing in 64-bit mode by default. I will check.
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

Strange, I am testing in 64-bit mode by default. I will check.
gb : I think that FC4 uses gcc 4.0. Have you done any work with that compiler in 64 bits?

confirmed:

gcc version 4.0.0 20050519 ( Red Hat 4.0.0-8 )

On the FC3 32-bit system it is gcc 3.4.something.
gb
Real Swell Guy!
Posts: 115
Joined: Tue Jun 22, 2004 4:20 am

Post by gb »

GreenMan wrote:
Strange, I am testing in 64-bit mode by default. I will check.
gb : I think that FC4 uses gcc 4.0. Have you done any work with that compiler in 64 bits?
SheepShaver builds fine with gcc 4.0.1. It's just that I forgot to commit a file, simply cvs update -d in the Basilisk II tree, at least the Unix/sys_unix.cpp file. ;-)
GreenMan
Student Driver
Posts: 12
Joined: Wed Jul 20, 2005 2:09 am

Post by GreenMan »

Unix/sys_unix.cpp
That was it! I can now create, format and use hardfiles > 4 GB and I can format and use the spare 10 GB partition on my hard drive.

Many thanks, gb!
Post Reply