It has been a while since I wrote my last post. To be more structured, the toobo version 1.0 roadmap has been released. Check out the page at http://code.google.com/p/toobo/wiki/RoadMapVersionLaika .
Named after the 1st ever space dog, toobo’s first version Laika will have the following features -
- Linux 2.6 Kernel
- MP3 audio decoding capability using the STA015 chip.
- Port of the 2.4 Graphic LCD driver to 2.6
- USB wireless connectivity.
For the project timeframe, check out the toobo project page mentioned above.
I finally managed to get the 2.6 kernel up and running on the TS7250 target. I noticed that the kernel size grew from roughly 670k to 1.4M when moving to the new kernel from 2.4. I need to figure out why the difference is so huge and turn of un-necessary components using menuconfig. If anybody is sailing in a similar boat, the following page from embedded arm provides complete instructions to build the 2.6 kernel.
Remember to download the correct cross-toolchain for the 2.6 kernel compilation. I managed to load the kernel using redboot and tftp and run it. Also, I used redboot to help me nfs mount the debian distro 3.1 Sarge after battling with RPC issues.
Make sure you have your portmap added in /etc/hosts.allow and portmap is running. Ethereal (wireshark) did come in handy when debugging this issue. One painful issue that I ran into is that the all will go according to plan and the root file system would get mounted properly and all the initrd scripts would execute normally until I would get the following error…
Configuring network interfaces…RPC: sendmsg returned error 101
and nothing would work from that point. All that I would see is a bunch of errors.
RPC: sendmsg returned error 101
nfs: RPC call returned error 101
After reading through tons of posts and almost giving up, one of the posts pointed out that the init script could be changing the ip address and guess what?? this is exactly what was happening. ifup -a was being called when I had already configured the network with static ip address. And the /etc/network/interfaces file was re-assigning my ip address and messing up the connection to the root file system.
Fixing that let me boot all the way into the shell. I still see some errors while booting which needs to be cleaned up… Once I have the kernel compiled and the distro setup to my satisfaction, I plan to jam it to the on-board flash. Until then, I don’t want to waste any write cycles in the on-board flash. NFS will probably be good enough for development now.
I didn’t realize that one cannot directly boot from the usb device unless you load a primary kernel say the 2.4 kernel, install the usb drivers and later load the 2.6 kernel from the usb. Else, I would have preferred usb boot instead of nfs boot. Some boards which have Compact Flash card support are able to boot directly from them. Most likely because they use the ATA command set ‘natively’… I still need to investigate booting directly from usb. Will keep you posted.
Download the compressed kernel here –> zimage-linux-26.21-ts
One step closer…