From owner-freebsd-geom@FreeBSD.ORG Sun Apr 15 12:53:14 2007 Return-Path: X-Original-To: freebsd-geom@freebsd.org Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EC89216A402; Sun, 15 Apr 2007 12:53:14 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [83.98.131.211]) by mx1.freebsd.org (Postfix) with ESMTP id B4ACF13C483; Sun, 15 Apr 2007 12:53:14 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 108DE1CC42; Sun, 15 Apr 2007 14:53:13 +0200 (CEST) Date: Sun, 15 Apr 2007 14:53:13 +0200 From: Ed Schouten To: Rink Springer , dwight@berendse.org Message-ID: <20070415125313.GS81821@hoeg.nl> References: <20070414115959.GN81821@hoeg.nl> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="IfZ+tgy+ooJOsAAy" Content-Disposition: inline In-Reply-To: <20070414115959.GN81821@hoeg.nl> User-Agent: Mutt/1.5.15 (2007-04-06) Cc: Laurens Timmermans , FreeBSD GEOM Subject: Re: New GEOM module: geom_xboxhd X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Apr 2007 12:53:15 -0000 --IfZ+tgy+ooJOsAAy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Ed Schouten 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 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--