Believe it or not the BIOS of my very old IBM Thinkpad laptop supports booting from a PCMCIA device, and I can indeed boot the Thinkpad machine from a vmlinuz and core.gz (version 4.5.4) installed on a PCMCIA flash disk.
What I am having trouble with though is getting the booted installation to use the same partition on the PCMCIA flash disk for /tce and /home. Even though I have the bootloader pass 'tce=sdb1' and 'home=sdb1' bootcodes to the kernel sdb1 is not mounted after boot and does not even appear in /etc/fstab. Possibly relevant notes and observations:
> During boot dmesg produces several messages showing the loading of modules to run the Cardbus / PCMCIA port and detection of the PCMCIA flash disk's parameters. The PCMCIA flash disk seems perfectly available after booting without any further action.
> The kernel detects the IDE hard drive as sda and the PCMCIA flash disk as sdb.
> The sdb1 partition is formatted as ext2, and I can mount it fine after boot. So I don't think this is a filesystem issue.
> Shortly after the system boots to the command prompt the kernel outputs several messages about starting with /sys/devices/pci0000:00/...
> I have tried passing the 'laptop' bootcode to the kernel but that doesn't seem to make any difference.
Although I don't see any evidence of this in dmesg is it possible that the problem results from the boot process trying to mount the /tce and /home directories before the Cardbus port and PCMCIA disk are available to the kernel? If so how can I work around that?