booting ipaq h5555 from CompactFlash microdrive

"Adam Wolbach" <[email protected]> Tue, 24 Oct 2006 15:39:09 -0400 (EDT)
Newsgroups gmane.comp.handhelds.linux.h5400,gmane.comp.handhelds.general
Message-ID <[email protected]>
Hello handhelds/h5400 list,

I am attempting to boot Familiar v0.8.4 from a 4GB Hitachi Microdrive (CompactFlash) on an iPAQ h5555 with a CompactFlash sleeve (not PCMCIA), following the steps at:

http://www.handhelds.org/moin/moin.cgi/BootingLinuxFromCF

I am unfortunately running into all sorts of issues though, so I am hoping the lists can help me out.  My disk partitioning is slightly different than the wiki's. I have a 64 MB vfat partition, a 960 MB linux swap, and the other 3 GB as a ext2 filesystem.  I am making the assumption that the h5500 series is mostly compatible with the h5400 series, the main difference being memory size (I believe).  I suppose a good first question would be, is bootldr known to work with CompactFlash sleeves?  Most references I've found online are to PCMCIA sleeves.  Is there a difference in modules/drivers between these two types of sleeves?

The most common problem I am running into is the "filename too long" error.  There was a quick fix posted online that failed for me (remounting the vfat partition as msdos and recopying initrd, param and zimage in).  There was also a suggestion that bootldr cannot handle large vfat partitions (> 32 MB), but the post was years old.  Is this still the case?

Here is what happens using the linked initrd and zimages from the wiki:

boot> boot vfat                                                                 
warning, no sleeve detected.  attempting pcmcia insert anyway.                  
h5400_control_egpio: not implemented yet for this egpio                         
h3600_sleeve_insert: no spi read, defaulting sleeve vendor                      
h3600_sleeve_insert: no spi read, defaulting sleeve deviceid                    
 sleeve vendorid=00001125                                                       
 sleeve deviceid=0000D7C3                                                       
pcmcia_probe_sleeve                                                             
h5400_control_egpio: not implemented yet for this egpio                         
  probing for dual pcmcia sleeve                                                
  dual_pcmcia_linkup[0]->prc=00000000                                           
dual_pcmcia_probe_sleeve                                                        
h5400_control_egpio: not implemented yet for this egpio                         
h3600_sleeve_insert: matched driver Compaq PC Card Sleeve                       
cis[0] =000000FF                                                                
end                                                                             
pcmcia_insert: funcid = 00000000                                                
cis[0] =000000FF                                                                
end                                                                             
pcmcia_insert: funcid = 00000000                                                
Mounting vfat on partition 00000000                                             
cmd vfat mount: partid=00000000                                                 
vfat mount: reading bpb_info                                                    
pcmcia_insert: funcid = 00000000                                                
Mounting vfat on partition 00000000                                             
cmd vfat mount: partid=00000000                                                 
vfat mount: reading bpb_info                                                    
 Reading params from file: /boot/params                                         
vfat_find_file_entry: fname='boot/params'                                       
                    dirname='boot'                                              
                   basename='PARAMS'                                            
vfat_find_dir_entry: fname='boot'                                               
                   dirname=''                                                   
                  basename='boot'                                               
  searching root_dir_entries                                                    
Invalid long filename entry: filename too long                                  
 Reading kernel from file: boot/zImage                                          
vfat_find_file_entry: fname='boot/zImage'                                       
                    dirname='boot'                                              
                   basename='ZIMAGE'                                            
vfat_find_dir_entry: fname='boot'                                               
                   dirname=''                                                   
                  basename='boot'                                               
  searching root_dir_entries                                                    
Invalid long filename entry: filename too long                                  
read zimage failed rc=FFFFFFFE  


Any and all help is appreciated, thanks!

Adam
-- 
Adam Wolbach

Carnegie Mellon University
Computer Science Department
Graduate Student

Email: [email protected]