On Mon, Apr 05, 2004 at 05:35:57AM -0700, Joshua Ferraro wrote: > Quoting Klaus Weidner <klaus@atsec.com>: > > One probably worthwhile project which I don't have the resources for > > would be to convert this into a fully native distribution rather than > > chroot - I have it set up this way on my C750, but in a hackish way, and > > it would need a fair amount of work to install and support this properly. > > Please send mail to the list if you're interested in this. > Thanks for all your hard work! I'm very interested in working > towards a fully native distribution to avoid the chroot. In a general > way, what would be involved? I've got a bit of time that I could devote > to the project as well. The chroot install currently manages to be fairly hardware-agnostic due to letting the native install handle everything. For a fully native distribution, there will need to be drivers and tools in appropriate Debian packages. The Openzaurus toolset would probably handle just about everything needed for the Zaurus hardware, and would just need packaging as .debs. Any changes needed for Debian should be merged back to OZ to avoid a fork, and if the packages overlap with existing Debian packages (i.e. pcmcia, apm, ...) coordinated with the Debian package maintainers as well. The main areas are: - a kernel: the original Sharp kernels have the advantage of the (binary-only) SD module being loadable, but the OZ effort to clean up the platform-specific code and porting to newer kernels is definitely the approach with a long-term future. There have been some experiments with reverse-engineering the SD driver, but I don't know if that had any results. Note that apparently this is easier for the newer xscale models, because there the hardware handles much more of the SD/MMC interface, leaving the driver much simpler. - booting: on my SL-C750 I'm booting a lightly modified Sharp kernel, with the boot argument "init=/sbin/debian-init.sh". I've attached that shell script, it's a simple boot loader which can boot the ROM OS (by exec()ing the real /sbin/init), or do a pivot_root to switch the root filesystem over to the SD card and calling the sbin/init there. - PCMCIA tools (to handle CF cards) - the Debian pcmcia-cs works fine but was missing a couple of drivers (i.e. for WLAN cards) last time I checked. - WLAN support is a huge mess, with some drivers using the wlan-NG API and others using the old one, and AFAIK both types are needed to properly support the common cards. Standardizing on one of them and (if needed) porting the drivers to the API would be needed. - suspend/resume - the Sharp way of doing this was completely nonstandard, but I think in the OZ kernels now has the "apm" tool working in the usual way. - other hardware-specific tools, such as backlight, volume control (last time I checked the audio driver didn't work with many mixers), the SL-C7x0 screen rotation toggle switch (which generates a keycode), etc. I'd strongly suggest keeping the complete Debian system on the SD/MMC card - trying to fit chunks of it into the onboard flash is a big hassle which I don't consider worth the effort. You can use the flash for user data if you worry about the space being wasted. -Klaus
Attachment:
debian-init.sh
Description: Bourne shell script