<?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>Tinyhack.com &#187; freebsd</title>
	<atom:link href="http://tinyhack.com/category/freebsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://tinyhack.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sat, 05 Nov 2011 10:09:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Adventures</title>
		<link>http://tinyhack.com/2011/02/14/new-adventures/</link>
		<comments>http://tinyhack.com/2011/02/14/new-adventures/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 05:52:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=182</guid>
		<description><![CDATA[My last post was about 6 months ago. Now I am back with some new adventures. The first one is Jonathan, my first baby: And the next one is BeagleBoard-xM from John Nicholls. About a month ago I found a &#8230; <a href="http://tinyhack.com/2011/02/14/new-adventures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My last post was about 6 months ago. Now I am back with some new adventures. The first one is Jonathan, my first baby:</p>
<p><a href="http://www.flickr.com/photos/yohanes/5444012596/" title="Jonathan by Yohanes &amp; Risna, on Flickr"><img src="http://farm6.static.flickr.com/5094/5444012596_9fd24f4476.jpg" width="333" height="500" alt="Jonathan" /></a></p>
<p>And the next one is BeagleBoard-xM from John Nicholls.</p>
<p><a href="http://www.flickr.com/photos/yohanes/5443852594/" title="BeagleBoard-xM by Yohanes &amp; Risna, on Flickr"><img src="http://farm6.static.flickr.com/5055/5443852594_73979ef90d.jpg" width="500" height="333" alt="BeagleBoard-xM" /></a></p>
<p>About a month ago I found a promotion and got this free MSP430 USB development tool:</p>
<p><a href="http://www.flickr.com/photos/yohanes/5404453918/" title="eZ430-F2013 by Yohanes &amp; Risna, on Flickr"><img src="http://farm6.static.flickr.com/5257/5404453918_18100098c3.jpg" width="500" height="333" alt="eZ430-F2013" /></a></p>
<p>It got me interested in MSP430 in general and bought some <a href="http://www.ti.com/launchpadwiki">LaunchPad</a> (only 4.30 usd each). My first project is to control the plug so i can plug and unplug BeagleBoard-xM through PC (so I can control it remotely via SSH). With this, I should be able to work on BeagleBoard remotely (like when I am in my room holding my baby boy).</p>
<p><a href="http://www.flickr.com/photos/yohanes/5444066752/" title="LaunchPad MSP430 by Yohanes &amp; Risna, on Flickr"><img src="http://farm6.static.flickr.com/5097/5444066752_12f51b4c40.jpg" width="500" height="333" alt="LaunchPad MSP430" /></a></p>
<p>And I have updated the CNS21XX code in my <a href="http://gitorious.org/freebsd-arm">gitorious repo</a> with the latest head. Hopefully I can put the code to SVN HEAD in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2011/02/14/new-adventures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CNS21XX port completed</title>
		<link>http://tinyhack.com/2010/07/06/cns21xx-port-completed/</link>
		<comments>http://tinyhack.com/2010/07/06/cns21xx-port-completed/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 15:01:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=172</guid>
		<description><![CDATA[About six months ago, Stefan Bethke donated me some money to buy a device from dealextreme so I can port FreeBSD to that device (you can see the pictures here). This device uses ARM Cavium Econa CNS21XX (formerly known as &#8230; <a href="http://tinyhack.com/2010/07/06/cns21xx-port-completed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/yohanes/4274406568/in/set-72157623208918338/"><img src="http://farm5.static.flickr.com/4054/4274406568_d1870fd1f2.jpg" width="500" height="333"></a><br />
About six months ago, Stefan Bethke donated me some money to buy <a href="http://dealextreme.com/details.dx/sku.20383~r.70455276">a device from dealextreme</a> so I can port FreeBSD to that device (you can see the pictures <a href="http://www.flickr.com/photos/yohanes/sets/72157623208918338/">here</a>). This device uses ARM Cavium Econa CNS21XX (formerly known as STR8132). Within few days I have completed the driver for serial port, interrupt controller, EHCI/OHCI. Then I stopped working on it, three months later I continued and finished the network driver, then I stopped again.</p>
<p>The last part that wasn&#8217;t finished was the SPI controller and the SPI flash driver, so this weekend I spent some time to finish it. So now, I can say that the port is finished, all drivers have been written for the device. With SPI flash support, I can now write the kernel to the device, and boot it from there (I don&#8217;t need to boot from network anymore).</p>
<p>Actually I am not really finished yet, since I still need to reformat the code according to the FreeBSD standard, and there might still be bugs in my code, so I invite everyone that have this device to try it out. There is also a feature in the network driver that is not implemented yet (multicast filtering), because the datasheet is not very clear (<del datetime="2010-07-06T15:02:02+00:00">i would be very happy if someone could help me to complete this</del>, wait now i suddenly understands the documentation).</p>
<p>For the boot loader, I am still using the default boot loader. This boot loader will load the kernel from memory 0&#215;600000, and since I can&#8217;t change the boot loader configuration in this particular device, I modified the kernel configuration to match this. The latest code can be accessed at <a href="http://gitorious.org/freebsd-arm">http://gitorious.org/freebsd-arm</a>.</p>
<p>To do initial boot, you will need serial port. You will need to put your kernel on your tftp server. Hit any key during boot, and type:</p>
<pre>
setenv serverip 172.17.1.1
setenv ipaddr 172.17.1.2
tftpboot 0x600000 kernel.bin
go 0x600000
</pre>
<p>and to make it permanent:</p>
<p><code>dd if=kernel.gz.tramp.bin of=/dev/flash/spi0  obs=4k conv=osync seek=96</code></p>
<p>Please note that the blocksize is 4k, and 96 means the offset is 0&#215;60000 (96*4096) which will be mapped to 0&#215;600000 by the boot loader. If you are brave, you can just compile the image and dd using the default Linux, but I don&#8217;t recommend this, since you may have different hardware (espcially SPI flash chip).</p>
<p><a href="http://www.flickr.com/photos/yohanes/4274404960/in/set-72157623208918338/"><img src="http://farm5.static.flickr.com/4061/4274404960_5ea0ebeab5.jpg" width="500" height="333"></a></p>
<p>Another news: I have completed the driver for ThinLinx Hot-e NAND using NAND2 framework. I also completed the SPI part and support for the flash SPI (read only).</p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2010/07/06/cns21xx-port-completed/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>ThinLinx Hot-e and CNS21XX</title>
		<link>http://tinyhack.com/2010/01/20/thinlinx-hot-e-and-cns21xx/</link>
		<comments>http://tinyhack.com/2010/01/20/thinlinx-hot-e-and-cns21xx/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 15:41:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=159</guid>
		<description><![CDATA[I am still fixing the Cavium Econa CNS11XX network driver with the guide from Pyun YongHyeon. He is guiding to make the network driver more robust. Unfortunately, we still don&#8217;t know why the driver is slower than the Linux version. &#8230; <a href="http://tinyhack.com/2010/01/20/thinlinx-hot-e-and-cns21xx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am still fixing the Cavium Econa CNS11XX network driver with the guide from Pyun YongHyeon. He is guiding to make the network driver more robust. Unfortunately, we still don&#8217;t know why the driver is slower than the Linux version. The port is currently accessible through FreeBSD CVS at:</p>
<p> <a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/econa/">http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/econa/</a></p>
<p>I asked in the freebsd-arm mailing list if anyone would like to donate me a CNS21XX device, and Stefan Bethke immediately offered me to buy one for me. I bought the <a href="http://dealextreme.com/details.dx/sku.20383~r.70455276">device from dealextreme</a> with the money donated to me. It took 9 days until it arrived.</p>
<p>Meanwhile John Nicolls from <a href="http://www.thinlinx.com/">ThinkLinx</a> sent me a Hot-e, a device based on AT91SAM9G20. I told him that I have received mr Stefan offer, but he said I can work on it anytime I want it. Since the Hot-e arrived earlier, I have managed to get it to boot. At first i was going to use the work from Sylvestre Gallon on at91sam9621(<a href="http://lists.freebsd.org/pipermail/freebsd-arm/2009-May/001741.html">mailing list archive</a>), but it turns out that it is not usable yet.</p>
<p>I have fixed the clock computation in at91_pmc.c, and currently writing a new timer driver (at91_pit.c), because the system timer device (at91_st.c) no longer exists in AT91SAM9G20. Currently the timer device is still not working properly, but I think I will be able to get it work this week.</p>
<p>When the CNS211XX LAN device finally arrived, I stopped the work for Hot-e for a while to test the new device. I bought a CA-42 cable to connect to it, but I can&#8217;t send anything to the device.  I thought that the device was faulty, but turns out that the cable is faulty. I was disappointed because usually I used that type of cable (it is cheap only 132 baht or 4 usd). Fortunately I still have one MAX3232, and I can make my own cable.</p>
<p>I think porting CNS21XX will not be so difficult. I made some small adjustment for the serial port driver to make it show something. Memory mapping is different compared to CNS11XX, but that can easily be adjusted. The Interrupt controller is different, so I need to rewrite some parts. After it works, EHCI/OHCI was working fine. The network driver will need major adjustment (may be I will just write a new driver for this one), and the device doesn&#8217;t use CFI for Flash, it uses SPI, so I will need to write a driver for SPI bus.</p>
<p>For CNS11XX and CNS21XX You can see my progress in this wiki page:<br />
 <a href="http://wiki.freebsd.org/FreeBSDcns11xx">http://wiki.freebsd.org/FreeBSDcns11xx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2010/01/20/thinlinx-hot-e-and-cns21xx/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CNS11XX FreeBSD port completed</title>
		<link>http://tinyhack.com/2009/12/11/cns11xx-freebsd-port-completed/</link>
		<comments>http://tinyhack.com/2009/12/11/cns11xx-freebsd-port-completed/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 08:33:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=149</guid>
		<description><![CDATA[It has been a long time since I started this project, and even though I am making a good progress at the beginning, my progress was getting slower lately. Today I decided to take a day off from work to &#8230; <a href="http://tinyhack.com/2009/12/11/cns11xx-freebsd-port-completed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It has been a long time since I started this project, and even though I am making a good progress at the beginning, my progress was getting slower lately. Today I decided to take a day off from work to finish some remaining task: network driver, automatic memory detection, and flash device support.</p>
<p>Pyun YongHyeon have helped me a lot with the network driver. The speed is still not good, but he have helped to make the network driver to more correct (better, more reliable). I will still need to ask him to check for the final version, but I believe I have fixed most errors he pointed out.</p>
<p>My agestar, which also uses CNS11XX devices comes with 32Mb memory, while the Emprex NSD-100 have 64mb of memory. I have added a code to autodetect the memory size. So one binary file should work on both devices.</p>
<p>The flash device in Emprex NSD-100 complies with CFI, and it was very easy to use with the existing CFI driver. I just need to write several lines of code. The next step is to boot freebsd directly from the flash (with the root filesystem on USB). Unlike in Linux, the flash device can not be accessed as partitions (not yet).</p>
<p>First, we need to write the kernel.bin to cfi0, because the first 132 kb is used by boot loader, we need to skip to somewhere > 132kb. To make it easy, i just skip 1 megabyte from beginning of flash.</p>
<p>dd if=kernel.bin seek=1 bs=1m of=/dev/cfi0</p>
<p>be very very very careful with the dd command. Without correct seek and bs, you may overwrite the bootloader. The command  will take quite a long time to finish (3 minutes).</p>
<p>Next step is to set the initial boot command. In the boot loader, setup bootcmd to copy the data in ram to 0&#215;1000000 from 0&#215;10100000, then boot the device:</p>
<p>setenv bootcmd cp.l 0&#215;10100000 0&#215;1000000 0x1a0000\;go 0&#215;1000000<br />
saveenv</p>
<p>Now when we boot the device, we should go directly to freebsd.</p>
<p>I won&#8217;t provide binaries, but the latest source code is in:</p>
<p><a href="http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/str91xx/src/sys/arm/econa&#038;HIDEDEL=NO">http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/str91xx/src/sys/arm/econa&#038;HIDEDEL=NO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/12/11/cns11xx-freebsd-port-completed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CNX11XX/STR91XX FreeBSD Progress</title>
		<link>http://tinyhack.com/2009/09/28/cnx11xxstr91xx-freebsd-progress/</link>
		<comments>http://tinyhack.com/2009/09/28/cnx11xxstr91xx-freebsd-progress/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:56:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=145</guid>
		<description><![CDATA[Last weekend I continued my work on FreeBSD port. I am concentrating on the network speed improvement, and I made a good progress with it. The network speed is now about 2.1 Mbps (FTP upload from device), this is still &#8230; <a href="http://tinyhack.com/2009/09/28/cnx11xxstr91xx-freebsd-progress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last weekend I continued my work on FreeBSD port. I am concentrating on the network speed improvement, and I made a good progress with it. The network speed is now about 2.1 Mbps (FTP upload from device), this is still slower than the Linux version but i think it already reach a usable state (I think I should be able to stream some DivX files through HTTP from it). I will ask around in the freebsd-arm/freebsd-net mailing list so I can do more improvement on the driver.</p>
<p>I am still a bit worried playing around with the Flash, since I don&#8217;t have anything to restore it back in case I made a mistake. So I think I will leave this part for a while.</p>
<p>For everyone who have NSD-100 with Serial Port attached to it, you can try a precompiled binary thah I have prepared, or you can compile from source.  To use the binary version, you will need a USB disk (at least 2GB in size), and a TFTP server. Actually you only need about 256 megabyte if you prepare your own disk instead of using my image.</p>
<p>Here are the steps for the binary version:</p>
<ol>
<li>Download the disk image from <a href="http://tinyhack.com/files/disk-2gb-freebsd-armv4-26-september-2009.img.bz2">here</a></li>
<li>Decompress (bunzip) the disk image, use dd to write to your USB disk</li>
<li>Since there is no boot menu, entering single or multi user mode is done by booting different kernel. Download the <a href="http://tinyhack.com/files/kernel-cns11xx-multi-freebsd-28-sept-2009.bin">multi user kernel</a> or <a href="http://tinyhack.com/files/kernel-cns11xx-single-freebsd-28-sept-2009.bin">single user kernel</a> and put it in your tftpserver</li>
<li>Boot the kernel </li>
</ol>
<p>To boot the kernel, you need to access your device using serial port. I think You need to hold the reset button to enter the boot prompt (mine always goes to the boot prompt because Bruce did something with the configuration area). You should see
<pre>STR9100></pre>
<p> prompt.</p>
<pre>
setenv serverip 192.168.1.1
(you can also 'saveenv' to save the TFTP server address permanently)
tftpboot 0x1000000 name-of-kernel.bin
go 0x1000000
</pre>
<p>To build your own disk image, make an empty disk.img with the size that you want. Goto /usr/src and then (modified from instruction to make i386 image <a href="http://bsdimp.blogspot.com/2007/10/building-bootable-freebsdi386-images.html">by Warner Losh</a>)</p>
<pre>
export TARGET_ARCH=arm
make buildworld
mdconfig -a -t vnode -f disk.img
fdisk -I md0
fdisk -B md0
bsdlabel -w md0s1 auto
bsdlabel -B md0s1
newfs /dev/md0s1a
mount /dev/md0s1a /mnt/
make installworld DESTDIR=/mnt
make distrib-dirs DESTDIR=/mnt
make distribution DESTDIR=/mnt
echo /dev/da0s1a / ufs rw 1 1 > /mnt/etc/fstab
echo ifconfig_DEFAULT=DHCP > /mnt/etc/rc.conf
echo hostname=demo >> /mnt/etc/rc.conf
</pre>
<p>To compare your boot experience <a href="http://tinyhack.com/files/freebsd-cns11xx-log-multi-28-sept-2009.txt">here is is the bootlog for the multi user mode</a>, and <a href="http://tinyhack.com/files/freebsd-cns11xx-log-single-28-sept-2009.txt">the single user mode</a>.</p>
<p>For the latest kernel source, you can see the perforce depot at:</p>
<p><a href="http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/str91xx&#038;HIDEDEL=NO">http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/str91xx&#038;HIDEDEL=NO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/09/28/cnx11xxstr91xx-freebsd-progress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agestar/CNS11XX Freebsd progress</title>
		<link>http://tinyhack.com/2009/05/24/agestarcns11xx-freebsd-progress/</link>
		<comments>http://tinyhack.com/2009/05/24/agestarcns11xx-freebsd-progress/#comments</comments>
		<pubDate>Sun, 24 May 2009 13:55:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=126</guid>
		<description><![CDATA[I&#8217;m still working on the Freebsd port, and haven&#8217;t tried to fix the network driver problem in Linux (it only happens on samba 3 which I don&#8217;t use daily). The reason to focus my work on the FreeBSD port is &#8230; <a href="http://tinyhack.com/2009/05/24/agestarcns11xx-freebsd-progress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still working on the Freebsd port, and haven&#8217;t tried to fix the network driver problem in Linux (it only happens on samba 3 which I don&#8217;t use daily). The reason to focus my work on the FreeBSD port is because I want to understand more about the network driver. The current Linux network driver was not written from scratch but from modifying existing source. The source was full of things that I don&#8217;t understand, which proves to be unnecessary after I gain understanding when writing the Freebsd network driver.</p>
<p>Here is the current FreeBSD port status:</p>
<ol>
<li>Timer is now working, previously the timer tick works, but the time counter was too fast.</li>
<li>EHCI and OHCI is working, but there is still some caching problem, so i need to modify usb_busdma.c, this modification is not clean. I can access USB disks, and USB network adapter.</li>
<li>Network driver works, but it is still very slow . I am still trying to understand better the DMA handling in FreeBSD. There is still one bug: you can not stop the interface and start it again. The stopping part works, ifconfig ece0 down, but the starting again part doesn&#8217;t. </li>
<li>Multi user works. I can also activate network services, such as sshd.</li>
</ol>
<p>I am still waiting for my perforce account. But anyone willing to test it can contact me. I still don&#8217;t know the best method to release a patch against CURRENT for people to try, because changes happens very quickly.</p>
<p>Here is the latest boot log: <a href="http://tinyhack.com/files/bsd-24-may-2009.txt">bsd-24-may-2009.txt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/05/24/agestarcns11xx-freebsd-progress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>STR9104/CNS1104 FreeBSD Port Progress</title>
		<link>http://tinyhack.com/2009/05/10/str9104-cns1104-freebsd-arm/</link>
		<comments>http://tinyhack.com/2009/05/10/str9104-cns1104-freebsd-arm/#comments</comments>
		<pubDate>Sat, 09 May 2009 18:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=124</guid>
		<description><![CDATA[Returning from Indonesia, I continued my Freebsd porting attempt to the Emprex NSD-100. So far it&#8217;s going quite well. I took the FA526 CPU support from NetBSD, I use the 8250 driver for the UART, and default EHCI driver. I &#8230; <a href="http://tinyhack.com/2009/05/10/str9104-cns1104-freebsd-arm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Returning from Indonesia, I continued my Freebsd porting attempt to the Emprex NSD-100. So far it&#8217;s going quite well. I took the FA526 CPU support from NetBSD, I use the 8250 driver for the UART, and default EHCI driver. I got stuck for a while on the EHCI part until Hans Petter Selasky pointed me that there might a problem in the busdma/cache handling. With the EHCI part fixed, I can get to the userland, booting from USB stick.</p>
<p>The remaining drivers that needs to be written are the OHCI and network. The OHCI shouldn&#8217;t take too much time, but I think the network will take quite a long time.</p>
<p>I was planning to clean up, and release the code today, but I was busy with something else, so may be I will release the code in the next few days. For those of you who are curious about the boot log, here it is:<br />
<span id="more-124"></span></p>
<pre>
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #169: Sun May 10 01:25:55 WIT 2009
    yohanes@cameron:/usr/home/yohanes/freebsd/freebsd/src/sys/arm/compile/CNS11XXNAS
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
Preloaded elf kernel "elf kernel" at 0xc12d30b8.
unknown CPU (ID = 0x66015261)
  WB enabled LABT
  16KB/16B 2-way Instruction cache
  16KB/16B 2-way write-back-locking-B Data cache
real memory  = 67108864 (64 MB)
Physical memory chunk(s):
00000000 - 0xffffff, 16777216 bytes (4096 pages)
0x1337000 - 0x3eaefff, 45580288 bytes (11128 pages)
avail memory = 61718528 (58 MB)
ULE: setup cpu 0
nfslock: pseudo-device
null: &lt;null device, zero device&gt;
random: &lt;entropy source, Software, Yarrow&gt;
mem: &lt;memory&gt;
econaarm0: &lt;ECONA device bus&gt; on motherboard
econa add children
econa add child econa_ic addr 7d000000
econa add child uart addr 78000000
econa add child timer addr 79000000
econa add child ehci addr f8000000
econa_alloc_resource start 00000000 end ffffffff, count = 00000008
econa_alloc_resource start 00000000 end ffffffff, count = 00000008
econa_alloc_resource start 78000000 end 78ffffff, count = 01000000
sys_res_memory
Alloc OK
econa_alloc_resource start 00000000 end ffffffff, count = 00000008
econa_alloc_resource start 00000000 end ffffffff, count = 00000008
econa_alloc_resource start 78000000 end 78ffffff, count = 01000000
sys_res_memory
Alloc OK
uart0: &lt;Non-standard ns8250 class UART with FIFOs&gt; mem 0x78000000-0x78ffffff irq 10 on econaarm0
econa_alloc_resource start 00000000 end ffffffff, count = 00000008
econa_alloc_resource start 78000000 end 78ffffff, count = 01000000
sys_res_memory
Alloc OK
econa_alloc_resource start 00000000 end ffffffff, count = 00000001
econa_alloc_resource start 0000000a end 0000000a, count = 00000001
sys_res_irq
Alloc OK
uart0: [FILTER]
uart0: fast interrupt
uart0: console (38461,n,8,1)
timer0: &lt;Econa CPU Timer&gt; mem 0x79000000-0x79ffffff irq 0,1 on econaarm0
econa_alloc_resource start 00000000 end ffffffff, count = 00000001
econa_alloc_resource start 79000000 end 79ffffff, count = 01000000
sys_res_memory
Alloc OK
econa_alloc_resource start 00000000 end ffffffff, count = 00000001
econa_alloc_resource start 00000000 end 00000000, count = 00000001
sys_res_irq
Alloc OK
STR9100 CPU Clock: 200 MHz
HZ = 100
reload value = 500000
IRQ Timer1 at int #0x0 clock 100000000(Hz)
timer0: [FILTER]
DONE timer
done00000000
ehci probe
ehci probe
ehci0: &lt;CNS11XX USB EHCI&gt; mem 0xf8000000-0xffffffff irq 24 on econaarm0
econa_alloc_resource start 00000000 end ffffffff, count = 00000001
econa_alloc_resource start f8000000 end ffffffff, count = 08000000
sys_res_memory
Alloc OK
econa_alloc_resource start 00000000 end ffffffff, count = 00000001
econa_alloc_resource start 00000018 end 00000018, count = 00000001
sys_res_irq
Alloc OK
add USB device
setup intr
ehci0: [MPSAFE]
ehci0: [ITHREAD]
init ehci
usbus0: EHCI version 1.0
probe and attach
usbus0: &lt;CNS11XX USB EHCI&gt; on ehci0
done
initcloks
enabling timer
Timecounter "CPU Timer" frequency 50000000 Hz quality 1000
Timecounters tick every 10.000 msec
usbus0: 480Mbps High Speed USB v2.0
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
ugen0.1: &lt;Cavium&gt; at usbus0
uhub0: &lt;Cavium EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1&gt; on usbus0
uhub0: 2 ports with 2 removable, self powered
ugen0.2: &lt;Kingston&gt; at usbus0
umass0: &lt;Kingston DataTraveler 2.0, class 0/0, rev 2.00/1.00, addr 2&gt; on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x0000
register sim 0
scanning the sim
umass0:0:0:-1: Attached to scbus0
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
(probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0
(probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed
(probe0:umass-sim0:0:0:0): (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0
(probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed
Retrying Command (per Sense Data)
(probe0:umass-sim0:0:0:0): Retrying Command
pass0 at umass-sim0 bus 0 target 0 lun 0
pass0: &lt;Kingston DataTraveler 2.0 1.00&gt; Removable Direct Access SCSI-2 device
pass0: 40.000MB/s transfers
da0 at umass-sim0 bus 0 target 0 lun 0
da0: &lt;Kingston DataTraveler 2.0 1.00&gt; Removable Direct Access SCSI-2 device
da0: 40.000MB/s transfers
da0: 1906MB (3903578 512 byte sectors: 255H 63S/T 242C)
GEOM: new disk da0
GEOM_LABEL: Label for provider da0s1a is ufsid/4a01b053676144f3.
GEOM_LABEL: Label for provider da0s1a is ufs/FreeBSDonUSB.
root_mount_prepare 100

Manual root filesystem specification:
  &lt;fstype&gt;:&lt;device&gt;  Mount &lt;device&gt; using filesystem &lt;fstype&gt;
                       eg. ufs:/dev/da0a
  ?                  List valid disk boot devices
  &lt;empty line&gt;       Abort manual input

mountroot&gt; ufs:da0s1a
Trying to mount root from ufs:da0s1a
warning: no time-of-day clock registered, system time will not be set accurately
start_init: trying /sbin/init
Enter full pathname of shell or RETURN for /bin/sh:
# ls /
.snap		dev		media		root		usr
COPYRIGHT	etc		mnt		sbin		var
bin		lib		proc		sys
boot		libexec		rescue		tmp
</pre>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/05/10/str9104-cns1104-freebsd-arm/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Too many things to do</title>
		<link>http://tinyhack.com/2009/04/05/too-many-things-to-do/</link>
		<comments>http://tinyhack.com/2009/04/05/too-many-things-to-do/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 15:17:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=122</guid>
		<description><![CDATA[There are so many things to do lately, but so little time. Plus i have so many dental problems lately, three of my molar teeth has been pulled out in the last 2 months, and going to have the fourth &#8230; <a href="http://tinyhack.com/2009/04/05/too-many-things-to-do/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There are so many things to do lately, but so little time. Plus i have so many dental problems lately, three of my molar teeth has been pulled out in the last 2 months, and going to have the fourth taken next month. Going to dentist and waiting for the recovery always takes away my free time.</p>
<p>My wife just bought Nokia 5800, a Nokia series 60 5th edition phone. It means that i need to finish my SymbianBible port for 5th edition (mostly done, beta version is on symbianbible google groups). My wife also asked me to port MultiCounter to her new phone (done, not yet uploaded).</p>
<p>I have cleaned up the 2.6.29 port of STR9104 Soc, but i will need to clean up again, because of the new documentation from www.cnusers.org. I have also started the freebsd port, but the progress is not much yet.<br />
<span id="more-122"></span><br />
When the NSD Emprex 100 arrived, i realized that I need more network ports. I only have 4 ports on my WRT54GL and all of them have been used. After looking at hubs and routes prices around chiang mai, they are in 500-1000 baht range, that is not cheap so I decided that I should just buy something a little bit more  expensive that I can hack. I saw DLink DIR-300 sold at relatively cheap price 1490 baht (43 usd, cheap for Chiang Mai price), this is 700 baht (20 usd) cheaper compared to WRT54GL, with almost same hardware spec (4 Mb ROM, 16 Mb RAM). I spent some time installing openwrt on this router, because I was so confused with the factory built interface.</p>
<p>I am planning to go to Indonesia for 10 days, so during that time, I don&#8217;t think I will be able to do much hacking, but I want to still continue studying freebsd. So I decided to install FreeBSD on our EEE PC 901. This was not difficult, but it took quite some time to setup everything.</p>
<p>Here are some of the things that i&#8217;ve done on the EEE PC: setup FreeBSD ARM cross compile, setup Linux ARM cross compilation, setup LXR for FreeBSD current sources. Unfortunately WIFI is still not supported on EEE 901, and all (I only have 2) of my USB bluetooth doesnt work.</p>
<p>Note: I haven&#8217;t made tha 64 Mb Linux Kernel Image. I was affraid that someone made a mistake flashing it to 32 Mb device, which will made it unusable. Of course serial port can still save it, but not every one can make a serial port. With the new documentation I found, I will be able to make kernel image that can autodetect the memory size.</p>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/04/05/too-many-things-to-do/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>STAR9104: Linux Kernel 2.6.29 and Starting FreeBSD port</title>
		<link>http://tinyhack.com/2009/03/29/star9104-linux-kernel-2629-and-starting-freebsd-port/</link>
		<comments>http://tinyhack.com/2009/03/29/star9104-linux-kernel-2629-and-starting-freebsd-port/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 05:37:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[agestar]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tinyhack.com/?p=117</guid>
		<description><![CDATA[I&#8217;ve finally updated my patch to 2.6.29, the patch can be downloaded from: http://tinyhack.com/agestar/patch-2.6.29-star.gz and the config file: http://tinyhack.com/agestar/config-2.6.29-star or if you want the image that i already compiled and test (image is compiled with 32 MB memory). This is &#8230; <a href="http://tinyhack.com/2009/03/29/star9104-linux-kernel-2629-and-starting-freebsd-port/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally updated my patch to 2.6.29, the patch can be downloaded from:<br />
<a href="http://tinyhack.com/agestar/patch-2.6.29-star.gz" target="_blank">http://tinyhack.com/agestar/patch-2.6.29-star.gz</a></p>
<p>and the config file:</p>
<p><a href="http://tinyhack.com/agestar/config-2.6.29-star" target="_blank">http://tinyhack.com/agestar/config-2.6.29-star</a></p>
<p>or if you want the image that i already compiled and test (image is compiled with 32 MB memory). This is NOT a FIRMWARE</p>
<p><a href="http://tinyhack.com/agestar/zImage-2.6.29" target="_blank">http://tinyhack.com/agestar/zImage-2.6.29</a></p>
<p>when i have the time, i will work on creating a new firmware image.</p>
<p>Some changes:</p>
<ul>
<li>The machine ID is now registered in <a href="http://www.arm.linux.org.uk/developer/machines/">http://www.arm.linux.org.uk/developer/machines/</a></li>
<li>The network problem instability has now been fixed</li>
<li>Added new configuration option to select memory size based on your board memory (16, 32, or 64 mb). Note: selecting values larger than the supported size will cause crash.</li>
</ul>
<p>The other news is that Bruce M Simpson has donated me an Emprex NSD 100 for porting FreeBSD to it. I have started my work, but the progress will be slower from the Linux at the beginning, because:</p>
<ol>
<li>I am more familiar with Linux kernel compared to FreeBSD kernel</li>
<li>Currently FreeBSD kernel itself doesn&#8217;t support many ARM devices yet, so to find an exmple of something I need to look at NetBSD, (and it helps, for example the Faraday 526 processor support is already in NetBSD).</li>
<li>I am rather busy this and coming month (planning to go to Indonesia for about 10 days)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://tinyhack.com/2009/03/29/star9104-linux-kernel-2629-and-starting-freebsd-port/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

