xboxscene.org forums

Pages: 1 ... 3 4 [5]

Author Topic: Idea On How To Format Large Hard Drive With 64k Clusters  (Read 283 times)

lordvader129

  • Archived User
  • Hero Member
  • *
  • Posts: 5860
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #60 on: May 16, 2008, 04:46:00 PM »

i havent been able to compile bomb's new version (the one from pastebin) although i dont know if the issue is in the code or just how im pasting it

bomb, if you can zip up the source files and host them somewhere i can try to compile it for you (if you dont have anywhere to put it i can set up an FTP account for you on my website)
Logged

Bomb Bloke

  • Archived User
  • Hero Member
  • *
  • Posts: 2398
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #61 on: May 17, 2008, 02:02:00 AM »

It was the code. Turns out this compiler doesn't like me referring to subs (or methods, or functions... Whatever they're called in C) before I've defined them. That actually sounds reasonable when I say it like that... But it's not a limitation I'm used to.

Anyway! This new one compiles just fine, and at least runs on my console. Didn't try formatting with it of course.  wink.gif

To clarify the differences, this one no longer lets you select the cluster size with the Y button - Instead it does it on it's own. This makes it impossible to test large clusters without actually formatting a large partition, but reduces the possibility of user error down to about nil.  smile.gif

It also deals with the issue ldots mentioned when formatting all partitions at once.
Logged

lordvader129

  • Archived User
  • Hero Member
  • *
  • Posts: 5860
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #62 on: May 17, 2008, 08:49:00 AM »

QUOTE(Bomb Bloke @ May 17 2008, 12:38 AM) View Post

It was the code. Turns out this compiler doesn't like me referring to subs (or methods, or functions... Whatever they're called in C) before I've defined them. That actually sounds reasonable when I say it like that... But it's not a limitation I'm used to.

Anyway! This new one compiles just fine, and at least runs on my console. Didn't try formatting with it of course.  wink.gif

To clarify the differences, this one no longer lets you select the cluster size with the Y button - Instead it does it on it's own. This makes it impossible to test large clusters without actually formatting a large partition, but reduces the possibility of user error down to about nil.  smile.gif

It also deals with the issue ldots mentioned when formatting all partitions at once.

how difficult would it be to cahnge the thresholds to format a 1gb drive with 16k, 2gb with 32k and 4gb with 64k? then you should be able to check with a stock 10gb drive

QUOTE(stu38037 @ May 17 2008, 06:26 AM) View Post

How do you check free space with kb accuracy? XBMC and FTP programs only show MB... ?  sad.gif sad.gif

i used mxm, i believe evox can also display the free space in bytes
Logged

Bomb Bloke

  • Archived User
  • Hero Member
  • *
  • Posts: 2398
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #63 on: May 17, 2008, 09:07:00 AM »

QUOTE(lordvader129 @ May 18 2008, 03:25 AM) View Post
how difficult would it be to cahnge the thresholds to format a 1gb drive with 16k, 2gb with 32k and 4gb with 64k? then you should be able to check with a stock 10gb drive

Not that hard, now that you mention it. Take this line in the last source I posted:

QUOTE("Line 924")
ULONG compare = 0x20000000;

And change it to this:

QUOTE("Line 924")
ULONG compare = 0x200000;

This'll function more or less the way you suggested: Anything under 1gb will use 16kb clusters, up to 2gb will be 32kb, and between that and the 4gb mark it'll use 64kb.

It seems I have a WD drive under my desk here... It could well have been left over from a HDD upgrade in the past. I'll  see what's on it and if it's indeed an old X-Box drive I'll see if I can get some formats done on that.
Logged

ldotsfan

  • Archived User
  • Hero Member
  • *
  • Posts: 2072
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #64 on: May 17, 2008, 09:21:00 AM »

QUOTE(ldotsfan @ Apr 22 2008, 10:43 AM) View Post

I'm making the same changes to mkfs.fatx in xboxhdm so that we can finally rebuild F drive with 32k/64k clusters with xboxhdm as well.

I'm following all the latest development of xbpartitioner with interest. Unfortunately xboxhdm2 won't be able to duplicate its functions so the ability to format F or G drive with 32k/64k clusters shall remain the exclusive right of xbpartitioner for now. I believe the bigger cluster size puzzle is solved for xbox linux but I don't have the ability to figure out how to create a oz_paulb LBA48 partition table that xbpartitioner is creating to hold all the non-stock partition infos.

Anyway back to the thread, so lordvader you are saying we can now test the 64k cluster size with any stock 10gb drive with bomb bloke's latest patch at line 924?

Logged

