No, this isn't a complete howto, because I never made it work myself. But at least it gets you through the boring bits.
Grab kernel 2.6.15.x (I used 2.6.15.4)
Apply the patches in http://list.drzeus.cx/pipermail/sdhci-devel/2006-February/000426.html (see http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci for more info).
Select the following (as modules if possible) in make menuconfig:
Device Drivers --> ATA/ATAPI/MFM/RLL support --> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support Device Drivers --> ATA/ATAPI/MFM/RLL support --> INCLUDE IDE/ATA-2 Disk support Device Drivers --> ATA/ATAPI/MFM/RLL support --> PCMCIA IDE support Device Drivers --> MMC/SD Card support --> MMC support Device Drivers --> MMC/SD Card support --> MMC block device support Device Drivers --> MMC/SD Card support --> Secure Digital Host Controller Interface support
Compile and install the kernel ("fakeroot make-kpkg kernel_image" and "dpkg -i /usr/src/kernel-image-2.6.15.*" in debian)
Create the file /etc/pcmcia/ricoh.conf, consisting of the following:
card "RICOH SD Card Reader" version "RICOH", "Bay1Controller" bind "ide-cs"
Reboot to the new kernel and pray. Personally, I just get this output:
pccard: PCMCIA card inserted into slot 0 pcmcia: registering new device pcmcia0.0 0.0: GetNextTuple: No more items
Which indicates system resource starvation or something. The above should still be correct, so it might still work for you. If you happen to know how to solve the GetNextTuple thing, please let me know.