<?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>vm-kernel &#187; JZ</title>
	<atom:link href="http://vm-kernel.org/blog/category/jz/feed/" rel="self" type="application/rss+xml" />
	<link>http://vm-kernel.org/blog</link>
	<description>All about emulation and virtualization</description>
	<lastBuildDate>Sat, 17 Apr 2010 03:51:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Let&#039;s bring virtualization into MIPS&#039;s world</title>
		<link>http://vm-kernel.org/blog/2009/02/25/lets-bring-virtulization-into-mipss-world/</link>
		<comments>http://vm-kernel.org/blog/2009/02/25/lets-bring-virtulization-into-mipss-world/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 07:35:19 +0000</pubDate>
		<dc:creator>yajin</dc:creator>
				<category><![CDATA[ARM/MIPS]]></category>
		<category><![CDATA[JZ]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[jz-hacking]]></category>
		<category><![CDATA[Links:Virtualization]]></category>
		<category><![CDATA[loongson]]></category>

		<guid isPermaLink="false">http://vm-kernel.org/blog/2009/02/25/lets-bring-virtulization-into-mipss-world/</guid>
		<description><![CDATA[I have spent about 1 month in making linux run on onda vx747 and it works now. Although it is a achievement, it's not the end of project jz-hacking.
These days I am always thinking about bringing virtualization into MIPS's world. You know, xen has been ported into ARM by Samsung and kvm into PPC by [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">I have spent about 1 month in making <a href="http://vm-kernel.org/blog/2009/02/24/linux-on-onda-vx747/">linux run on onda vx747</a> and it works now. Although it is a achievement, it's not the end of project jz-hacking.</p>
<p align="justify">These days I am always thinking about bringing virtualization into MIPS's world. You know, <a href="http://www.youtube.com/watch?v=ylEy-WT3JF4">xen has been ported into ARM</a> by Samsung and <a href="http://kvm.qumranet.com/kvmwiki/KvmForum2008?action=AttachFile&amp;do=get&amp;target=kdf2008_10.pdf">kvm into PPC by IBM</a>. X86, not even to say,  has the most complete support of virtualization in hardware and software. But to MIPS, there is nothing. Neither there is no virtualization support in MIPS's world nor anyone wants to do this(at least I have NOT heard of that).</p>
<p align="justify">I think you may ask who needs virtualization or why we need virtualization in MIPS's world. Well, that's a good question which is not easy to answer. Let's divide MIPS's world into two parts: high performance computing and embedded devices. For the first part, the advantage of virtualization is obvious, for example, making better resource utilization.To the embedded world, let's use mobile phone as an example, using virtualization can make your device more secure by isolating the critical part, communicating protocol for example, from feature rich os(linux for example). Because of isolation, the virus on linux can not control your system's critical part.</p>
<p align="justify">Loongson has done great job in developing 2E and 2F, but that's not enough. I find that loongson has put many effort into x86 binary translation acceleration in last few years. That's a good point to get more market share. But we need to consider one thing first, if one customer wants to buy a MIPS translated x86 cpu, why does not he buy a x86 cpu directly? I think there is one area which loongson should put even more effort into. That is virtualization!</p>
<p align="justify">Virtualization can be achieved by hardware and/or software, with the better performance if hardware supports this feature. To the software virtualization, we already have xen/kvm/lguest and OKL4(it seems to focus on embedded world). Xen is a paravirtualization solution while kvm is a full virtualization solution. The most obvious difference between paravirtualization and full virtualization is prarvirtualization needs to modify the guest operation system while full virtualization needn't. Of course you can do this in full virtualization to achieve better performance.</p>
<p align="justify">According to MIPS, I think there should be a solution of virtualization. Either kvm or xen is ok. The important part is that we need to have one. That's what I was planned todo even in one year ago when I was busy developing virtualmips. I spent some days on porting <a href="http://lguest.ozlabs.org/">lguest</a> to jz4740 in last July. But at last I gave up. Now I want to do it again. I plan to port lguest to jz4740 and  loongson 2f first. With the help of this experience, I can gain some knowledge about virtualization on MIPS platform. And then kvm is planned to be ported to loongson 2f. Image that one day we can run five linux operating systems on loongson 2f at the same time, is it cool?</p>
<p align="justify">If you are interested in virtualization, let's work together to make this happen. Do not leave MIPS alone while other boys all have virtualization to play with. <img src='http://vm-kernel.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vm-kernel.org/blog/2009/02/25/lets-bring-virtulization-into-mipss-world/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Problems I meet when porting linux to onda vx747</title>
		<link>http://vm-kernel.org/blog/2009/02/24/problems-i-meet-when-porting-linux-to-onda-vx747/</link>
		<comments>http://vm-kernel.org/blog/2009/02/24/problems-i-meet-when-porting-linux-to-onda-vx747/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 06:20:25 +0000</pubDate>
		<dc:creator>yajin</dc:creator>
				<category><![CDATA[JZ]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[frame buffer console]]></category>
		<category><![CDATA[jz4740]]></category>
		<category><![CDATA[qtopia]]></category>
		<category><![CDATA[vx747]]></category>

		<guid isPermaLink="false">http://vm-kernel.org/blog/2009/02/24/problems-i-met-when-porting-linux-to-onda-vx747/</guid>
		<description><![CDATA[1. About jz4740 DMA
JZ4740 has 2 groups of DMA, 4 channels in each group. The default prority is channel 0 has the highest priority and channel 7 has the loweset priority.
Channel 0 is used for SLCD and channel 2/3 are used for MMC TX/RX. Because the SLCD DMA is busy transmitting data from frame buffer [...]]]></description>
			<content:encoded><![CDATA[<p>1. About jz4740 DMA</p>
<p>JZ4740 has 2 groups of DMA, 4 channels in each group. The default prority is channel 0 has the highest priority and channel 7 has the loweset priority.</p>
<p>Channel 0 is used for SLCD and channel 2/3 are used for MMC TX/RX. Because the SLCD DMA is busy transmitting data from frame buffer to LCD controller, so that MMC DMA is in hunger and the root filesystem can not be loaded from micro sd card.</p>
<p>In SLCD driver, set the DMA priority to round bin.</p>
<p>2. Issues about qtopia</p>
<p>(1)QWSServerSocket: could not bind to file /tmp/qtembedded-unknown/QtEmbedded-0</p>
<p>Error: File exists</p>
<p>Failed to bind to /tmp/qtembedded-unknown/QtEmbedded-0</p>
<p>Add networking support in linux kernel.</p>
<p>Networking support-&gt;Networking options-&gt;Unix domain sockets</p>
<p>(2)QServerSocket: failed to bind or listen to the socket<br />
Failed to bind to port 4243<br />
QServerSocket: failed to bind or listen to the socket<br />
Failed to bind to port 4242</p>
<p>According to <a title="http://osdir.com/ml/handhelds.opie/2002-10/msg00253.html" href="http://osdir.com/ml/handhelds.opie/2002-10/msg00253.html">http://osdir.com/ml/handhelds.opie/2002-10/msg00253.html</a>,</p>
<blockquote><p>Opie is binding to the ports 4242(ftp) and 4243(qcopbridge) this is needed for<br />
syncing.. Opie got terminated and restarted somehow and did not properly<br />
release the sockets..<br />
I guess this is a kernel security feature.</p></blockquote>
<p>That's because Opie can not bind to port 4242 and 4243. After enabling TCP/IP support in linux kernel, this problem is solved.</p>
<p>Networking support-&gt;Networking options-&gt;TCP/IP networking</p>
<p>(3)Unable to open /usr/share/zoneinfo/zone.tab</p>
<p>That's because zoneinfo directory is missed. Copy it from my debian and it works.</p>
<p>3. Issues about framebuffer console</p>
<p>When I pass console=fb0 to linux kernel, the framebuffer does not appear on LCD. I am sure the LCD driver is working because the qtopia can run successfully. And I have enabled framebuffer console support in linux kernel.</p>
<p>Pass console=tty0 to linux kernel can solve this problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://vm-kernel.org/blog/2009/02/24/problems-i-meet-when-porting-linux-to-onda-vx747/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux on onda vx747(updated)</title>
		<link>http://vm-kernel.org/blog/2009/02/24/linux-on-onda-vx747/</link>
		<comments>http://vm-kernel.org/blog/2009/02/24/linux-on-onda-vx747/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 04:13:19 +0000</pubDate>
		<dc:creator>yajin</dc:creator>
				<category><![CDATA[JZ]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[jz4740]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[onda]]></category>
		<category><![CDATA[qtopia]]></category>
		<category><![CDATA[vx747]]></category>

		<guid isPermaLink="false">http://vm-kernel.org/blog/2009/02/24/linux-on-onda-vx747/</guid>
		<description><![CDATA[Before reading this article, please please visit the following website and help this little girl. She is the daughter of panjet, the core member of this project. Without him, this project can not even happen. 
http://yifanfund.com (English)
在阅读这篇文章前, 我恳请您花一点时间来帮助panjet的女儿怡帆. Panjet是这个项目的核心成员.如果没有他的参与,这个项目不可能成功地port linux到vx747上面. 赠人玫瑰,手留余香.  您的爱心一定能让小怡帆度过目前的困难.
http://help-yifan.org (中文)

Hi guys, a good news for you who are interested in running linux [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><strong>Before reading this article, please please visit the following website and help this little girl. She is the daughter of panjet, the core member of this project. Without him, this project can not even happen. </strong></p>
<p align="justify"><a href="http://yifanfund.com/">http://yifanfund.com</a> (English)</p>
<p align="justify"><strong>在阅读这篇文章前, 我恳请您花一点时间来帮助panjet的女儿怡帆. Panjet是这个项目的核心成员.如果没有他的参与,这个项目不可能成功地port linux到vx747上面. 赠人玫瑰,手留余香.  您的爱心一定能让小怡帆度过目前的困难.</strong></p>
<p align="justify"><a href="http://help-yifan.org/">http://help-yifan.org</a> (中文)</p>
<p align="justify"><img class="alignnone" title="Yifan" src="http://yifanfund.com/images/header/header.jpg" alt="" width="790" height="308" /></p>
<p align="justify">Hi guys, a good news for you who are interested in running linux on jz4740 based devices. First I would link to say it is not a very easy work although ingenic has released the linux source code. Secondly I would like to say thanks to many people who helped me a lot, vxworks,panjet,esoul of <a href="http://www.linuxforum.net/forum/postlist.php?Cat=&amp;Board=embedded&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=0">linuxforum</a> and Maurus Cuelenaere, the great rockbox guy.</p>
<p align="justify">Hey do not be so boring to say these useless words. Tell me how do you do that. Ok. Please be patient.</p>
<p align="justify">Currently linux can run on onda vx747 without writting any things to your nand flash. What you need is just a micro sd card  bigger than 128M bytes where you put linux kernel and root filesystem. Of course, if you want to replace the original firmware and write u-boot into nand flash, I can tell you how to do it. Even after writing u-boot into your nand flash you can still reinstall the original firmware. So please do not worry about your devices.  It won't be damaged.</p>
<p align="justify">1. Download the following files from jz_hacking.</p>
<p align="justify">(1)<a href="http://jz-hacking.googlecode.com/files/jz_tools_20090224.tar.bz2">jz_tools_20090224.tar.bz2</a>: It contains a tool called usbtool which uploads your program into jz4740's internal sram directly.</p>
<p align="justify">md5:1520851babe97da15651f9bef2c1ac5f</p>
<p align="justify">(2)<a href="http://jz-hacking.googlecode.com/files/jz_hacking_20090224.tar.bz2">jz_hacking_20090224.tar.bz2</a>: It contains u-boot image, jz_xloader and linux image.</p>
<p align="justify">md5:ac755b694f6e38224560a9051f1392e7</p>
<p align="justify">(3)<a href="http://jz-hacking.googlecode.com/files/root26.tar.bz2">root26.tar.bz2</a>: root file system of linux 2.6 kernel with qtopia</p>
<p align="justify">md5:738f6dfc648d36229a799d1d608655d1</p>
<p align="justify">Some guy says that this bz2 file is corrupted. I have tried downloading it using firefox in window and the file downloaded is corrupted!. But when I use other download tool it is ok. So if you can not unpack this package, you can try downloading it using other download tool. Wget in linux works well.</p>
<p align="justify">2. Make usbtool</p>
<p align="justify">Decompress the jz_tools_20090224.tar.bz2 and build the usbtool. It can be compiled in linux or minigw on windows. Please first read the README file in 'jz_tools_20090224/usb_tools'.</p>
<p align="justify">In linux, libusb-dev needs to be installed first. In windows, install MingW32 and LibUSB-Win32 and edit "Makefile" to make sure "WIN_DRIVERS_LIBUSB_DIR" is set correctly.</p>
<p align="justify">Type 'make linux' in linux platform and 'make win' on windows to build usbtool. After that copy jz_xloader.bin and u-boot-boot-linux.bin and u-boot-program-nand.bin from jz_hacking_20090224 into this directory.</p>
<p align="justify">3. Prepare your micro sd card</p>
<p align="justify">First you need to format sd card into <span style="text-decoration: line-through;">two </span>three partitions, one is fat and the other is ext2 and the third partition is swap. You do not know how to do it? Do not worry. <a href="http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat">This wiki page</a> on beagle board tells you how to do it.  Please  to format your first partition to FAT16 format, not FAT32 referred on the wiki page. That mean you have to use 'mkfs.vfat -F 16' to format the first partition. Use mkswap command in linux to format the third partition into swap space. In xp, you can use partition magic to do this job.</p>
<p align="justify">Download the following files:</p>
<ul>
<li><a style="white-space: nowrap;" href="http://jz-hacking.googlecode.com/files/uImage-vx747-20090303">uImage-vx747-20090303</a> :this is the linux kernel with sound support</li>
<li><a style="white-space: nowrap;" href="http://jz-hacking.googlecode.com/files/rcS-vx747-20090303">rcS-vx747-20090303</a> :This is the init script for vx747.</li>
<li><a style="white-space: nowrap;" href="http://jz-hacking.googlecode.com/files/rcS-vx747-20090303"></a><a style="white-space: nowrap;" href="http://jz-hacking.googlecode.com/files/pointercal-vx747-20090302">pointercal-vx747-20090302</a> :This is the touch screen calibration data  for vx747.</li>
</ul>
<p align="justify">After you finish formatting your micro sd card, rename uImage-vx747-20090303 to uImage and copy it to your fat partition. Copy u-boot-nand.bin from jz_hacking_20090224 to your fat pattition. Do <strong>NOT</strong> copy uImage in jz_hacking_20090224 to your fat partition. It is the old linux kernel image. Now we have uImage-vx747-20090303 and we do not need it anymore. Copy all the files in root26 into the ext2 partition. Rename rcS-vx747-20090303 to rcS and copy it to directory 'ext/init.d/rcS' of the ext2 partition of your SD card. Rename pointercal-vx747-20090302 to pointercal and copy it to the directory 'ext/pointercal'.</p>
<p align="justify">4. Boot linux</p>
<p align="justify">Ok, it is time to boot linux. Insert the sd card into onda vx747. Press the reset button and hold the M button at the same time to enter usb boot mode. Run the usbtool using the following commands.</p>
<blockquote>
<p align="justify"><span style="background-color: #ffffff;">./usbtool 1 jz_xloader.bin 0x80000000</span></p>
<p align="justify"><span style="background-color: #ffffff;">./usbtool 1 u-boot-boot-linux.bin 0x80100000<br />
</span></p></blockquote>
<p align="justify">If that does not work in your system(some guy says it does that work on ubuntu), you can try the following commands:</p>
<blockquote>
<p align="justify"><span style="background-color: #ffffff;">sudo ./usbtool 12<br />
</span></p></blockquote>
<p align="justify">Then you can see the u-boot logo. It will load uImage from micro sd card into SDRAM automatically and then boot from SDRAM. After that, linux logo will appear on LCD with framebuffer console output. At last, qtopia is running and you can play with it.</p>
<p align="justify">5. Programing u-boot into nand flash(optional)</p>
<p align="justify">If you decide to replace the original firmware and write u-boot into nand flash, you can use u-boot-program-nand.bin to do that.</p>
<blockquote>
<p align="justify"><span style="background-color: #ffffff;">./usbtool 1 jz_xloader.bin 0x80000000</span></p>
<p><span style="background-color: #ffffff;">./usbtool 1 u-boot-program-nand.bin 0x80100000</span></p></blockquote>
<p align="justify">Also 'sudo ./usbtool 13' can work.</p>
<p align="justify">It will write u-boot into nand flash and reboot onda vx747 automatically.</p>
<p align="justify">If you want to restore the original firmware, <a href="http://www.rockbox.org/twiki/bin/view/Main/OndaVX747#Official_flash_recovery">this information may help you</a>.</p>
<p align="justify">I only test the linux kernel and u-boot on my 4G bytes onda vx747 with 16M SDRAM. Some guy says that there is another model of vx747 with 32M SDRAM, I have not tried on that device. If you have any suggestion, please wirte to me(yajin AT vm-kernel.org). Spams are not welcome. <img src='http://vm-kernel.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p align="justify">Current Issue:</p>
<ul>
<li><span style="text-decoration: line-through;">Touch screen is not accurate </span>(solved)</li>
<li><span style="text-decoration: line-through;">Sound is not working </span>(solved)</li>
<li><span style="text-decoration: line-through;">time and date setting </span>(solved)<span style="text-decoration: line-through;"><br />
</span></li>
<li>nand driver of u-boot is not working on 8G vx747 (not yet. I do not have the 8G version of vx747)</li>
</ul>
<p>Please be patient. I will solve these problems.</p>
<p align="justify">Also any donation of jz4740/4750 based device is appreciated.</p>
<p align="justify">For anyone interested, the source code of u-boot and linux-kernel is available here.</p>
<p align="justify">http://code.google.com/p/jz-hacking/wiki/Index?tm=6#source_code</p>
<p align="justify"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jbMxSP7_jqY&amp;hl=zh_CN&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/jbMxSP7_jqY&amp;hl=zh_CN&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://vm-kernel.org/blog/2009/02/24/linux-on-onda-vx747/feed/</wfw:commentRss>
		<slash:comments>133</slash:comments>
		</item>
		<item>
		<title>Cause register bug in qemu-jz</title>
		<link>http://vm-kernel.org/blog/2009/01/16/cause-register-bug-in-qemu-jz/</link>
		<comments>http://vm-kernel.org/blog/2009/01/16/cause-register-bug-in-qemu-jz/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 11:24:39 +0000</pubDate>
		<dc:creator>yajin</dc:creator>
				<category><![CDATA[JZ]]></category>
		<category><![CDATA[emulation]]></category>
		<category><![CDATA[MIPS]]></category>
		<category><![CDATA[qemu-jz]]></category>

		<guid isPermaLink="false">http://vm-kernel.org/blog/2009/01/16/cause-register-bug-in-qemu-jz/</guid>
		<description><![CDATA[In MIPS, cause register is responsible for telling CPU which interrupt is happening. CPU read the IP bits in cause register and dispatch interrupt to interrupt service routine.
One question: who is responsible for clear IP bits in cause register? That is interrupt handler. Interrupt handler must clear the corresponding IP bit in cause register, othewise [...]]]></description>
			<content:encoded><![CDATA[<p>In MIPS, cause register is responsible for telling CPU which interrupt is happening. CPU read the IP bits in cause register and dispatch interrupt to interrupt service routine.</p>
<p>One question: who is responsible for clear IP bits in cause register? That is interrupt handler. Interrupt handler must clear the corresponding IP bit in cause register, othewise next time, interrupt is reenabled, CPU thinks the interrupt is still happening!</p>
<p>In linux, the function to clear IP bit in mask_and_ack_intc_irq. In JZ4740, it is:</p>
<blockquote><p>50 static void mask_and_ack_intc_irq(unsigned int irq)     <br />51 {      <br />52&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; __intc_mask_irq(irq);      <br />53&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; __intc_ack_irq(irq);      <br />54 }</p>
</blockquote>
<blockquote><p>1372 #define __intc_mask_irq(n)&#160;&#160;&#160;&#160;&#160; ( REG_INTC_IMSR = (1 &lt;&lt; (n)) )     <br />1373 #define __intc_ack_irq(n)&#160;&#160;&#160;&#160;&#160;&#160; ( REG_INTC_IPR = (1 &lt;&lt; (n)) )</p>
</blockquote>
<p>Linux writes to REG_INTC_IPR to clear pending interrupt and JZ4740 interrupt controller will clear the interrupt signal to MIPS CPU.</p>
<p>In qemu-jz, when writing to REG_INTC_IPR, the interrupt to MIPS cpu is not cleared and linux runs in a dead loop.</p>
<p>The following is the interrupt handling process in MIPS CPU.</p>
<p>1. Set ECP=PC and CPU jumps to 0x80000200 and then to handle_int. The interrupt is disabled.</p>
<p>2. Function handle_int will save all the register(including EPC so that interrupt can be nested) to stack and call plat_irq_dispatch. </p>
<p>3. After the irq is processed, it will reenable the in function __do_softirq. If a new interrupt is coming at this time(check the IP bits cause register), go to 1. otherwise go to 4.</p>
<p>4. Call ret_from_irq and restore all the register(including EPC) and using ERET to set PC=EPC.</p>
<p>5. Runs from PC.</p>
<p>Because of the IP bits in cause register is not cleared, linux will run into a dead loop between 1 and 3.</p>
<p>Thanks to the log function and remote gdb. Really hard to find this bug in qemu-jz.</p>
]]></content:encoded>
			<wfw:commentRss>http://vm-kernel.org/blog/2009/01/16/cause-register-bug-in-qemu-jz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to run rockbox on vx747</title>
		<link>http://vm-kernel.org/blog/2009/01/12/how-to-run-rockbox-on-vx747/</link>
		<comments>http://vm-kernel.org/blog/2009/01/12/how-to-run-rockbox-on-vx747/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 03:55:44 +0000</pubDate>
		<dc:creator>yajin</dc:creator>
				<category><![CDATA[JZ]]></category>
		<category><![CDATA[jz4732]]></category>
		<category><![CDATA[jz4740]]></category>
		<category><![CDATA[rockbox]]></category>
		<category><![CDATA[vx747]]></category>

		<guid isPermaLink="false">http://vm-kernel.org/blog/2009/01/12/how-to-run-rockbox-on-vx747/</guid>
		<description><![CDATA[Caution: This article is out-dated. You can find the new how to in rockbox's wiki.
This article describes how to run rockbox on vx747 and vx747+.
1. Download rockbox from daily archive or svn. I use the svn version 19703.
2. build the toolchain. You can build the toolchain from ingenic or use the script in rockbox to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Caution: This article is out-dated. You can find the new how to in <a href="http://www.rockbox.org/twiki/bin/view/Main/OndaVX747#How_to_upload_Rockbox_to_SDRAM">rockbox's wiki</a>.</strong></p>
<p>This article describes how to run rockbox on vx747 and vx747+.</p>
<p>1. Download rockbox from daily archive or svn. I use the svn version 19703.</p>
<p>2. build the toolchain. You can build the toolchain from ingenic or use the script in rockbox to build the toolchain.</p>
<p>Option 1) download the source code from <a href="ftp://ftp.ingenic.cn/3sw/01linux/00toolchain/mipseltools-gcc412-lnx26.tar.gz">ingenic ftp</a> and build it.</p>
<p>Option 2) use the rockboxdev.sh in rockbox/tools to build the toolchain.</p>
<p>Add the toolchain to your system's PATH.</p>
<p>3. build the rockbox. If you use the toolchain from ingenic, you should comment the following line in firmware/target/mips/ingenic_jz47xx/boot.lds</p>
<blockquote><p>#OUTPUT_FORMAT("elf32-littlemips")</p></blockquote>
<p>If you buile the toolchain from rockboxdev.sh, we do not need to change boot.lds.</p>
<blockquote><p><span style="background-color: #ffffff;">cd rockbox-19703</span></p>
<p><span style="background-color: #ffffff;">mkdir build</span></p>
<p><span style="background-color: #ffffff;">cd build</span></p>
<p>../tools/configure</p></blockquote>
<p>Choose 120 for vx747 and 122 for vx747+ and then choose B for buile rockbox for bootloader. It will create Makefile in build directory. Type make to build the rockbox. If everything goes ok, file rockboot.vx747 is created. Rename it to onda.bin.</p>
<p>4. Build and use the usbtool to upload onda.bin to vx747.</p>
<blockquote><p>cd utils/jz4740_tools/</p>
<p>make</p></blockquote>
<p>Libusb-dev is needed to build usbtool. You can read the README in jz4740_tools.</p>
<p>Downlaod <a href="http://www.rockbox.org/twiki/bin/viewfile/Main/OndaVX747?rev=1;filename=Log_Files.rar">Log_files.rar</a> and decompress it. Copy 1.bin to utils/jz4740_tools.</p>
<blockquote><p>./usbtool 10</p></blockquote>
<p>It will upload onda.bin to your vx747's SDRAM. Do not worry, it won't corrupt your device.</p>
<p>Following is the screenshot of rockbox on vx747.</p>
<p><a href="http://picasaweb.google.com/lh/photo/nxAGCQw1yUHSn2Q6RXpb2g?feat=embedwebsite"><img src="http://lh6.ggpht.com/_vf_uV7bji2A/SWq--oidmTI/AAAAAAAAAPQ/1P5hAZk1pf4/s400/rockbox-vx747.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://vm-kernel.org/blog/2009/01/12/how-to-run-rockbox-on-vx747/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
