[Cooker] Xbox version - installer problem
Hi! I am working on an adaption of 9.1 RC2 for the Xbox. I am currently working on the installation system. I am using an Xbox-patched version of the 2.4.21-0.11mdkBOOT kernel and I'm trying to get the installation X server running. I did this before in Mandrake 9.0 and it worked quite well. The Xbox bootloader sets up a 640x480x32bpp (BGRX) screen (VESA framebuffer driver), and after patching install_gtk.pm to write an X configuration file with a screen depth of 32 instead of 16, the installation X server (XFree/FB 3.3.6) detected and used the screen for the installation procedure. Now on 9.1 RC2 everything is the same. The same X server binary is identical, install_gtk.pm creates the same X server config file - again I patched it to 32 bits. But this time, the X server keeps complaining: ---snip--- (**) FBDev: Using default frame buffer video mode Fatal server error: fbdevScreenInit: unable to set screen params (Invalid argument) ---snip--- In 9.0 it printed some information about the screen, like 4096 KB RAM, 32 bpp and everything, this time I get no such statistics, just this error. I compared the kernel .config with the 2.4.19-16mdkBOOT one of 9.0, and the framebuffer configuration seems to be identical. Any ideas? Michael
[Cooker] 'NETGEAR MA401RA Wireless PC' Patch for Mandrake 9.1 beta 3
Hi there! 1. Great work everyone. 2. The 'NETGEAR MA401RA Wireless PC' (a PCMCIA WLAN card) is orinoco_cs.o compatible, but it doesn't get detected by default neither by Mandrake 9.1 beta 3 nor by older versions. This can be easily fixed by adding these lines to /etc/pcmcia/config: card "NETGEAR MA401RA Wireless PC" manfid 0x000b, 0x7300 bind "orinoco_cs" After adding this, the card gets detected at boot time and the driver gets loaded, and DrakConnect can be used to configure it. I hope that you can add this patch to the final version of Mandrake 9.1, and... keep up the good work! Michael P.S.: Please send replies to this mail to me directly, because I am not currently subscribed to the mailing list. Thanks.
Re: [Cooker] Xbox Linux: Installer Xbdev at 32 bit?
On Saturday, Oct 12, 2002, at 11:46 Europe/Berlin, Pixel wrote: >> I strongly suspect that it's the color depth. The installer X server >> uses 16 >> bit framebuffer, right? At the moment, the Xbox framebuffer only >> supports 32 >> bit. Can anyone please tell me what exactly this installer X server >> is and >> with what settings it has been compiled? > > it is still XF86_FBDev (XFree 3.3) > > anyway the culprit is install_gtk::createXconf which has 16bpp > hardwired. Change this and all should be nice :) Thanks a lot, it really was this easy. With the kernel patches and some "16"s replaced with "32"s in the Perl file, the installer runs now. Michael
[Cooker] Xbox Linux: Installer Xbdev at 32 bit?
Hi! I patched the boot kernel to support the Xbox, and I can run stage 1 already, with keyboard support. Stage 2 also loads correctly, but the X server doesn't start. I don't remember the correct error, but it was something like "invalid settings". I strongly suspect that it's the color depth. The installer X server uses 16 bit framebuffer, right? At the moment, the Xbox framebuffer only supports 32 bit. Can anyone please tell me what exactly this installer X server is and with what settings it has been compiled? At the moment, I see no other way than recompiling it with 32 bit video support. Michael
Re: [Cooker] Xbox Linux support for Mandrake
Originally, we had an additional partitioning module in the kernel for Xbox partitioning. Now our code makes it possible to use both partitioning schemes in parallel: The PC partition table is read first, and the Xbox partitions (which may of course overlap) will be added after the PC partitions, in the /dev/hda? numbering. This way, the user can access the Xbox partitions, and can partition the free space on the hard disk (the space above 8 GB; we can use replacement hard disks; the Xbox kernel only uses 8 GB) using a PC partition table. If we can avoid overlapping partition, this can be fine (else user may do dangerous things). If the partition are not complicated (?), we can add the native support directly so that the first 8GB will naturally be reserved instead of hacking the current partition scheme used for PC. The problem is that the Xbox has no partition table, the partitioning is implicit. It looks like this on all boxes: 1: 0.5 - 750.5 MB (temp 1) 2: 750.5 - 1500.5 MB (temp 2) 3: 1500.5 - 2250.5 MB (temp 3) 4: 2250.5 - 2750.5 MB (boot) 5: 2750.5 - 8 GB (data) We cannot change this partitioning, the Xbox system software always uses this table. Of course we could extend the partition table: We could add an additional partition table at 8 GB with the partitioning information for the space above 8 GB. Because it was quite easy, we used the PC partitioning system in our current versions; the first sector on the Xbox HD is unused anyway. The user just had to avoid partitioning any of the space up to 8 GB. We're not certain yet how to handle this. Our Xbox Linux Mandrake installer marks the space up to 8 GB as partition 4, and the user is free to create partitions 1 to 3 and 5+ in the unallocated space. If the installer (and command line fdisk) were extended to mark the space up to 8 GB as unavailable if it's an Xbox drive, this would be the most beautiful method, I think. We don't have Xbox here so you will have to provide information on how to proceed, maybe Micro$oft will give us a Xbox for that ... I'll have a look at the installer and add Xbox support myself; if there are any problems, I'll ask in the mailing list, okay? Or directly to me and pixel as you wish. François.
Re: [Cooker] Xbox Linux support for Mandrake
On Friday, Oct 11, 2002, at 12:29 Europe/Berlin, Warly wrote: >> How is the boot kernel stored on the Installation CD when booting from >> SYSLINUX? Our default.xbe bootloader requires the kernel and the >> initrd to be files in the UDF file system, it would be cool if they >> didn't have to be duplicated. > > It is OK then as they are in isolinux/alt0/all.rdz and > isolinux/alt0/vmlinux > for isolinux. Is the .config file for the isolinux/alt0/vmlinux kernel available? Is it different from the standard kernel configuration? I have to apply some patches; it shouldn't be necessary to modify the initrd. I'm sorry if I'm asking newbie questions, just tell me where to go and I'll be happy. Michael
Re: [Cooker] Xbox Linux support for Mandrake
On Friday, Oct 11, 2002, at 12:31 Europe/Berlin, Guillaume Cottenceau wrote: > I'd like to know if there are real chances that we could boot off > an Installation CD or an hard drive containing Linux -without- a > modded chip, in the future? 1) If MS cryptographically signs our bootloader. 2) If we find a bug in the Xbox system software. Well, perhaps. > If not, I think we have to think if it's better to add the > additional required files (default.xbe) and code (kernel patches, > bootloader installer etc) with possibly bugs affecting the > "normal" PC users, if it's only usable by people with a modded > Xbox (many people would "fear" to mod their, plus there are > potential legal issues I suppose?). Our kernel patches are likely to be included into our standard kernel and will not interfere with PCs. About the legal problem: 1) We're working on a replacement ROM that will completely replace the MS system software, so there cannot be a legal problem any more. 2) Even with MS' hacked system software, I don't see a problem for the end user, because he has bought a legitimate copy of the Xbox system software and he is free to modify it. Although you need a modded Xbox at the moment, there are already quite many people that are interested in Xbox Linux already! We have had more than 13,000 downloads of our 350 MB ISO within three days! Virtually everyone who owns a modded box is interested in Xbox Linux. Michael
Re: [Cooker] Xbox Linux support for Mandrake
>> Booting from HD works like this: >> If there is no bootable media in the Xbox DVD drive, it starts the >> file >> xboxdash.xbe from the fourth partition on the hard disk, which is a >> FATX >> filesystem. We could make Mandrake mount this partition as /boot, as >> it >> contains the kernel and the initrd; and it will also contain >> xboxdash.xbe, >> which is our bootloader. > > that means /boot will not allow symlinks? Not at the moment, just as FAT, but we're working on a compatible extension of FATX to allow symlinks and everything, just like UMSDOS. > some code in the installer used to allow this (for the time when we > configured loadlin only), but i don't know if it still works nicely. > > what is the format of the config file? lilo-like? Its format is compatible with GRUB & SYSLINUX. It looks about like this: kernel boot\vmlinuz initrd boot\initrd append root=/dev/hda2 it can also look like this: kernel boot\vmlinuz initrd=boot\initrd root=/dev/hda2 Note that the bootloader runs in the Xbox kernel environment, which is basically an NT environment, so the partition names differ, filenames are case insensitive etc. > hint for the code, file bootloader.pm: > > - function "suggest": decides which bootloaders are allowed (search > yaboot) > - functions install_*: install the bootloader (beware install_silo is > not a good example and may be outdated) Thanks, I'll have a look at it. > hint for the code: > > - partition_table::read_one tries to recognize the partition table type > - it uses partition_table::*::read which detects the partition table > - the various partition_table/*.pm inheritates from > partition_table/raw.pm Thanks. >> 3) XFree Configuration >> The XFree configuration program has to write its own XF86Config-4, if >> we're on >> an Xbox. Well, perhaps the standard routines will work out of the box. > > it should :) Oh, I forgot: On the Xbox, there has to be an additional section in XF86Config-4 that makes XFree turn off the PCI scan, because this would lock up the machine because of its PCI bug. And only framebuffer works so far. Michael
Re: [Cooker] Xbox Linux support for Mandrake
hmm, could probably hardware patch the cell phone chat keyboard, or better yet, a full sized ps2 keyboard into the xbox as well to add that functionality. ( building and marketing an adapter to convert the keyboard to xbox control interface ) The Xbox has USB connectivity, just with different connectors. We can use USB keyboards, mice, webcams, printers, scanners... 3) Different boot method The Xbox needs the boot CD to be in UDF format (that's easy with mkisofs -udf) and the bootloader called default.xbe in the root directory of the CD. This bootloader has been developed by the Xbox Linux Project and boots Linux just as Grub or LILO. addidng an interrogation for user to choose xbox or pc at beginning of install? That's hard, we would need a full USB stack in our bootloader to intercept information from the keyboard or the controller. Anyway, this is not so important. If you insert a game into an Xbox with Linux installed onto the hard disk, the game will start anyway. We just replace the Xbox configuration program (called Xbox Dashboard) on the hard disk. Everything this configuration program does, can also be done by Linux. make two sets of iso's, one for pc and one for xbox? 694 mb iso can't be dual fs on 700 mb cdr can it? I really don't like the idea of two sets of ISOs, with 99% of all data identical on both sets. How much space will UDF take up? Michael
Re: [Cooker] Xbox Linux support for Mandrake
On Friday, Oct 11, 2002, at 04:46 Europe/Berlin, Levi Ramsey wrote: On Thu Oct 10 17:46 -0700, jaqui wrote: so this would be an option for people with xboxes? to run linux on an off the shelf xbox? You have to use a modchip to allow the XBox to run code that's not signed by MS. does this support the games that are written for the xbox? AFAIK, it does not... you can still play XBox games normally, but you cannot run them from within Linux. Exactly. Michael
Re: [Cooker] Xbox Linux support for Mandrake
On Friday, Oct 11, 2002, at 10:42 Europe/Berlin, Warly wrote: Adding UDF support does not bring any trouble, but regarding the boot method, does that mean that the Xbox just ignore el torito and syslinux boot option, and that just putting the default.xbe file on the CD root is enought, or do we need to have 2 different boot CDs ? Exactly. The Xbox ignores El Torito and runs the file default.xbe. One CD will be enough. How is the boot kernel stored on the Installation CD when booting from SYSLINUX? Our default.xbe bootloader requires the kernel and the initrd to be files in the UDF file system, it would be cool if they didn't have to be duplicated. Michael
Re: [Cooker] Xbox Linux support for Mandrake
On Friday, Oct 11, 2002, at 10:58 Europe/Berlin, François Pons wrote: >> 3) Different boot method >> The Xbox needs the boot CD to be in UDF format (that's easy with >> mkisofs -udf) >> and the bootloader called default.xbe in the root directory of the >> CD. This >> bootloader has been developed by the Xbox Linux Project and boots >> Linux just as >> Grub or LILO. >> When booting from HD, the bootloader executable and the kernel have >> to be stored >> in a FATX file system. > > One we got the support for this filesystem, we should put a /boot > directory on > the existing fs available or it is different ? Booting from HD works like this: If there is no bootable media in the Xbox DVD drive, it starts the file xboxdash.xbe from the fourth partition on the hard disk, which is a FATX filesystem. We could make Mandrake mount this partition as /boot, as it contains the kernel and the initrd; and it will also contain xboxdash.xbe, which is our bootloader. >> 4) Different HD partitioning >> The Xbox uses an implicit partitioning scheme, but we can also use >> the PC >> partitioning scheme in parallel. > > How ? 2 different paritioning effectively used or extension to used > partionning > on PC ? Originally, we had an additional partitioning module in the kernel for Xbox partitioning. Now our code makes it possible to use both partitioning schemes in parallel: The PC partition table is read first, and the Xbox partitions (which may of course overlap) will be added after the PC partitions, in the /dev/hda? numbering. This way, the user can access the Xbox partitions, and can partition the free space on the hard disk (the space above 8 GB; we can use replacement hard disks; the Xbox kernel only uses 8 GB) using a PC partition table. >> 2) Partitioning Tool >> The partitioning tool has to mark the space used by the Xbox system >> software as >> unavailable (if we're on an Xbox) for the user not to overwrite the >> original >> software on the HD and render the Xbox useless > > How we can recognize that area ? It's fixed: 0-8 GB. > We don't have Xbox here so you will have to provide information on how > to > proceed, maybe Micro$oft will give us a Xbox for that ... I'll have a look at the installer and add Xbox support myself; if there are any problems, I'll ask in the mailing list, okay? Michael
[Cooker] Xbox Linux support for Mandrake
Hi! I am Michael Steil from the Xbox Linux Project. I have had a conversation with Gael and Jacques from Mandrake and I was told that they don't officially support Xbox Linux, but they support it non-officially. Jacques suggested to discuss about this on this mailing list. As you might already know, the Xbox Linux Project succeeded in running a full Mandrake distribution on a "modded" Xbox console; we just had to use an installer of our own because of some differences in the Xbox architecture. Me personally, and probably some others from Xbox Linux would like to extend our work to integrate full Xbox support into the next Mandrake release. Therefore we ask for some support in this mailing list, and we might have to discuss some things on how to integrate Xbox support. Some information about the differences of the Xbox: The Xbox is basically a PC, but with some small differences: 1) Kernel fixes: PCI bug, different timer base frequency, different shutdown method, no keyboard controller These issues are already addressed by our kernel patches and they are likely to be included into the main Linux kernel soon. 2) Kernel/driver extensions We have code for the FATX file system used by the Xbox system software, as well as drivers for the Xbox gamepad and the Xbox remote control. 3) Different boot method The Xbox needs the boot CD to be in UDF format (that's easy with mkisofs -udf) and the bootloader called default.xbe in the root directory of the CD. This bootloader has been developed by the Xbox Linux Project and boots Linux just as Grub or LILO. When booting from HD, the bootloader executable and the kernel have to be stored in a FATX file system. 4) Different HD partitioning The Xbox uses an implicit partitioning scheme, but we can also use the PC partitioning scheme in parallel. 5) XFree Currently, only Framebuffer is supported. So we basically have a patched kernel, some more modules and a different bootloader. So what do we have to change in the Mandrake installer? 1) Installer CD Boot Code A default.xbe has to be added to the installer CD and the CD has to be in hybrid UDF/ISO9660 format. The Xbox bootloader loads the standard kernel, which has Xbox support compiled in, as well as the standard ramdisk. Just default.xbe instead of El Torito & SYSLINUX. 2) Partitioning Tool The partitioning tool has to mark the space used by the Xbox system software as unavailable (if we're on an Xbox) for the user not to overwrite the original software on the HD and render the Xbox useless 3) XFree Configuration The XFree configuration program has to write its own XF86Config-4, if we're on an Xbox. Well, perhaps the standard routines will work out of the box. 4) Bootloader Installation If we're on an Xbox, the grub/LILO installation has to be replaced by the Xbox bootloader installation. 5) Kernel, /lib/modules The standard kernel has to include the Xbox fixes; one kernel for both PC and Xbox will be enough. The Xbox modules for FATX, Xpad etc. will be added to /lib/modules on all machines. It's not that much. I'd love to help adding Xbox support to the installer, and we can provide patches for the kernel to add Xbox support in the kernel to Mandrake. Michael