Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Apr 2007 14:53:13 +0200
From:      Ed Schouten <ed@fxq.nl>
To:        Rink Springer <rink@freebsd.org>, dwight@berendse.org
Cc:        Laurens Timmermans <laurens@timkapel.nl>, FreeBSD GEOM <freebsd-geom@freebsd.org>
Subject:   Re: New GEOM module: geom_xboxhd
Message-ID:  <20070415125313.GS81821@hoeg.nl>
In-Reply-To: <20070414115959.GN81821@hoeg.nl>
References:  <20070414115959.GN81821@hoeg.nl>

next in thread | previous in thread | raw e-mail | index | archive | help

--IfZ+tgy+ooJOsAAy
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Ed Schouten <ed@fxq.nl> wrote:
> Linux has an evil hack to work around this; they have modified the x86
> partition table code to start at 7645MB and create some device nodes
> (hda51 to hda55) which represent the partitions from the Xbox itself. I
> just wrote a GEOM module that just generates ad0s1 to ad0s5 and when the
> disk is big enough an ad0s6.

After some more research; it looks like we don't need to modify
sysinstall to make it work on the Microsoft Xbox. The Linux folks do
write the MBR at the beginning of the disk and hope that the original
software doesn't touch it afterwards (which it doesn't). The first
partition in the partition table always starts at 15633072 sectors.

So I just altered the GEOM_XBOXHD module to not create our scratch space
at the end. We always create 5 slices, pointing to the partitions used
by the Microsoft Xbox itself. You don't really need the module, but it
could come in handy for folks who want to tamper around with FATX.

When you install FreeBSD, go to the partitioning dialog and create a
partition with a size of 15633072 sectors. Then create a second
partition after that and delete the first one. You should do something
like this:

	http://g-rave.nl/junk/freebsd-xbox-partition.png

When done, install FreeBSD like you normally do. When done, the contents
of /dev/ should look like this:

| $ ls -l /dev/ad0??
| crw-r-----  1 root  operator    0,  94 Apr 15 14:27 /dev/ad0s2
| crw-r-----  1 root  operator    0, 118 Apr 15 14:27 /dev/ad0x1
| crw-r-----  1 root  operator    0, 119 Apr 15 14:27 /dev/ad0x2
| crw-r-----  1 root  operator    0, 120 Apr 15 14:27 /dev/ad0x3
| crw-r-----  1 root  operator    0, 121 Apr 15 14:27 /dev/ad0x4
| crw-r-----  1 root  operator    0, 122 Apr 15 14:27 /dev/ad0x5

The s2 is the partition with FreeBSD and x[1-5] are the slices which
contain the Xbox filesystems. Rink/Dwight, can you create a new install
CD with the latest geom_xboxhd module and test whether you're able to
install an Xbox with FreeBSD, which still boots the original software
and FreeBSD after the installation?

We should probably write a HOWTO when all of this works. I know it's a
dirty approach, but it's compatible with Xbox-Linux, which also means it
should probably work with an unmodified version of Cromwell. You should
also be able to create a system that can still start games, boot Linux
and FreeBSD as well.

Yours,
--=20
 Ed Schouten <ed@fxq.nl>
 WWW: http://g-rave.nl/

--IfZ+tgy+ooJOsAAy
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFGIiA552SDGA2eCwURAidtAJ4j4hAbHFdWjnsAT8w1kAlynx+eUACeJiON
JZd5lyqoUyyKwksxoLZ0ck8=
=bDdT
-----END PGP SIGNATURE-----

--IfZ+tgy+ooJOsAAy--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070415125313.GS81821>