On Tue, Mar 06, 2007 at 08:19:01AM -0500, John Koleszar wrote:
I'd still like to keep hacking on this, as it's a far more elegant solution than going the adapter route.
Absolutely agreed. :)
I was under the impression that it worked by preventing the kernel from probing for ide2 so that it wouldn't overwrite the config done by linuxbios, but I obviously haven't gotten that far yet.
Here are the threads from when I was working on this:
First one, mentions that I fried a CF card: http://www.linuxbios.org/pipermail/linuxbios/2006-September/015594.html
Discussion on the Ricoh bridge and Linux: http://www.linuxbios.org/pipermail/linuxbios/2006-September/015633.html
After some hacking I discovered that the fried CF was in fact OK and that there were bad bits somewhere: http://www.linuxbios.org/pipermail/linuxbios/2006-September/015793.html
From reading up on this again it seems that using the CF slot as a
plain IDE device will in fact work, but I did not want to do that because the card could be unplugged after boot and Linux would surely not like that. (At the very least, the slot would stop working until reboot, not good enough.)
Linux pcmcia did not start the CF slot until after udevstart was run, so initramfs/initrd was required for root on CF.
I discussed this on linux-pcmcia and it seems that in the 2.6.18rc7 kernel I was using the CF card just wasn't added to the kernel drivers, but it has been added since.
I'd like to try this with a recent kernel, it may just work now.
As for my current issue, I just read something that leads me to believe that I need to disable PCI support in filo, but I won't be able to try until later tonight.
Yes, that is correct. From my FILO Config:
IDE_DISK=1 PCMCIA_CF=1 #SUPPORT_PCI=1
Re long cycles, I suggest using an Etherboot payload. You can even send FILO as a boot image to Etherboot, and experimenting with kernel parameters becomes simple.
dhcpd.conf: subnet 192.168.3.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.3.25 192.168.3.99; option routers 192.168.3.1; option domain-name-servers 192.168.3.1; if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { filename "/eb-5.4.1-via-rhine.zpxe"; } else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { filename "/boot.elf"; option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; } }
Starting tftpd from the shell: (make sure to use hpa-tftp) in.tftpd -l -s -p -u root /root/epia
//Peter