Hi all,
After reading rsalveti's blog post on net booting with TFTP and PXE on Pandaboard I decided to try it and boot my 2.6.35 kernel (locked to this version because of some vendor specific changes). Unfortunately, although u-boot was able to retrieve and start the kernel image it wouldn't detect the SMSC ethernet adapter. This happens because older kernel versions rely on u-boot to do some initialization of the USB subsystem.
First "fix" was to call usb_stop() from the pxe boot function just before booting. But usb_stop calls omap4_ehci_hcd_stop which disables some clocks and 2.6.35 is still unable to detect the ethernet adapter.
So the second "fix" was to rewrite (to my best understanding - without going through the documentation) omap4_ehci_hcd_stop to reset some subsystems and
leave the clocks running.
I attached the patch in case someone else needs to boot older kernels in this PXE + NFS rootfs configuration.
Problems with the patch are:
- changes omap4_ehci_hcd_stop functionality
- probably breaks other use cases
- tested only in my particular configuration
Thanks,
Daniel