There are still plenty of problems with Linux/APUS. Remember it is a developer kernel, so you cannot expect everything (or anything) to be working. It should get better as time goes by, though.
The To Do list below is basically the list of known problems. If you have anything to add to the list, or if any of the listed devices are working for you, please let me know.
I work on things as my time permits. I have had bad experiences (plural!) with fixing drivers for devices I don't have myself - it takes too much time and energy, even when someone owning such a device offers to run test kernels. Thus, if you want to see a working driver for your hardware, you really need to start hacking yourself.
This is a list of jobs that are up for grabs. If you want to do it and you think it will take more than a couple of days, please let me know so I can mark it to prevent duplicated efforts.
(free) Write a driver for the CyberPPC SCSI controller. Jes has started on this (sources available at sunsite.auc.dk//pub/os/linux/680x0/testing/53c770.tar.gz ) but doesn't have the time to work futher on it. NetBSD has a working driver for the controller ( ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/arch/amiga/dev/) but beware of the license issues. There's some developer information at www.lsilogic.com/products/develop.htm. (Thanks to Chris Lawrence for the references). Jes might be able to help with some details on the Phase5 hardware if you want to work on the driver (serious requests only!)
(free) If the Amiga DOS ROM is shadowed, it will eat 512kB RAM. It might be possible to disable this shadow mapping, but I don't feel like hacking on it myself - it can be disabled manually in the Early Startup Menu.
( Roman Zippel) Merging the amiboot changes. We need someone to maintain the amiboot program as Geert Uytterhoeven does not have the time anymore. Presently I have put the Linux/APUS required changes in the 'boothack' directory at SunSITE Denmark.
(free) A4000T/A4091 SCSI drivers require the kernel to be compiled using segment registers for memory mapping.
Page translations are cached in on-chip translation lookaside buffers (TLBs). When a memory access is attempted and the page information is not found in the TLBs, a table lookup from main memory is required.
When the kernel is mapped with BATs, execution of kernel code does not require looking up information about individual pages as the entire kernel memory space is mapped in one chunk.
As the kernel memory space used to hold the NCR53c7xx SCSI scripts needs to be mapped as write-through rather than write-back, per-page cache control is required. The current kernel memory system does not mix BAT mappings with segment register mappings, so kernels compiled after 980820 have to use segment register mappings only to ensure that A4091/A4000T drivers work correctly.
Two things can be done about this; in the short term, users who use the affected SCSI drivers must use the 'nobats' boot option.
A proper long term solution for all users is kernel support for a mixed mapping strategy. Either by mapping the end of kernel space with segment registers and having a special allocator to deal with it, or by re-mapping the required pages with segment registers. The latter strategy is in my opinion better as any overhead will only affect the pages used for the SCSI driver scripts. Unfortunately it will require (minor) driver changes. The former will affect the entire region of memory mapped with segment registers (which will be 1/4 of the available memory - 8-16MB on most systems).
I would like to work on this after the machine dependencies have been cleaned up in Linux 2.3, but I see no reason to spend energy on it in the immediate future (since the drivers are working when using the 'nobats' option).