From: Craig H. <cr...@gu...> - 2006-04-13 20:41:14
|
Ian, these questions are generally far best asked on the mailing list -- cc'ing the list on my responses On Apr 12, 2006, at 11:53 PM, Ian Yap wrote: > Hi there Craig and Gordon, > > this is Ian again, and I was hoping to ask you about compiling the > kernel for my gumstix (connex 400 bt). > > So, as I mentioned in a previous email, I am trying to get this > GPRS CF card to work on the Gumstix( I have already disabled MMC > in /etc/modules ). So I did what was shown at http:// > www.srcf.ucam.org/~jac208/pegasus/cfgps.html > > Now, I also wanted ppp to be compiled into the kernel image( it is > not available by default) . So I go to the linux source folder > (2.6.15gum) under "build_arm_nofpu" and did "make ARCH=arm > menuconfig" and then the only changes I did were toenable all the > ppp options to be compiled into the kernel( CONFIG_PPP=y ,etc ), > and also made sure that the processor type is for a PXA2xx > processor . Then , I went back to run the main Makefile for the > entire buildroot project, and let the stuff compile. When it's > done, I copied the uImage from the new boot folder to replace that > of the Gumstix. (Yes, I was feeling too confident) Now, the Gumstix > won't boot up and nothing shows on the serial port now as well(I > have been logging in using Ethernet since I had to do all those > changes specified on that web site to modify the pxa modules). I > know this is not a hardware issue as it was for the other guy that > won't even start when fresh-out-of-the-box . Generally, you need to update those parts which need updating :) Sometimes, that's just uImage, sometimes it's also some modules, sometimes it's all the modules, somtimes there's libraries and/or apps to copy over as well. It depends on what you need to do. I don't know your particular GPRS card, but I would guess that you'd at least need to the uImage and relevant driver modules; by far the easiest way to make sure you're not overlooking/forgetting anything is to just copy the whole root_fs and reflash the entire thing. If you're changing such stuff as the console's device path, you'll quite likely also need to modify the u-boot bootargs variable to pass a different console=xyz parameter as well. You'll also need to modify a handful of startup scripts I would imagine, like the inittab, bluetooth stuff if you use that, and anything else which is going to be trying to access the serial port(s). > This compilation issue brings up a few questions. > (1) Could you please tell me what step went wrong in this whole > process of trying to just get the Gumstix to recognize the CF GPRS > card as a serial device? Do I have to reflash the entire Gumstix > with the compiled image every time I compile the kernel? You probably either didn't compile the right stuff, or didn't copy everything you need, or didn't configure things correctly :) I've never tried using your GPRS card, so I'm not sure what precisely went wrong. It could be any of the above things. > (2) Is there some way to load a newly compiled image to test if it > works, and easily revert to the previous if it doesn't while still > being able to view the output and interact over the serial port? I > remember seeing something about uploading a new image to the RAM > and loading from there, but I can't exactly remember where it is > right now That will work if all you've changed is the uImage. For anything else, there are folks working on getting unionfs working, which would allow you to effectively do exactly what you're describing by using a removable media card (which won't actually work for you until we release a dual-CF daughtercard, since you have a GPRS CF card in there which precludes a CF storage card). > (3) This sounds like I need to reflash the entire Gumstix using > JTAG I suppose. Is there anything else I should look out for that > isn't mentioned on the JTAG wiki? No, you can reflash from within u-boot. You should never need JTAG unless you overwrite u-boot with bad code. As long as you don't overwrite u-boot (which is firmware write-protected by default) you'll be fine. C |