Bomb Bloke

  • Archived User
  • Hero Member
  • *
  • Posts: 2398
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #65 on: May 18, 2008, 01:42:00 AM »

Had a bit of a play today. Turns out I don't have any spare 10gb drives (only 8gb ones) but I found my console was quite happy to boot if I messed with the size of the E: partition.

EvoX vowed and declared that it was using 16kb clusters no matter size I formatted with though. Found XBP wouldn't show me the cluster size it was going to use, either. Made a few cosmetic changes so that it actually displays the recommended size whenever you highlight a partition (new source here).

Also realised that XBP was calling a megabyte "a million bytes", so I fixed that and also made it so that the "extra" partitions are displayed in gigabytes. Just makes things a little clearer (in that you'll now see it tick over to 32kb clusters as soon as you reach 256gb, then go up to 64kb clusters as soon as you reach 512gb, and so on).

With that new code in place I could at least see that XBP was trying to use the right cluster sizes... So I'll just put the problem down to EvoX mis-reporting the free space, or the BIOS ignoring the custom cluster size for E:. After all, if wildonrio's 750gb drive isn't corrupted, it must be working as it should.
Logged

ldotsfan

  • Archived User
  • Hero Member
  • *
  • Posts: 2072
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #66 on: May 18, 2008, 06:01:00 PM »

QUOTE(Bomb Bloke @ May 18 2008, 04:18 PM) View Post

With that new code in place I could at least see that XBP was trying to use the right cluster sizes... So I'll just put the problem down to EvoX mis-reporting the free space, or the BIOS ignoring the custom cluster size for E:. After all, if wildonrio's 750gb drive isn't corrupted, it must be working as it should.

I think you have done all the reasonable things to ensure the code is right so is it time to release it to the usual place but with a disclaimer? It's only for those who want 64k clusters for some reason and are willing to take a bit of calculated risk.
Logged

kingroach

  • Archived User
  • Hero Member
  • *
  • Posts: 1522
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #67 on: May 18, 2008, 07:45:00 PM »

QUOTE(ldotsfan @ May 17 2008, 04:57 PM) View Post

I'm following all the latest development of xbpartitioner with interest. Unfortunately xboxhdm2 won't be able to duplicate its functions so the ability to format F or G drive with 32k/64k clusters shall remain the exclusive right of xbpartitioner for now. I believe the bigger cluster size puzzle is solved for xbox linux but I don't have the ability to figure out how to create a oz_paulb LBA48 partition table that xbpartitioner is creating to hold all the non-stock partition infos.

Anyway back to the thread, so lordvader you are saying we can now test the 64k cluster size with any stock 10gb drive with bomb bloke's latest patch at line 924?



its possible to create 32K/64K cluster size disk with existing xboxhdm..  I actually had the script but I lost it.. but its not that hard.. you need to change some line in xbxohdm script called "xboxhd".. heres the part thats needs to change:

CODE
        dd if=/xboxhdm/xbox/head.raw of=/dev/hda bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=1      bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=1501   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=3001   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=4501   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=5501   bs=512k 2> /dev/null


if you want to create 32k cluster then replace bs=32k and multiply seek by 4 times.
Logged

ldotsfan

  • Archived User
  • Hero Member
  • *
  • Posts: 2072
Idea On How To Format Large Hard Drive With 64k Clusters
« Reply #68 on: May 18, 2008, 08:27:00 PM »

QUOTE(kingroach @ May 19 2008, 10:21 AM) View Post

its possible to create 32K/64K cluster size disk with existing xboxhdm..  I actually had the script but I lost it.. but its not that hard.. you need to change some line in xbxohdm script called "xboxhd".. heres the part thats needs to change:

CODE
        dd if=/xboxhdm/xbox/head.raw of=/dev/hda bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=1      bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=1501   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=3001   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=4501   bs=512k 2> /dev/null
        dd if=/xboxhdm/xbox/fatx.raw of=/dev/hda seek=5501   bs=512k 2> /dev/null


if you want to create 32k cluster then replace bs=32k and multiply seek by 4 times.

It's a bit more complicated than that: http://forums.xbox-s...howtopic=648321
The FATX partition header needs to be changed as well, I actually modified the code for mkfs.fatx to do that already. But xbpartitioner actually goes one step further, I looked at the code, the oz_paulb styled partition table is stored on the hdd as well. I couldn't find any equivalent in xbox linux - I found a patch against the 2.4.32 kernel that allows it to read the oz_paulb's LBA48 partition table but not create one from scratch. So I'm quite sure as of now, xbpartitioner is the only tool that does this correctly.



Logged
Pages: 1 ... 3 4 [5]