<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OSEmbedded.com</title>
	<atom:link href="http://osembedded.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://osembedded.com</link>
	<description>Open Source Embedded Projects</description>
	<lastBuildDate>Sat, 20 Feb 2010 18:21:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Site back online&#8230;</title>
		<link>http://osembedded.com/?p=311</link>
		<comments>http://osembedded.com/?p=311#comments</comments>
		<pubDate>Sat, 20 Feb 2010 18:21:10 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=311</guid>
		<description><![CDATA[Finally I got some time to restore the site back up. Was down because some dumb idiot took the time to hack my site. I don&#8217;t get what&#8217;s the big deal hacking a small website like this? If you really want to show off your hacking skills, go hack some of the major web sites. [...]]]></description>
			<content:encoded><![CDATA[<p>Finally I got some time to restore the site back up. Was down because some dumb idiot took the time to hack my site. I don&#8217;t get what&#8217;s the big deal hacking a small website like this? If you really want to show off your hacking skills, go hack some of the major web sites. Please don&#8217;t bother a casual blogger with your irritating hacks!</p>
<p>Grr!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=311</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EABI vs OABI</title>
		<link>http://osembedded.com/?p=53</link>
		<comments>http://osembedded.com/?p=53#comments</comments>
		<pubDate>Mon, 05 Oct 2009 05:19:38 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[2.6 kernel]]></category>
		<category><![CDATA[build process]]></category>
		<category><![CDATA[embedded project]]></category>
		<category><![CDATA[makefile]]></category>
		<category><![CDATA[eabi]]></category>
		<category><![CDATA[oabi]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=53</guid>
		<description><![CDATA[Was hoping to work on the wireless module&#8230; Unfortunately all I did this weekend was to revert back to the old ABI toolchain since I ran into issues with the EABI one.  Anyways, I have the toolchain fixed now. I hope not to touch it for a while. Hopefully this week would be a [...]]]></description>
			<content:encoded><![CDATA[<p>Was hoping to work on the wireless module&#8230; Unfortunately all I did this weekend was to revert back to the old ABI toolchain since I ran into issues with the EABI one.  Anyways, I have the toolchain fixed now. I hope not to touch it for a while. Hopefully this week would be a good one. All I want for now is to connect to the web from toobo&#8230;  Let&#8217;s wait and see. Gotto hit the bed. Long week ahead! CHEERS!</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=53</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usb wireless support coming to toobo</title>
		<link>http://osembedded.com/?p=52</link>
		<comments>http://osembedded.com/?p=52#comments</comments>
		<pubDate>Sun, 27 Sep 2009 08:48:01 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[application design]]></category>
		<category><![CDATA[toobo wifi]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=52</guid>
		<description><![CDATA[I have been working on getting this cheap rosewill 802.11g adapter I got from newegg to work on toobo. Luckily I found the drivers and the appropriate patches for this hardware.
I have iwlist working and listing all the wireless APs it can detect. I need to work on the WEP part 2 authenticate with my [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on getting this cheap rosewill 802.11g adapter I got from newegg to work on toobo. Luckily I found the drivers and the appropriate patches for this hardware.</p>
<p>I have iwlist working and listing all the wireless APs it can detect. I need to work on the WEP part 2 authenticate with my encrypted wifi.</p>
<p>I will post the files on to the toobo google code page when I am done.</p>
<p>Later&#8230;<br />
Vijay</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toobo Build System gets a decent start.</title>
		<link>http://osembedded.com/?p=46</link>
		<comments>http://osembedded.com/?p=46#comments</comments>
		<pubDate>Mon, 06 Jul 2009 06:29:32 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[build process]]></category>
		<category><![CDATA[cmake]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=46</guid>
		<description><![CDATA[Finally I got some time to setup and clean the non-existant build system for toobo. The build system for toobo contains multiple parts and so it isn&#8217;t wasn&#8217;t fast setting it up. Anyways, if you are interested in testing this out, all you need is a few commands (and a few tools at this point) [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-48" title="build_verified" src="http://osembedded.com/wp-content/uploads/2009/07/build_verified.jpeg" alt="build_verified" width="120" height="120" />Finally I got some time to setup and clean the non-existant build system for toobo. The build system for toobo contains multiple parts and so it isn&#8217;t wasn&#8217;t fast setting it up. Anyways, if you are interested in testing this out, all you need is a few commands (and a few tools at this point) to get the job done.</p>
<p><span id="more-46"></span>Previously there was no coherent mechanism to build all the stuff from scratch. The kernel was in some place, the toolchain was somewhere else, and the source code for toobo was in a different location on my PC. But the new build system I have setup tries to simplify all this. Of course there are quite a number of places where this can be improved but this should be a good starting point.</p>
<p>Before you start, you need to have the following tools installed in your system -</p>
<ul>
<li>svn &#8211; This is required to download the directory structure and the source code.</li>
<li>cmake 2.6 &#8211; This is our may &#8216;out of source&#8217; build system.</li>
<li>patch &#8211; Needed to patch the kernel and other source files later.</li>
<li>wget &#8211; Needed to download the toolchain and the kernel source.</li>
</ul>
<p>If you do not have any of the above, toobo build may complain at various stages. If you are using an ubuntu based system use apt-get to get these packages.</p>
<p>So, after you have all the above, all you need to type is -</p>
<ol>
<blockquote>
<li>mkdir toobo</li>
<li>cd toobo</li>
<li><tt id="checkoutcmd">svn checkout <strong><em>http</em></strong>://toobo.googlecode.com/svn/trunk/ toobo-read-only</tt></li>
<li><tt id="checkoutcmd">cd toobo-read-only</tt></li>
<li><tt id="checkoutcmd">cd downloads</tt></li>
<li><tt id="checkoutcmd">./host_setup.sh</tt><tt id="checkoutcmd"> ## Make sure this step completes without issues.</tt></li>
<li><tt id="checkoutcmd">cd .. ## go back to the top level toobo source directory.<br />
</tt></li>
<li><tt id="checkoutcmd">mkdir build</tt></li>
<li><tt id="checkoutcmd">cd build</tt></li>
<li><tt id="checkoutcmd">cmake .. ## This should build the kernel image for toobo.</tt></li>
</blockquote>
</ol>
<p>Currently this is how far the build system takes you. I will try to keep it up to date as and when new code gets added. Since I am learning CMake, you will notice that I may have done something crazy in there&#8230;</p>
<p>This was tested only on a ubuntu 9.04 based system. So, let me know if you find other issues with this build process.</p>
<p>Later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=46</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Messing with QT + Webkit</title>
		<link>http://osembedded.com/?p=43</link>
		<comments>http://osembedded.com/?p=43#comments</comments>
		<pubDate>Sun, 07 Jun 2009 22:22:49 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=43</guid>
		<description><![CDATA[
I was just trying to figure out what UI framework should I use for the toobo project. While researching this, I came across the well known QT project. I installed the non-embedded version of QT (I think QT 4) under xubuntu and created a sample project.
It took me less than 10 lines of code to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://osembedded.com/wp-content/uploads/2009/06/qt-webkit.png"><img class="alignleft size-thumbnail wp-image-44" title="qt-webkit" src="http://osembedded.com/wp-content/uploads/2009/06/qt-webkit-150x150.png" alt="QT + Webkit" width="150" height="150" /></a></p>
<p>I was just trying to figure out what UI framework should I use for the toobo project. While researching this, I came across the well known QT project. I installed the non-embedded version of QT (I think QT 4) under xubuntu and created a sample project.</p>
<p>It took me less than 10 lines of code to create a webkit view. I am quite impressed with the first look  of QT already. Of course getting QT Embedded running on the target maybe a different issue. But at least for x86, QT seems to be really simple to develop.<span id="more-43"></span></p>
<p>For some reason I could&#8217;t upload the screenshot via firefox. So I gave the QT+Webkit browser a shot and it works right out of the box. I was able to select the screenshot and upload it from the demo browser. Isn&#8217;t that slick? <img src='http://osembedded.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="margin: 0px; text-indent: 0px;"><!--StartFragment-->The code to do this is as simple as follows -</p>
<p style="margin: 0px; text-indent: 0px;"><em>this-&gt;qv = new QWebView(NULL);</em></p>
<p style="margin: 0px; text-indent: 0px;"><em>this-&gt;qv-&gt;load(QUrl(url));</em></p>
<p style="margin: 0px; text-indent: 0px;"><em>this-&gt;qv-&gt;show();</em></p>
<p style="margin: 0px; text-indent: 0px;">
<p style="margin: 0px; text-indent: 0px;">Here is the project file if you want to try it -</p>
<p><a href="http://osembedded.com/wp-content/uploads/2009/06/vj_basic_1tar.bz2">qt + webkit project file</a></p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to business maybe this time?</title>
		<link>http://osembedded.com/?p=42</link>
		<comments>http://osembedded.com/?p=42#comments</comments>
		<pubDate>Tue, 02 Jun 2009 02:49:12 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=42</guid>
		<description><![CDATA[Hi all,
Yes I am alive and It has been a long time since I have written on osembedded. I am resolute to be back on track again. My first priority is to get the audio module working in toobo. I will keep this post short since I got some coding to do&#8230;  
Later-
]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>Yes I am alive and It has been a long time since I have written on osembedded. I am resolute to be back on track again. My first priority is to get the audio module working in toobo. I will keep this post short since I got some coding to do&#8230; <img src='http://osembedded.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Later-</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=42</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Too busy with work&#8230;</title>
		<link>http://osembedded.com/?p=41</link>
		<comments>http://osembedded.com/?p=41#comments</comments>
		<pubDate>Mon, 20 Oct 2008 06:08:09 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[application design]]></category>
		<category><![CDATA[embedded project]]></category>
		<category><![CDATA[app design]]></category>
		<category><![CDATA[architecture]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=41</guid>
		<description><![CDATA[Have been too busy with work lately to even think about working on my project&#8230;
Well for those who haven&#8217;t noticed it yet, I have started to work a little bit on Toobo&#8217;s application architecture. For a start I have chosen to go with a multi-process model with each core functionality running as a separate process.

For [...]]]></description>
			<content:encoded><![CDATA[<p>Have been too busy with work lately to even think about working on my project&#8230;</p>
<p>Well for those who haven&#8217;t noticed it yet, I have started to work a little bit on Toobo&#8217;s application architecture. For a start I have chosen to go with a multi-process model with each core functionality running as a separate process.</p>
<p><span id="more-41"></span></p>
<p>For example, I have split up the app into the following processes.</p>
<ul>
<li>The origin script &#8211; This is an odd one out in the following list. This script would startup any process that needs to be in place while Toobo is alive and running.</li>
<li>Startup Manager &#8211; Manages any start up work like drawing a loading screen, going to the last saved screen etc.</li>
<li>Standby Manager &#8211; Handles putting the device in standby and taking it out of standby mode. Provides hooks to perform any low priority tasks during standby.</li>
<li>Shutdown Manager &#8211; Handles saving preferences, last visited screen, shutting down various subsystems cleanly before Toobo shuts down.</li>
<li>Input Manager &#8211; Receives input, notifies the state machine, ignores keys when necessary.</li>
<li>Sound Manager &#8211; Takes care of audio playback, mute &amp; unmute mechanisms.</li>
<li>Screen Manager &#8211; This guy is tied closely to the core state machine and contains the code that would help one draw a screen on toobo.</li>
<li>more to come&#8230;</li>
</ul>
<p>Of course, the directory structure and process architecture has not yet been finalized. This is still a work in progress. As and when I find issues with the architecture that I have picked I plan to go back a few steps and correct the issues. (Well in reality this is a tough one but I have to do what is right so that Toobo has a long life <img src='http://osembedded.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>I still need to decide on what IPC mechanism to use to communicate and synchronize various processes/threads. One of the ideas I thought that was cool even though it is a bit slower is to use Unix domain sockets to communicate between various processes. I can use netcat to test each core process independently and unit test them.</p>
<p>I still need to look into pre-existing solutions like SDL to manage the UI event loop&#8230; I will document any useful projects and ideas here when I come across them.</p>
<p>Gotto go for now&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting there&#8230;</title>
		<link>http://osembedded.com/?p=32</link>
		<comments>http://osembedded.com/?p=32#comments</comments>
		<pubDate>Sun, 27 Jul 2008 17:50:12 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[2.6 kernel]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[embedded project]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=32</guid>
		<description><![CDATA[I couldn&#8217;t write before. Have been quite busy lately (riding my mountain bike a lot   )
Anyways&#8230; I had been stuck on issues related to the new driver port I did for my graphic LCD display for the 2.6 Kernel. I couldn&#8217;t get my newly ported code to work. But with some help from [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t write before. Have been quite busy lately (riding my mountain bike a lot <img src='http://osembedded.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Anyways&#8230; I had been stuck on issues related to the new driver port I did for my graphic LCD display for the 2.6 Kernel. I couldn&#8217;t get my newly ported code to work. But with some help from the mailing list (at http://tech.groups.yahoo.com/group/ts-7000/ ) I got the old 2.4 GLCD driver compiled for the new 2.6 Kernel after modifying just the makefile. It works like a charm. No issues so far. I can atleast move forward with writing the device driver for my STA015 audio decode chip.<span id="more-32"></span></p>
<p>I got sidetracked a bit with cleaning up the Graphic LCD display driver code&#8230; Currently everytime a single pixel is written to, all of the display gets refreshed which is completely unnecessary. I am working on a &#8216;dirty-bit&#8217; approach to only update the necessary bit to save CPU cycles and be more efficient. I should have this code on toobo&#8217;s google code page very soon. Feel free to download it and try it if you have a similar setup. [I will update this post once the code has been uploaded.]</p>
<p>The timeline for Toobo v1.0 Laika has been udpated in google code to be more realistic <img src='http://osembedded.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  [<a href="http://code.google.com/p/toobo/wiki/RoadMapVersionLaika">http://code.google.com/p/toobo/wiki/RoadMapVersionLaika</a> ]</p>
<p>In the mean time, if you want to &#8217;stay green&#8217; and let others know you support a greener earth, check my &#8217;shop&#8217; on cafepress &#8211; [<a href="http://www.cafepress.com/staygreen">http://www.cafepress.com/staygreen</a>] Just one design uploaded online so far. May have a few more soon&#8230;</p>
<p>Ciao! VJ</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling Driver Modules for the 2.6 Kernel</title>
		<link>http://osembedded.com/?p=31</link>
		<comments>http://osembedded.com/?p=31#comments</comments>
		<pubDate>Mon, 23 Jun 2008 13:55:06 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[2.6 kernel]]></category>
		<category><![CDATA[embedded project]]></category>
		<category><![CDATA[makefile]]></category>
		<category><![CDATA[2.6 build issue]]></category>
		<category><![CDATA[2.6 kernel module]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=31</guid>
		<description><![CDATA[More than a blog, this is just a reminder post to me and to all of you folks who have run into tons of make issues while porting a linux driver module from the 2.4 kernel to the 2.6.
The makefiles used to build say a character device driver in 2.4 will not work with 2.6 [...]]]></description>
			<content:encoded><![CDATA[<p>More than a blog, this is just a reminder post to me and to all of you folks who have run into tons of make issues while porting a linux driver module from the 2.4 kernel to the 2.6.</p>
<p>The makefiles used to build say a character device driver in 2.4 will not work with 2.6 even after editing the tool chain and the setting up the correct header path in the makefile. Remember to follow the steps mentioned in LDD3 (Linux Device Drivers 3) Chapter 2: building and running modules &#8211; Compiling Modules section. Else, you would run into issues and waste a day just like I did.<span id="more-31"></span></p>
<p>Things have changed considerably in the 2.6 build process from the older kernels. So follow the book and use obj-m: and module-objs: syntax to build your module. [See the following link for details - <a href="http://lwn.net/Articles/21823/">http://lwn.net/Articles/21823/</a> ]</p>
<p>For example, this is the makefile that finally worked for me.</p>
<p>ifneq ($(KERNELRELEASE),)<br />
obj-m := module.o<br />
module-objs := glcd_base.o glcd.o<br />
else<br />
KERNELDIR ?= /home/vijay/proj/base/kernel/linux-2.6.21-ts/<br />
PWD     := $(shell pwd)</p>
<p>default:<br />
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules</p>
<p>endif</p>
<p>clean:<br />
rm -rf *.o core .*.cmd *.ko *.mod.c .tmp_versions</p>
<p>I was previously using the following makefile ported directly from the 2.4 kernel module makefile I had created and I had tons of issues&#8230; I am adding it here if some one runs into the same problem.</p>
<p>File Edit Options Buffers Tools Makefile Help<br />
ROOT_PATH=/home/vijay<br />
COMPILER_PATH=/opt/crosstool/gcc-3.3.4-glibc-2.3.2/bin<br />
CC=$(COMPILER_PATH)/arm-linux-gcc<br />
LD=$(COMPILER_PATH)/arm-linux-ld<br />
INCLUDE_PATH=$(ROOT_PATH)/proj/base/kernel/linux24/include/linux<br />
KERNELDIR=$(ROOT_PATH)/proj/base/kernel/linux24</p>
<p>include $(KERNELDIR)/.config</p>
<p>CFLAGS = -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -I$(KERNELDIR)/include -O -Wall</p>
<p>#ifdef CONFIG_SMP<br />
CFLAGS += -D__SMP__ -DSMP<br />
#endif</p>
<p>all:glcd.o glcd_base.o<br />
$(LD) -r -o glcd glcd.o glcd_base.o</p>
<p>clean:<br />
rm *.o glcd</p>
<p>Remember, do not use the above method for the 2.6 kernel. You will run into issues like missing header files, wrong header files being pulled as the kernel config file doesn&#8217;t get interpreted correctly. (I am not sure why this was happening.) But the point is, use the method mentioned in LDD3.</p>
<p>Also, I would highly recommend that you build your own kernel for the target system. It would probably take a bit of work initially but is highly worth it because you know what you are running on. And  there won&#8217;t be &#8216;magic&#8217; version mismatches between the kernel you built and the module you are trying to insmod later. I followed the steps mentioned in the following link to compile my kernel. (Remember to download the appropriate toolchain. If possible use EABI arm toolchain moving forward.)</p>
<ul>
<li><a href="http://www.embeddedarm.com/software/arm-linux-26-ts72xx.php">http://www.embeddedarm.com/software/arm-linux-26-ts72xx.php</a></li>
</ul>
<p>References:</p>
<p>Linux kernel 2.6 module writing references -</p>
<ul>
<li>LDD3 is available online at <a href="http://lwn.net/Kernel/LDD3/">http://lwn.net/Kernel/LDD3/</a></li>
<li>Linux Kernel Module Programming is available at <a href="http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf">http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf</a></li>
<li><a href="http://lwn.net/Articles/driver-porting/">http://lwn.net/Articles/driver-porting/</a></li>
</ul>
<p>Building your own root file system from scratch -</p>
<ul>
<li>Embedded Debian website &#8211; <a href="http://www.emdebian.org/">http://www.emdebian.org/</a> (lot more than just help for building root file system)</li>
<li>Linux from scratch &#8211; <a href="http://www.linuxfromscratch.org/lfs/download.html">http://www.linuxfromscratch.org/lfs/download.html</a> Good reading related to building your linux system from scratch. Mostly high level stuff.</li>
</ul>
<p>So far, Laika is still on track for a July end release.</p>
<p>Later&#8230;</p>
<p>Vijay</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>toobo 1.0 Laika roadmap released</title>
		<link>http://osembedded.com/?p=29</link>
		<comments>http://osembedded.com/?p=29#comments</comments>
		<pubDate>Tue, 17 Jun 2008 06:02:58 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[2.6 kernel]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[nfs boot]]></category>
		<category><![CDATA[roadmap]]></category>
		<category><![CDATA[toobo]]></category>

		<guid isPermaLink="false">http://osembedded.com/?p=29</guid>
		<description><![CDATA[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&#8217;s first version Laika will have the following features -

Linux 2.6 Kernel
MP3 audio decoding capability using the STA015 chip.
Port [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://code.google.com/p/toobo/wiki/RoadMapVersionLaika">http://code.google.com/p/toobo/wiki/RoadMapVersionLaika</a> .</p>
<p>Named after the 1st ever space dog, toobo&#8217;s first version Laika will have the following features -</p>
<ul>
<li>Linux 2.6 Kernel</li>
<li>MP3 audio decoding capability using the STA015 chip.</li>
<li>Port of the 2.4 Graphic LCD driver to 2.6</li>
<li>USB wireless connectivity.</li>
</ul>
<p><span id="more-29"></span>For the project timeframe, check out the toobo project page mentioned above.</p>
<p>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.</p>
<p><a href="http://www.embeddedarm.com/software/arm-linux-26-ts72xx.php">http://www.embeddedarm.com/software/arm-linux-26-ts72xx.php</a></p>
<p>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.</p>
<p>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&#8230;</p>
<p>Configuring network interfaces&#8230;RPC: sendmsg returned error 101</p>
<p>and nothing would work from that point. All that I would see is a bunch of errors.</p>
<p>RPC: sendmsg returned error 101<br />
nfs: RPC call returned error 101</p>
<p>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.</p>
<p>Fixing that let me boot all the way into the shell. I still see some errors while booting which needs to be cleaned up&#8230; 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&#8217;t want to waste any write cycles in the on-board flash. NFS will probably be good enough for development now.</p>
<p>I didn&#8217;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 &#8216;natively&#8217;&#8230; I still need to investigate booting directly from usb. Will keep you posted.</p>
<p>Download the compressed kernel here &#8211;&gt; <a href="http://osembedded.com/wp-content/uploads/2008/06/zimage-linux-26.21-ts">zimage-linux-26.21-ts</a></p>
<p>One step closer&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://osembedded.com/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
