Jump to content


Photo

XBPartitioner Version 1.1


  • Please log in to reply
54 replies to this topic

#16 RolfLobker

RolfLobker

    X-S X-perience

  • Members
  • PipPip
  • 444 posts
  • Location:Netherlands
  • Xbox Version:v1.4

Posted 30 June 2008 - 08:18 PM

QUOTE(quell @ Jun 30 2008, 05:37 PM) View Post

Are you guys using adapters or something? I thought 1Tb drives are only SATA?


1TB P-ATA drives are freely available.

#17 Bandit5317

Bandit5317

    X-S Genius

  • Members
  • PipPipPipPip
  • 881 posts

Posted 01 July 2008 - 04:33 AM

QUOTE(quell @ Jun 30 2008, 11:37 AM) View Post

Are you guys using adapters or something? I thought 1Tb drives are only SATA?

You can buy SATA to IDE adapters, which is what anyone puting a SATA hdd in their xbox uses. Some people have had problems with drives using these adapters, though.

I know the xbox uses the FatX file system, but I was thinking about it and realized that these guys essentially just created the Fat64 and Fat128 file systems, at least I think wink.gif .

#18 mikeraach

mikeraach

    X-S Enthusiast

  • Members
  • 11 posts

Posted 01 July 2008 - 07:47 PM

I've had my xbox mess up as well after it had been working fine for a long time. When I would transfer a new file to a partition, the file would be corrupt, and I even found that some of the other files on that partition would become corrupt (it would flash segments of video from the file I was copying when playing the file that was already there). Is this a cause from using the default cluster size? A reformat fixed it---until it did it again 6 months ago. I'm afraid that its going to happen again....

QUOTE(alexh @ Jun 29 2008, 07:39 PM) View Post

Brilliant, couldn't come at a better time. I am retiring my old 750Gig PATA drive from my main PC for two new 1TB SATA drives. It will be good to know I can use it safely.

Last year I lost a load of data on my 400Gig drive because it had the default cluster size... worked fine for ages and then bang... started loosing DIR's and files :-(



#19 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 02 July 2008 - 12:22 AM

QUOTE(Bandit5317 @ Jul 1 2008, 05:09 AM) View Post

I know the xbox uses the FatX file system, but I was thinking about it and realized that these guys essentially just created the Fat64 and Fat128 file systems, at least I think wink.gif .

The '32' in 'FAT32' refers not to the size of the clusters, but to the length of each FAT entry. The FAT is, essentially, an array of pointers*, so with 16-bit pointers, the array can be only 2^16 long. (If it were longer, there would be no way to point at any entry after the 2^16th one). 32-bit pointers mean 2^16 more clusters.

All this does is increase the cluster size, not the number of clusters there are. FATX32**, were it to exist, would be able to handle 4k clusters on multi-terabyte drives.


* Each directory entry points at a single cluster. To read the file, you go read that cluster, and then look the cluster number up in the FAT. If the FAT entry points to another cluster, you read that one and look that one up, until you get to a FAT entry that marks the end of the file.

** Not to be confused with FAT32X, which (IIRC) is just FAT32 in a partition that extends beyond the ~0.12GB LBA barrier.


------------------------------------------------------

Hey, Xbox-Scene guys!

How about updating http://xbox-scene.com/bios_retail.html so's it tells us which BIOSes support this XBPartitioner partition table?

That is, if you're not too busy hunting down price-cut rumours, Microsoft press-releases, and random stuff you found on a blog to pad the front page with.



#20 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 02 July 2008 - 12:50 AM

QUOTE(mikeraach @ Jul 1 2008, 08:23 PM) View Post

I've had my xbox mess up as well after it had been working fine for a long time. When I would transfer a new file to a partition, the file would be corrupt, and I even found that some of the other files on that partition would become corrupt (it would flash segments of video from the file I was copying when playing the file that was already there). Is this a cause from using the default cluster size? A reformat fixed it---until it did it again 6 months ago. I'm afraid that its going to happen again....

QUOTE

Insanity: doing the same thing over and over again and expecting different results.

-- Albert Einstein, (attributed)


Yes, this is a result of using the default cluster size, and thus making a filesystem that's too small for the partition that contains it. What's happening is that at some point the FATX driver overflows, causing the target cluster to wrap around, and start writing from the front of the drive again.

