Page 2 of 4

Posted: Thu Sep 16, 2004 11:21 am
by miurl
sorry, but this is not working, because there's nothing in /mnt/e?!?

some informations:
mount: Mounting /dev/ide/host0/bus0/target0/lun0/part50 on /mnt/disableformat fa
iled: No such file or directory
umount: /mnt/disableformat: Invalid argument
Stardust:> pwd
/mnt/e
Stardust:> mv oldinitrd.gz initrd.gz
mv: unable to rename `oldinitrd.gz': No such file or directory
and what's about the 3rd partition (/dev/hda3) ? Is it OK that I've made this partition in the range on sector 63-268435455, or is this assigned for the other partitions(C, D, ...)?

and as far as I can remember there was always a error message while booting, something like "/dev/hda55 not found" ... "Some local filesystem failed to mount!"

Posted: Fri Sep 17, 2004 3:43 am
by dito199
what command u use to mount the e drive that generate the following result? Does the directory /mnt/disableformat exist?
mount: Mounting /dev/ide/host0/bus0/target0/lun0/part50 on /mnt/disableformat failed: No such file or directory
umount: /mnt/disableformat: Invalid argument

By right the e drive is automounted. You dont need to do anything to access it. Can you also post the mount output?
#mount

Posted: Fri Sep 17, 2004 6:17 am
by miurl
hi!
I've installed Gentoox new, and run all your scripts!
now it works fine! (I've seen, that you've made some small changes in the script!)
maybe I've done something wrong in the first install!?!

My last questions:
Can I make a 3rd partition (/dev/hda3) at the unused sectors of my HDD or will this destroy something?
Which BIOS should I use? The Gentoox loader or the x2.4983? Does the Gentoox Loader 4.6 support splitted F&G Partitions?

Thanks
Miles

Posted: Fri Sep 17, 2004 9:53 am
by dito199
Gentoox bios doesnt care whether to split F+G because the partition and startup information are all contained in initrd.gz. If you use the other xbox bios, you may need to launch linux manually by running the gentoox.xbe.

The script is designed in a way to use up all your hard-disk and you wont have free space left for hda3. Otherwise, you can always create as many hda# using the fdisk tool by repeating the entire process again but give a smaller partition size for hda2.

Posted: Fri Sep 17, 2004 11:46 am
by miurl
The script is designed in a way to use up all your hard-disk and you wont have free space left for hda3. Otherwise, you can always create as many hda# using the fdisk tool by repeating the entire process again but give a smaller partition size for hda2.
That's what I don't understand: I'm using only 20GB of my 160GB HDD

Code: Select all

Disk /dev/ide/host0/bus0/target0/lun0/disc: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes

                                Device Boot      Start         End      Blocks   Id  System
/dev/ide/host0/bus0/target0/lun0/part1       268435456   268935456      250000+  82  Linux swap
/dev/ide/host0/bus0/target0/lun0/part2   *   268935457   312581807    21823175+  83  Linux
That was always my question in the last posts: What's about the first 268435455 Sektors of my HDD?
The last time when i created a partition from 63-268435455 my rootfs has been destroyed!

Posted: Fri Sep 17, 2004 2:37 pm
by dito199
C + E + F + X + Y + Z = 137 Gb

C, E, F, X, Y, Z are mapped between hda50 - hda 55

The partition is in the order of
C -> E -> X -> Y -> Z -> F

F span all the way to 137 Gb. And hda1 + hda2 are created after F as follow:
C -> E -> X -> Y -> Z -> F -> hda1 -> hda2

So, in order word your hda1 + hda2 = 160 - 137 = 23 Gb

Confuse yet? :roll:

Posted: Fri Sep 17, 2004 6:30 pm
by miurl
yes a little bit confused, but I understand what you want to tell me.
you said that all the drives are mapped between hda50-hda55, which are in the first 268435455 sektors, right?
So, when I create a partition (e.g. hda3) in that range I'll override all the hda5#, and also the rootfs,...?

I've tried to mount all the partitions:

Code: Select all

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda50             4998768   4371424    627344  88% /mnt/fatx/e
/dev/hda51              511904         0    511904   0% /mnt/fatx/c
/dev/hda52              767872         0    767872   0% /mnt/fatx/d
/dev/hda53              767872         0    767872   0% /mnt/fatx/f
/dev/hda54              767872         0    767872   0% /mnt/fatx/g
mount: special device /dev/hda55 does not exist
Why is the hda55 missing?

Posted: Mon Sep 20, 2004 1:20 am
by dito199
The easiest way to check all the existense of partitions is do "ls /dev/hda*".

What script you use to mount all the devices? Myabe you want to post the script here. The actual Xbox drive to hda mapping is as follow:

E -> /dev/hda50
C -> /dev/hda51
X -> /dev/hda52
Y -> /dev/hda53
Z -> /dev/hda54
F -> /dev/hda55
G -> /dev/hda56

D -> /dev/cdrom

hda55 should be there unless there is a mistake in your mount script. I suggest you:
1. Check syntax
2. Check the dev/hda? exist
3. Check the mount folder /mnt/? exist

Posted: Mon Sep 20, 2004 6:04 am
by dito199
Further note, if you've created hda3 in sector area of 63-268435455, you essentially create a partition that extend and cut-across into all the C+E+F+X+Y+Z partitions. I am not sure what the effect of this action but writing into this new hda3 will certainly overwrite data in C+E+F+X+Y+Z partitions and futher render the Xbox unusable for normal operation. If your data is indeed corrupted (you cant play game or load dashboard), you can try restoring the backup C+E data into the Xbox (you do take the backup, dont you). The last resolution is to re-initialize the hda partition table again using those homebrew app.

Posted: Mon Sep 20, 2004 6:45 am
by miurl
It havn't used a script for mounting the partitions; I've only mounted all the drives to check if the sum is 137GB, but it isn't!
The /dev/hda55/ doesn't exist; also while booting there's an error message: "special mount device /dev/hda55/ does not exist"
but I've a /dev/hda56 with 22GB space!

I guess I've forgotton to mention that I don't use the Xbox for playing anymore :wink: So I don't use all the c d e,... drives!
I've tried to do an native install, but the system halted with some errors!

I've already startet a new post with some questions:viewtopic.php?p=9735#9735

Posted: Tue Sep 21, 2004 2:27 am
by dito199
Some background info on the partitions. Because xbox partition is new, kernel hack is required to make OS recognize them as valid partitions with the special signature. Kernel will dynamically create all valid xbox partitions in the range of hda50 - 56 on boot time.

hda55 being the F drive, contain most of the (130 Gbs) hd space. In your case, the reason hda55 doesnt exist is bcos kernel does not recognize it as an Xbox partition anymore (xbox partition has a signature string in the header) hence ignore it. The only explanation I can think of is that your previous hda3 mess up the partition header and erase the xbox partition signature. It should be there in my case.

Again, hda56 represent the G drive and it house any spill over from 137Gb limit, which is roughly 22 Gb for a 160Gb hd. It shouldnt be there anymore after the native G installation because the drive space has been converted into hda1 and hda2. And it still shows in your system, weird...

If you dont use the console it for gaming, does that mean you always boot to dashboard? When you boot to dashboard, can you still access your C+E+F+G+X+Y+Z partitions? I am guessing you will have problem accessing the F drive.

Do you still have hda3? You should delete it.

Can you give an output for mount? I'd like to see if
/ is mounted on /dev/ide/host0/bus0/target0/lun0/part2 or
/ is mounted on /dev/hda50


If I were you, I will want to fix the partition header and recover my hda55 first before continue on.



Checking hda size

1. fdisk doesn't recognize hda50-56 partitions so you will see only part1 and part2 for "fdisk -u -l /dev/hda".

Code: Select all

Disk /dev/ide/host0/bus0/target0/lun0/disc: 160.0 GB, 160041885696 bytes 
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors 
Units = sectors of 1 * 512 = 512 bytes 

Device Boot      Start         End      Blocks   Id  System 
/dev/ide/host0/bus0/target0/lun0/part1       268435456   268935456      250000+  82  Linux swap 
/dev/ide/host0/bus0/target0/lun0/part2   *   268935457   312581807    21823175+  83  Linux 
This give you the total (non-xbox partition) hda1 and hda2 size.

2. Mount all the hda50-56 devices. And that gives you total (xbox partition) size.

Add Step 1 + Step 2 you should get 160Gb.

Posted: Tue Sep 21, 2004 6:46 am
by miurl
Hello!

You said that the partition information comes from the Linux kernel? So did we change anything in the kernel itself? Or why shouldn't there be a hda56 any more? As far as I understood your script we've zeroed the partitions table; is that the reason?
I only use hda50 (rootfs) hda1 as swap and hda2 as /
hda55: I can't access!
No I don't have a dashboard (evox or anything else); I've formated my disk and use Gentoox Boot Loader to boot up Linux directly!
No, I haven't created the hda3 partition, because I messed up my system the last time and now I'm waiting for further "instructions" :wink:

My mount table:

Code: Select all

/dev/hda2 on / type reiserfs (rw,errors=remount-ro)
none on /dev type devfs (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw)
/dev/ide/host0/bus0/target0/lun0/part2 on / type reiserfs (rw)
none on /proc type proc (rw)
none on /dev type devfs (rw)
/dev/hda50 on /mnt/fatx/e type fatx (rw,umask=0000)
none on /proc/bus/usb type usbfs (rw)
About the xbox partitions:
How do I recover hda55?
I only want to use almost the whole space of my hdd!
As you can see in one of my last posts, I've tried to mount all my partitions,....

*edit*
What disadvantages has fatx.fs in comparision to reiserfs? (speed?, length of filename?)

Thanks
Miles

Posted: Tue Sep 21, 2004 3:55 pm
by dito199
Now I am more clear how you are using the xbox :) I have 3 options for you.


First, if you want to maintain the xbox drive structure, you need to reinitialize your xbox hard-disk using homebrew tool such as slayer. The tool will recreate the entire C+E+F+G+X+Y+Z partitions. Then start the whole installation process again.


Second, if you dont care about F drive and you just want to recover the missing 120Gb.
1. Find the boundary of hda54 (assume x)
2. Find the beginning of hda56 (assume y)
3. Create a hda3 in start (x+1), end (y-1) location
4. Format hda3 as iserfs
5. Mount it as one of your partition


Lastly, if you want to convert the entire hd as native iserfs, this what you do. You need to maintain minimum the xbox E partition (hda50) to store the gentoox.xbe and initrd.gz. Basically you follow the same routine as I posted, but you delete away the unwanted F+G+X+Y+Z partitions

1. revert booting mode to original loopback e:\rootfs (replace initrd.gz with oldinitrd.gz)
2. find the boundary (assume x) of hda50
3. delete hda51,52,53,54,55,56 (see the example script)
4. create hda1 at x+1 for 256M.
5. At this point, you should have about 155Gb free space (E drive is 5Gb).
5. create as hda2 after hda1. This hda2 can now take all the 155 Gb, or you can split out as many partitions as you want (again see the example script).
6. Follow the example of the tutorial.

Cheers

Posted: Tue Sep 21, 2004 6:21 pm
by miurl
Thanks for all the possibilities! :shock: :D

But, how to I find the boundry for instance hda50?
When I try fisk -u /dev/hda50 I get a warning:

Code: Select all

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel 
I guess this is because of zeroing the partition table.

And there are no sectors or something like this fo a boundary?

I hope this will be my last question. 8)

Posted: Wed Sep 22, 2004 2:21 am
by dito199
fdisk will not recognize hda50-56 bcos fatx partition is new and the signature hasnt been updated into the program. Secondly fdisk works on block device (/dev/hda) only so you cant use it on /dev/hda50 etc.

I haven't got time to study the cromwell bios and I am assuming you still need the E fatx partition (hda50) to keep the gentoox.xbe + initrd.gz or else you wont be able to load at all. Otherwise, we can even probably convert the entire 160Gb.


Suggest you read up on this topic:
http://www.gentoo.org/doc/en/handbook/h ... t=1&chap=4

The sector address for Xbox partition is defined here:
http://cvs.sourceforge.net/viewcvs.py/x ... iew=markup

We can't collapse hda51-55 into one big space bcos hda50 is in the middle of the partitions so we will work on recovering the hda55 only.

Partition Order: hda52 | hda53 | hda54 | hda50 | hda51 | hda55 | hda56

hda55 is

Code: Select all

#define XBOX_SECTOR_EXTEND_F 0x00EE8AB0L
Start sector = 0x00EE8AB0L = 15633072
End sector = 0xFFFFFFFL - 1 = 268435454

With this piece of information, you can proceed to reclaim the hda55 into hda3.

Code: Select all

#Zero out partition header
dd if=/dev/zero of=/dev/hda seek=15633072 bs=512 count=1

#run fdisk
fdisk -u /dev/hda
 >n
 >p
 >3
 >15633072
 >268435454
 >w

#format hda3 to reiserfs
yes | /sbin/mkreiserfs /dev/ide/host0/bus0/target0/lun0/part3
And you are done.


There's an error in the my previous script as it zero out the wrong hda56 sector which explains why hda56 is still showing. Can you run this command? Gonna fix the script later.

Code: Select all

#Zero out partition header
dd if=/dev/zero of=/dev/hda seek=268435455 bs=512 count=1
After reboot, the system should not detect /dev/hda56 anymore.

Please double check my work b4 you proceed.