<?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>logIt &#187; DevKit8500D</title>
	<atom:link href="https://lakm.us/logit/tag/devkit8500d/feed/" rel="self" type="application/rss+xml" />
	<link>https://lakm.us/logit</link>
	<description>Log Around The Clock</description>
	<lastBuildDate>Sat, 06 Jun 2015 14:17:37 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Duplicate/Restore ARM Linux Image to MMC/SD Card (BeagleBoard and DevKit ARM)</title>
		<link>https://lakm.us/logit/2013/03/duplicate-restore-arm-linux-image-mmc-sd-card-beagleboard-devkit-board/</link>
		<comments>https://lakm.us/logit/2013/03/duplicate-restore-arm-linux-image-mmc-sd-card-beagleboard-devkit-board/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 10:02:45 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[ARM Linux]]></category>
		<category><![CDATA[ARMv7]]></category>
		<category><![CDATA[backup/restore]]></category>
		<category><![CDATA[BeagleBoard]]></category>
		<category><![CDATA[DevKit8500D]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[rootfs]]></category>

		<guid isPermaLink="false">http://lakm.us/logit/?p=530</guid>
		<description><![CDATA[By booting from MMC/SD card, you can bring up your BeagleBoard-xM or DevKit8500D (both are ARMv7). It is the only way for the xM (microSD card to be exact), while with DevKit, you have the option to flash it to the board for NAND-boot once you&#8217;re sure that it works with SD card. eLinux wiki [...]]]></description>
				<content:encoded><![CDATA[<p>By booting from MMC/SD card, you can bring up your <a href="http://beagleboard.org/hardware-xM" target="_blank">BeagleBoard-xM</a> or <a href="http://www.armkits.com/product/devkit8500d.asp" target="_blank">DevKit8500D</a> (both are <a href="http://en.wikipedia.org/wiki/ARM_Cortex-A8" target="_blank">ARMv7</a>). It is the only way for the xM (microSD card to be exact), while with DevKit, you have the option to flash it to the board for NAND-boot once you&#8217;re sure that it works with SD card. <a href="http://elinux.org" target="_blank">eLinux wiki</a> has some sections about the card setup e.g. <a href="http://elinux.org/BeagleBoardDebian" target="_blank">Debian setup</a>, how to <a href="http://elinux.org/BeagleBoard#U-Boot_booting" target="_blank">start from U-boot prompt</a>, etc.</p>
<p>In the Debian example, the wiki introduced <a href="http://elinux.org/BeagleBoardDebian#Debian_NetInstall" target="_blank">NetInstall</a>. Later I find out the <code>mk_mmc.sh</code> script shown there to be useful for (1) duplicating and (2) restoring working Linux backup to new or corrupted MMC/SD card. I break down that <a href="https://github.com/RobertCNelson/netinstall/blob/bd32dd39732ccf33bfec8895c809f0d4fa79c95c/mk_mmc.sh" title="mk_mmc.sh (tree bd32dd3973)" target="_blank">Robert C. Nelson&#8217;s <code>mk_mmc.sh</code> script at GitHub</a> to small routines for setting up the card.</p>
<div class="wp-caption aligncenter" style="width: 460px"><img alt="typical-sd-card-partition-arm-linux-board.png" src="../../../../images/typical-sd-card-partition-arm-linux-board.png" title="Typical boot-rootfs partitions of SD card to boot ARM-Linux boards" width="334" height="131" /><p class="wp-caption-text">Typical boot-rootfs partitions of SD card to boot ARM-Linux boards</p></div>
<p>It&#8217;s an elegant script automating the process of preparing SD card for embedded Linux, but requires large downloading on the run (mostly root file system and then <a href="http://www.denx.de/wiki/U-Boot" title="Das U-Boot" target="_blank">U-Boot</a> binaries and loader config). Duplicating/restoring means we already have those and probably only need to do elementary process rather than full card preparation. Below are some processes that can be repeatedly used.</p>
<p><span id="more-530"></span><a id="Checking.Version" href="#Checking.Version" rel="bookmark" title="Checking Tool Versions"><br />
<h4>Checking Tool Versions</h4>
<p></a></p>
<p>The tools to work with are common in Linux distribution (I used Ubuntu) and require <code>root</code> privilege. The script checked for <code>fdisk</code> and <code>parted</code> installed. My versions are</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ fdisk <span style="color: #660033;">-v</span>
fdisk <span style="color: #7a0874; font-weight: bold;">&#40;</span>util-linux-ng 2.17.2<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ parted <span style="color: #660033;">-v</span>
parted <span style="color: #7a0874; font-weight: bold;">&#40;</span>GNU parted<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2.2</span></pre></div></div>

<p>Originally <code>mk_mmc.sh</code> will exit If &#8220;<code>GNU Fdisk</code>&#8221; found instead. Also for the above <code>parted</code> version, &#8220;<code>--align cylinder</code>&#8221; argument will be used.</p>
<p><a id="Creating.Partitions" href="#Creating.Partitions" rel="bookmark" title="Creating Two Partitions"><br />
<h4>Creating Two Partitions</h4>
<p></a></p>
<p>Setting up two partitions which are the boot image (<code>FAT 16</code>) and root file system (<code>ext4</code>). The SD card plugged in through USB card reader found as <code>/dev/sdb</code> in this example (<strong>we&#8217;re formatting be sure of this!</strong>). If you plug MMC card to laptop slot, it may be found as <code>/dev/mmcblk0</code>. </p>
<ol>
<li>Format card into a single disk</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ parted <span style="color: #660033;">--script</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb mklabel msdos
$ fdisk <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb</pre></div></div>

<li>Create the boot partition (allocating 64MB)</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ fdisk <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb <span style="color: #cc0000; font-style: italic;">&lt;&lt; END
n
p
1
1
+64M
t
e
p
w
END</span></pre></div></div>

<p>then make sure it&#8217;s done.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sync</span></pre></div></div>

<li>Flag it as <code>boot</code></li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ parted <span style="color: #660033;">--script</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb <span style="color: #000000; font-weight: bold;">set</span> <span style="color: #000000;">1</span> boot on</pre></div></div>

<li>Create the root file system by first determining space left after the first partition</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #007800;">END_BOOT</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">LC_ALL</span>=C parted <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb unit mb print <span style="color: #c20cb9; font-weight: bold;">free</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> primary <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $3}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;M&quot;</span> -f1<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$END_BOOT</span> 
<span style="color: #000000;">69.7</span>
$ <span style="color: #007800;">END_DEVICE</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">LC_ALL</span>=C parted <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb unit mb print <span style="color: #c20cb9; font-weight: bold;">free</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> Free <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $2}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;M&quot;</span> -f1<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$END_DEVICE</span> 
<span style="color: #000000;">3951</span></pre></div></div>

<p>In this case 4GB SD card is used and the above calculation will stretch space left from 69.7 to 3951 of as <code>rootfs</code> partition.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ parted <span style="color: #660033;">--script</span> <span style="color: #660033;">--align</span> cylinder <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb mkpart primary ext4 <span style="color: #007800;">$END_BOOT</span> <span style="color: #007800;">$END_DEVICE</span></pre></div></div>

<li>Format <code>boot</code> and <code>rootfs</code> according to each file system type with those naming also. They&#8217;re already accessible as <code>/dev/sdb1</code> and <code>/dev/sdb2</code> (previously didn&#8217;t exist) or relevant <code>/dev/mmcblk0p(some index)</code>.</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ mkfs.vfat <span style="color: #660033;">-F</span> <span style="color: #000000;">16</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb1 <span style="color: #660033;">-n</span> boot
$ mkfs.ext4 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb2 <span style="color: #660033;">-L</span> rootfs</pre></div></div>

<li>Finally we have something like the output of <code>parted</code> below</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #007800;">LC_ALL</span>=C parted <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb unit mb print <span style="color: #c20cb9; font-weight: bold;">free</span> 
Model: HUAWEI MMC Storage <span style="color: #7a0874; font-weight: bold;">&#40;</span>scsi<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Disk <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb: 4023MB
Sector <span style="color: #c20cb9; font-weight: bold;">size</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>logical<span style="color: #000000; font-weight: bold;">/</span>physical<span style="color: #7a0874; font-weight: bold;">&#41;</span>: 512B<span style="color: #000000; font-weight: bold;">/</span>512B
Partition Table: msdos
&nbsp;
Number  Start   End     Size    Type     File system  Flags
 <span style="color: #000000;">1</span>      0.03MB  70.9MB  70.8MB  primary  fat16        boot, lba
        70.9MB  4023MB  3953MB           Free Space</pre></div></div>

<p><em>(yes I used Huawei modem as the microSD card reader)</em>
</ol>
<p><a id="Restoring.Linux" href="#Restoring.Linux" rel="bookmark" title="Restoring Linux"><br />
<h4>Restoring Linux</h4>
<p></a></p>
<p>For the <code>boot</code> partition content we can simply copy-paste the backup files, while for <code>rootfs</code> normally compressed file (preserving path information) is used for backup. Restore this by mounting <code>rootfs</code> and then unpacking the file (again <code>/dev/sdb2</code> in this case).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> ext4 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb2 <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ pv armel-rootfs-201110131018.tar <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">--numeric-owner</span> <span style="color: #660033;">--preserve-permissions</span> <span style="color: #660033;">-xf</span> - <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs</pre></div></div>

<p>Below is an example of how to backup <code>rootfs</code> from the mounted SD card (<code>/media/rootfs</code>).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs<span style="color: #666666; font-style: italic;"># tar --numeric-owner --preserve-permissions -cvf /home/arif/Documents/arm-linux/ubuntu/rootstock-rootfs/armel-rootfs-201202141421.tar ./*</span></pre></div></div>

<p>(Check <a href="../../../2011/10/running-ubuntu-on-devkit8500d-natty-kernel-and-lucid-rootfs/" title="Running Ubuntu on DevKit8500D (Natty Kernel and Lucid RootFS)" target="_blank">my other post related to creating <code>rootfs</code></a>)</p>
<p><a id="Creating.Swap" href="#Creating.Swap" rel="bookmark" title="Creating Swap"><br />
<h4>Creating Swap</h4>
<p></a></p>
<p><code>mk_mmc.sh</code> also offers optional <code>swap</code> creation. It is a &#8220;file&#8221; inside <code>rootfs</code> partition created by</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;"><span style="color: #000000; font-weight: bold;">if</span></span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs<span style="color: #000000; font-weight: bold;">/</span>SWAP.swap <span style="color: #007800;">bs</span>=1M <span style="color: #007800;">count</span>=<span style="color: #000000;">250</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ mkswap <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs<span style="color: #000000; font-weight: bold;">/</span>SWAP.swap</pre></div></div>

<p>(the above will create 262MB swap inside <code>rootfs</code> SD card currently mounted to <code>/media/rootfs</code> of the laptop)</p>
<p>It will be mounted as <code>swap</code> by the ARM-Linux board via <code>fstab</code> setting configured below.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;/SWAP.swap  none  swap  sw  0 0&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fstab</pre></div></div>

<p>Synchronize and safely remove the card</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sync</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>host<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>rootfs</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>https://lakm.us/logit/2013/03/duplicate-restore-arm-linux-image-mmc-sd-card-beagleboard-devkit-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Ubuntu on DevKit8500D (Natty Kernel and Lucid RootFS)</title>
		<link>https://lakm.us/logit/2011/10/running-ubuntu-on-devkit8500d-natty-kernel-and-lucid-rootfs/</link>
		<comments>https://lakm.us/logit/2011/10/running-ubuntu-on-devkit8500d-natty-kernel-and-lucid-rootfs/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 12:50:31 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[ARM Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ARMv7]]></category>
		<category><![CDATA[BeagleBoard]]></category>
		<category><![CDATA[DevKit8500D]]></category>
		<category><![CDATA[embedded system]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Lucid]]></category>
		<category><![CDATA[Natty]]></category>
		<category><![CDATA[OMAP3]]></category>
		<category><![CDATA[rootfs]]></category>
		<category><![CDATA[RootStock]]></category>

		<guid isPermaLink="false">http://xp-racy.lan/it/?p=264</guid>
		<description><![CDATA[BeagleBoard xM that comes with Texas Instruments’ DM3730 DaVinci™ processor has its Chinese sister from Embest, the DevKit8500D evaluation kit. This similarity and eLinux wiki (showing working previous DevKit8000) have made me confident that Ubuntu would also port to this board with no hassle. As always, that wasn&#8217;t the story. I tried preinstalled images available [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://beagleboard.org/hardware-xM">BeagleBoard xM</a> that comes with Texas Instruments’ DM3730 DaVinci™ processor has its Chinese sister from Embest, the <a href="http://www.armkits.com/product/devkit8500d.asp">DevKit8500D</a> evaluation kit. This similarity  and <a href="http://elinux.org/Devkit8000_Ubuntu">eLinux wiki</a> (showing working previous DevKit8000) have made me confident that Ubuntu would also port to this board with no hassle. As always, that wasn&#8217;t the story. I tried preinstalled images available on <a href="http://cdimage.ubuntu.com/releases">Ubuntu CD Image</a> and final combination that worked out of a series of trial-and-error was Natty kernel with Lucid rootfs.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="DevKit8500D TI OMAP3" src="../../../../images/devkit8500d.gif" title="DevKit8500D TI OMAP3 " width="300" height="224" /><p class="wp-caption-text">I bricked one of these DevKit8500D by overvoltaged it to 12V DC. Yes, It has no regulator.</p></div>
<p>
Various howto made net-boot or preinstalled images seem feasible, but trying them is another thing. The first attempt was to boot Ubuntu Lucid 10.04 LTS to have similar distribution as my laptop, but it would stop at boot with the message</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Error: unrecognized<span style="color: #000000; font-weight: bold;">/</span>unsupported machine ID <span style="color: #7a0874; font-weight: bold;">&#40;</span>r1 = 0x00000ae9<span style="color: #7a0874; font-weight: bold;">&#41;</span>.</pre></div></div>

<p>The above ID (2793 in decimal) isn&#8217;t found in Lucid released with linux 2.6.32-21. Ubuntu Natty 11.04 boot image didn&#8217;t complain because the ID already listed in <code>/usr/src/linux-source-2.6.38/arch/arm/tools/mach-types</code></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">...
 nemini                  MACH_NEMINI             NEMINI                  <span style="color: #000000;">2793</span>
...</pre></div></div>

<p>However, <a href="http://cdimage.ubuntu.com/releases/11.04/release/ubuntu-11.04-preinstalled-headless-armel+omap.img.gz">ubuntu-11.04-preinstalled-headless-armel+omap.img.gz</a> wouldn&#8217;t finish loading the linux kernel 2.6.38 somehow. Hence, I replaced the root file system using rootfs created using <a href="https://wiki.ubuntu.com/ARM/RootStock">RootStock</a> method. After successful boot, I installed <a href="https://launchpad.net/ubuntu/natty/+package/linux-image-2.6.38-8-omap">linux-image-2.6.38-8-omap_2.6.38-8.42_armel.deb</a> to have the rootfs kernel lib files updated (this would require <code>wireless-crda</code> dependency to be installed).</p>
<p><a id="LucidRooststock" href="#LucidRooststock" rel="bookmark" title="LucidRootstock"><br />
<h4>Creating Lucid RootStock &#038; Replacing Natty&#8217;s</h4>
<p></a></p>
<p>Using RootStock relies much on the host environment, in my case (version 0.1.99.3) the laptop has Lucid with 2.6.38 kernel (Natty), and it failed to create rootfs with option <code>--dist natty</code> by stopping at this QEMU error:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">qemu: fatal: cp15 insn ee1d6f70
&nbsp;
<span style="color: #007800;">R00</span>=4009f960 <span style="color: #007800;">R01</span>=420822e8 <span style="color: #007800;">R02</span>=0d696914 <span style="color: #007800;">R03</span>=000086a8
<span style="color: #007800;">R04</span>=00008ef0 <span style="color: #007800;">R05</span>=00000000 <span style="color: #007800;">R06</span>=000097c9 <span style="color: #007800;">R07</span>=<span style="color: #000000;">42082308</span>
<span style="color: #007800;">R08</span>=00020040 <span style="color: #007800;">R09</span>=00000000 <span style="color: #007800;">R10</span>=4009f000 <span style="color: #007800;">R11</span>=00000000
<span style="color: #007800;">R12</span>=00008b88 <span style="color: #007800;">R13</span>=4007f7f8 <span style="color: #007800;">R14</span>=4008f450 <span style="color: #007800;">R15</span>=4008aea0
<span style="color: #007800;">PSR</span>=<span style="color: #000000;">20000030</span> <span style="color: #660033;">--C-</span> T usr32</pre></div></div>

<p>DevKit8500D also freezed on boot when too many seeds used in the rootfs. A minimal seeds of Lucid rootfs used is</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>ubuntu-laptop<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> rootstock <span style="color: #660033;">--fqdn</span> omap <span style="color: #660033;">--login</span> ubuntu <span style="color: #660033;">--password</span> temppwd <span style="color: #660033;">--imagesize</span> 2G <span style="color: #660033;">--seed</span> <span style="color: #c20cb9; font-weight: bold;">wget</span>,<span style="color: #c20cb9; font-weight: bold;">nano</span>,linux-firmware,wireless-tools,usbutils <span style="color: #660033;">--dist</span> lucid <span style="color: #660033;">--serial</span> ttyO2 <span style="color: #660033;">--components</span> <span style="color: #ff0000;">&quot;main universe multiverse&quot;</span></pre></div></div>

<p>It will retrieve many packages from <a href="http://ports.ubuntu.com">http://ports.ubuntu.com</a> which takes long and produces i.e. <code>armel-rootfs-201110261541.tgz</code>.</p>
<p>A card at <code>/dev/sdb</code> with Natty boot images are obtained by</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">gunzip</span> <span style="color: #660033;">-c</span> ubuntu-<span style="color: #000000;">11.10</span>-preinstalled-server-armel+omap.img.gz <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">bs</span>=4M <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb</pre></div></div>

<p>The root file system will reside at <code>/dev/sdb2</code> while boot images are in <code>/dev/sdb1</code>. To replace this with Lucid rootfs, run following steps</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;"><span style="color: #000000; font-weight: bold;">if</span></span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=lucid-arm.img <span style="color: #007800;">bs</span>=1MB <span style="color: #007800;">count</span>=<span style="color: #000000;">0</span> <span style="color: #007800;">seek</span>=<span style="color: #000000;">1024</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> mkfs.ext3 <span style="color: #660033;">-F</span> lucid-arm.img
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-o</span> loop lucid-arm.img <span style="color: #000000; font-weight: bold;">/</span>mnt
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>mnt <span style="color: #660033;">-zxf</span> armel-rootfs-<span style="color: #000000; font-weight: bold;">&lt;</span>some rootstock generated <span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">&gt;</span>.tgz
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>mnt
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;"><span style="color: #000000; font-weight: bold;">if</span></span>=lucid-arm.img <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb2 <span style="color: #007800;">bs</span>=1MB <span style="color: #007800;">count</span>=<span style="color: #000000;">0</span> <span style="color: #007800;">seek</span>=<span style="color: #000000;">1024</span></pre></td></tr></table></div>

<p>There are reasons for why-not-using the included <a href="http://www.angstrom-distribution.org/">Ångström Linux</a> (forked to <code>linux-2.6.32-devkit8500</code>) but this method of booting Ubuntu wasn&#8217;t straightforward after all. The on-board LAN (using Davicom DM9000AEP chip) doesn&#8217;t work and I need to use USB ethernet detected as Davicom DM9601 (a bit ridiculous?). <a href="http://easycap.co.uk/">Easycap</a> USB video capture also works with this kernel as it has been part of 2.6.38 <code>drivers/staging</code> compilation.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="DM9601 USB-LAN-Card" src="../../../../images/USB-LAN-Card.jpg" title="DM9601 USB-LAN-Card" class="aligncenter" width="200" height="145" /><p class="wp-caption-text">DM9601 USB LAN</p></div>
<p>Before coming up with this combo, I&#8217;ve tried:</p>
<ol>
<li>Ubuntu Lucid 10.04 CD Image: <a href="http://cdimage.ubuntu.com/ports/releases/lucid/release/ubuntu-10.04-server-armel+omap.img">ubuntu-10.04-server-armel+omap.img</a>
<li>Ubuntu Oneiric 11.10 CD Image: <a href="http://cdimage.ubuntu.com/releases/11.10/release/ubuntu-11.10-preinstalled-server-armel+omap.img.gz">ubuntu-11.10-preinstalled-server-armel+omap.img.gz</a></li>
<li>Robert C. Nelson&#8217; Oneiric: <a href="http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r0-minimal-armel.tar.xz">ubuntu-11.10-r0-minimal-armel.tar.xz</a> (as pointed out by the above eLinux page which has changed quite regularly since October 2011)</li>
</ol>
<p>But nothing seemed to work.</p>
]]></content:encoded>
			<wfw:commentRss>https://lakm.us/logit/2011/10/running-ubuntu-on-devkit8500d-natty-kernel-and-lucid-rootfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