Obviously this will overwrite files that are already there, or (if you're lucky) the boot block or FAT.

Consensus seems to be that the Xbox is artificially limited* to 2^24 clusters, so 16k clusters will get you 256GB; 32k, 512GB; and 64k, 1024GB partitions that don't corrupt themselves. But I've not had any reason to try any of this, so don't take my word for it; do some research.

* (The theoretical limit is 2^28, and there's no reason a closed platform like FATX couldn't use the whole 32-bit field for 2^32 clusters. IIRC, 9x is capped at 2^22, and has other limits as well)

#21 bmcclint

bmcclint

    X-S Young Member

  • Members
  • Pip
  • 43 posts

Posted 02 July 2008 - 04:38 AM

I went down this road about a year ago but no real answers.

It reads like some BIOSs can read the partition table from the disk rather than from the BIOS so this suggests that a custom layout can be accomplished. Has anyone ever experimented with this?

Thoughts are using a 1GB flash with a basic C, X, Y, and Z and the rest an E drive enough to store XBMC. Since I stream everything to the system no need for a 8GB disk or an optical. Solid state XBOX.

Anyway...anyone have pointers? What BIOS to use and will xbpartitioner allow me to create a legal file system on a 1GB CF card?

Thanks...

#22 ldotsfan

ldotsfan

    X-S Messiah

  • Dev/Contributor
  • PipPipPipPipPipPipPip
  • 3,100 posts
  • Xbox Version:v1.1
  • 360 version:unknown

Posted 02 July 2008 - 02:08 PM

QUOTE(bmcclint @ Jul 2 2008, 12:14 PM) View Post

I went down this road about a year ago but no real answers.

It reads like some BIOSs can read the partition table from the disk rather than from the BIOS so this suggests that a custom layout can be accomplished. Has anyone ever experimented with this?

Thoughts are using a 1GB flash with a basic C, X, Y, and Z and the rest an E drive enough to store XBMC. Since I stream everything to the system no need for a 8GB disk or an optical. Solid state XBOX.

Anyway...anyone have pointers? What BIOS to use and will xbpartitioner allow me to create a legal file system on a 1GB CF card?

Thanks...

It's not just bios support. You won't be able to find a dash that handles non-standard sizes for X,Y,Z,C,E.

#23 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 02 July 2008 - 08:05 PM

QUOTE(ldotsfan @ Jul 2 2008, 02:44 PM) View Post

It's not just bios support. You won't be able to find a dash that handles non-standard sizes for X,Y,Z,C,E.

XBMC would probably work. And if not, it's GPL, so it could certainly be modified to work. I'd assume most dashboards will work out the box, though: I don't know of one that can't cope with the much enlarged E drive of the debug Xbox.

If you used a 1GB CF, you wouldn't be able to play games anymore (even from DVD): they need their 1GB cache partition, and can't work without it. I don't think XBMC is too happy about running out of cache space either. 4GB might be a goer, though.

#24 ldotsfan

ldotsfan

    X-S Messiah

  • Dev/Contributor
  • PipPipPipPipPipPipPip
  • 3,100 posts
  • Xbox Version:v1.1
  • 360 version:unknown

Posted 03 July 2008 - 03:10 PM

QUOTE(MrFish @ Jul 3 2008, 03:41 AM) View Post

XBMC would probably work. And if not, it's GPL, so it could certainly be modified to work.

It's a lot of work. The FATX support in XBMC still depends on the kernel. Writing the filesystem support from scratch is going to be quite a big project by itself.

#25 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 03 July 2008 - 07:07 PM

QUOTE(ldotsfan @ Jul 3 2008, 03:46 PM) View Post

It's a lot of work. The FATX support in XBMC still depends on the kernel. Writing the filesystem support from scratch is going to be quite a big project by itself.

Don't follow: this newspost is about a utility that (with the help of compatible kernels) manipulates custom partition tables. The work's been done already.

The only modification necessary to XBMC would be to correct any assumptions it was making about free space.

#26 ldotsfan

ldotsfan

    X-S Messiah

  • Dev/Contributor
  • PipPipPipPipPipPipPip
  • 3,100 posts
  • Xbox Version:v1.1
  • 360 version:unknown

Posted 04 July 2008 - 03:28 PM

QUOTE(MrFish @ Jul 4 2008, 02:43 AM) View Post

Don't follow: this newspost is about a utility that (with the help of compatible kernels) manipulates custom partition tables. The work's been done already.

The only modification necessary to XBMC would be to correct any assumptions it was making about free space.


http://xbmc.svn.sour...bmc/FileSystem/

Can you point out the relevant files to change?


#27 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 05 July 2008 - 06:40 AM

QUOTE(ldotsfan @ Jul 4 2008, 04:04 PM) View Post

http://xbmc.svn.sour...bmc/FileSystem/

Can you point out the relevant files to change?

Stop obsessing about the filesystem. That's handled by the API the XDK provides. XBMC doesn't deal with the filesystem directly which is why you can run it on a debug Xbox, even though the E drive is the wrong size. FWIW, the 'filesystem' directory you posted is all code that implements a VFS that can access (amongst other things) the XDK-provided FATX code. It's what lets mplayer, the audio player, etc. open stuff over SMB, play stuff from inside RARs, etc. It's got nothing to do with getting data off the disk; that's handled with the standard API calls. If everyone had to write their own FATX support, there's no way your Xbox would last more than a week or two without the disk getting trashed.

The assumptions you'll need to look for are things like trying to decompress the weather icons onto a scratch partition that's no-longer big enough. They'll be all over the shop, and you'll probably won't find them in one go (unless you happen to regularly use a hundred percent of XBMCs features). Find/replacing accesses to the scratch partition with accesses to a directory in E would probably be a good start, though.

#28 ldotsfan

ldotsfan

    X-S Messiah

  • Dev/Contributor
  • PipPipPipPipPipPipPip
  • 3,100 posts
  • Xbox Version:v1.1
  • 360 version:unknown

Posted 05 July 2008 - 07:09 AM

QUOTE(MrFish @ Jul 5 2008, 02:16 PM) View Post

That's handled by the API the XDK provides. XBMC doesn't deal with the filesystem directly which is why you can run it on a debug Xbox, even though the E drive is the wrong size. FWIW, the 'filesystem' directory you posted is all code that implements a VFS that can access (amongst other things) the XDK-provided FATX code. It's what lets mplayer, the audio player, etc. open stuff over SMB, play stuff from inside RARs, etc. It's got nothing to do with getting data off the disk; that's handled with the standard API calls. If everyone had to write their own FATX support, there's no way your Xbox would last more than a week or two without the disk getting trashed.

Precisely because FATX support depends on XDK API hence it's not going to be easy when you change the standard partition sizes to fit 1GB. You can't depend on the XDK anymore - you have to write your own filesystem code - that's what I was trying to say. I don't think you will find direct references to scratch partitions in the XBMC code - it's probably created by the API calls during execution - but I could be wrong.



#29 MrFish

MrFish

    X-S X-perience

  • Members
  • PipPip
  • 369 posts
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 05 July 2008 - 06:30 PM

QUOTE(ldotsfan @ Jul 5 2008, 07:45 AM) View Post

Precisely because FATX support depends on XDK API hence it's not going to be easy when you change the standard partition sizes to fit 1GB. You can't depend on the XDK anymore - you have to write your own filesystem code - that's what I was trying to say.


There's no way the Xbox can't support a filesystem smaller than 1GB: The C partition, out of the box, is only 500MB long. The XDK code doesn't know or care how the disk is layed out: if it did, then nothing would work on the debug xboxen, and for games to run off the F drive, every game manufacturer in existence would have to have written in support for every conceivable size the F drive might be (and to run off the G drive, they'd have had to have predicted the future invention of LBA48).

The FATX driver manipulates filesystems not on the raw disk, but on block devices provided by the kernel; to change the size of the partition, you just need to change the size of the block device. Just modify the BIOS to map the block devices onto the disk differently, and you'll have differently-sized filesystems (assuming you format them; otherwise you'll have differently-sized partitions full of bollocks). Because the FATX driver is the only thing that sees any changes, you don't need to make any changes to anything at a higher level than it: the only thing you have to do is modify the partition table, and format the partitions. No changes are needed in userland, barring obvious things like not trying to use space you don't have.

And you don't even need to hack any BIOS: the work's already been done. Just flash an LBA48v2 BIOS, fire up XBpartitioner, make partition 2 500MB, partition 1 250MB, and partitions 3-5 50MB each. Reboot, format, job done.

Even in the highly unlikely event that you're right about FATX not working on partitions smaller than the ones the xbox ships with, it still makes no difference to your ability to use XBMC: there's plenty room to install it on the C drive, and the C drive is the exact same size as on a standard Xbox. There's no way that can't work.*

Hell, if you used a 2BG card you could play games: make partition 2 500MB, partition 1 250MB, and partitions 3-5 750MB and overlapping each other. As far as the Xbox is concerned, the X, Y and Z drives are all valid, and just happen to have the same data on them. As long as you never write to more than one at a time (which you won't, unless you explicitly try to), you won't corrupt the FS, and even if you do, so what? It's just a disk cache. You'd probably need to blow away localcache00.bin on every boot, but that's a trivial modification.

QUOTE(ldotsfan @ Jul 5 2008, 07:45 AM) View Post

I don't think you will find direct references to scratch partitions in the XBMC code - it's probably created by the API calls during execution - but I could be wrong.

IIRC, XBMC does mess around with the mounts while it's loading (mostly to move the D drive to be the Q drive, but also to mount the userprofile to a drive), but it is very likely that it does just use the scratch partition it's been assigned. Most straightforward hack would be to remap it onto somewhere on the E drive when the rest of the drive letters are getting remapped.





#30 hoof_hearted

hoof_hearted

    X-S Enthusiast

  • Members
  • 14 posts

Posted 06 July 2008 - 02:46 AM

QUOTE(AWD Bus @ Jun 30 2008, 07:49 AM) View Post

Xbins. Just search for that and you will know more.


How do you download from there? That just had NFO. I've been searing all over (including rapidshare, torrents, etc). I am at my wits end. No one on the web has this. I am used xbpartitioner 1.0 and my F drive went corrupt (had it as one big drive and using a 400G HD, softmod). I tried to redo the partition, but xbpartitioner seems to be locked now (just shows my hd already partitioned, but 'A' won't cycle the options) I was going to try two HDs (F and G), but can't seem to get that now.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users