<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://baszerr.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>BaSzErr - blog:2013:11:26</title>
        <description></description>
        <link>https://baszerr.eu/</link>
        <lastBuildDate>Thu, 30 Apr 2026 15:42:50 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://baszerr.eu/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>BaSzErr</title>
            <link>https://baszerr.eu/</link>
        </image>
        <item>
            <title>taming_panda</title>
            <link>https://baszerr.eu/doku.php?id=blog:2013:11:26:taming_panda</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;taming_panda&quot;&gt;2013.11.26 - taming panda&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://baszerr.eu/lib/exe/detail.php?id=blog%3A2013%3A11%3A26%3Ataming_panda&amp;amp;media=blog:2013:11:26:im_with_panda.jpg&quot; class=&quot;media&quot; title=&quot;blog:2013:11:26:im_with_panda.jpg&quot;&gt;&lt;img src=&quot;https://baszerr.eu/lib/exe/fetch.php?w=300&amp;amp;tok=ea8edb&amp;amp;media=blog:2013:11:26:im_with_panda.jpg&quot; class=&quot;mediaright&quot; align=&quot;right&quot; loading=&quot;lazy&quot; title=&quot;i&amp;#039;m with panda&quot; alt=&quot;i&amp;#039;m with panda&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;
recently i bought &lt;a href=&quot;http://www.pandaboard.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.pandaboard.org&quot; rel=&quot;ugc nofollow&quot;&gt;pandaboard&lt;/a&gt;. pretty old, yet still quite nicely featured dual core 1.2GHz ARM A-9 with 1GB ram and SD card as a hard drive. since i spent quite some time running this thing i&amp;#039;d like to share my findings.
&lt;/p&gt;

&lt;p&gt;
note that this manual can also be used as an howto on installation &lt;a href=&quot;https://en.wikipedia.org/wiki/debian&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/debian&quot;&gt;debian&lt;/a&gt; on pandaboard.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2013.11.26 - taming panda&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;taming_panda&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-449&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;sanity_checks&quot;&gt;sanity checks&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
after unpacking and connecting the board it is worth while to check if it is working as expected. there is ready to go &lt;a href=&quot;https://gforge.ti.com/gf/download/frsrelease/643/5076/validation-19102011.img&quot; class=&quot;urlextern&quot; title=&quot;https://gforge.ti.com/gf/download/frsrelease/643/5076/validation-19102011.img&quot; rel=&quot;ugc nofollow&quot;&gt;validation image&lt;/a&gt; prepared on the &lt;a href=&quot;http://pandaboard.org/content/resources/troubleshooting&quot; class=&quot;urlextern&quot; title=&quot;http://pandaboard.org/content/resources/troubleshooting&quot; rel=&quot;ugc nofollow&quot;&gt;troubleshooting&lt;/a&gt; page. get it and write to SD card directly:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wget https://gforge.ti.com/gf/download/frsrelease/643/5076/validation-19102011.img
dd if=validation-19102011.img of=/dev/XXX&lt;/pre&gt;

&lt;p&gt;
(/dev/XXX is your SD card)
&lt;/p&gt;

&lt;p&gt;
panda&amp;#039;s terminal is setup to 115200-8-N-1. to connect use gtkterm (or similar):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gtkterm -p /dev/ttyUSB0 -s 115200 &lt;/pre&gt;

&lt;p&gt;
connect RS-232 (regular – panda uses max232 to do level converting for you) to usb adapter (directly), insert SD card and apply power. if everything works as expected, it should boot and on your terminal linux prompt should appear. this image allows testing of a board, but for the purposes of this manual it is enough to see the prompt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;sanity checks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sanity_checks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;450-1444&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;use_ready_images&quot;&gt;use ready images&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
if it&amp;#039;s possible, just use what&amp;#039;s there. there are pre-built &lt;a href=&quot;http://pandaboard.org/content/resources/development-environment&quot; class=&quot;urlextern&quot; title=&quot;http://pandaboard.org/content/resources/development-environment&quot; rel=&quot;ugc nofollow&quot;&gt;ubuntu and android images&lt;/a&gt; available. you can download them and write to SD card the same way you did with validation image. it given distribution works for you, you&amp;#039;re home!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;use ready images&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;use_ready_images&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1445-1778&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;own_debian_installation&quot;&gt;own (debian) installation&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i was unlucky and my SD (SDHC, to be precise) card did not work properly with pre-shipped ubuntu kernel. kernel delivered with debian did not worked as well. the only option i was left with, was to go the hard way and compile everything from scratch.
&lt;/p&gt;

&lt;p&gt;
pandaboard es, which i have, uses OMAP4460 (OMAP4). general boot sequence on OMAP4 is starting with the first partition of the SD card (needs to be a fat partition – sorry) and goes like this:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; start x-loader (“MLO” file) – this is a first boot stage, that initializes basic hardware.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; start u-boot (“u-boot.img” file) – this is a second boot stage, that loads and starts kernel, passes arguments, etc…&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; boot kernel (“zImage” file)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
following sections describe how to obtain, compile and install required elements on an SD card.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;own (debian) installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;own_debian_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1779-2613&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;formatting_card&quot;&gt;formatting card&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
since you already have written validation image on the card, first (fat) partition is fine. you only need to change the second one, to use full card space, and have no content. the shortest way is simply to re-create it and format. run:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fdisk /dev/XXX&lt;/pre&gt;

&lt;p&gt;
and delete second partition, create new one in its place, taking whole disk space and quit while saving changes. now format both partitions:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdosfs /dev/XXX1
mkfs.ext3 /dev/XXX2&lt;/pre&gt;

&lt;p&gt;
having them all in place, mount them for further processing:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mount /dev/XXX1 /media/usb1
mount /dev/XXX2 /media/usb2&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;formatting card&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;formatting_card&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2614-3199&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;installing_debian&quot;&gt;installing debian&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
thanks to &lt;em&gt;debootstap&lt;/em&gt; and qemu emulation in rootfs, installation of debian is dead simple! :D first install this wunderwaffe-set:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install debootstrap qemu-user-static&lt;/pre&gt;

&lt;p&gt;
and then prepare filesystem. root privileges are required here.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;debootstrap --foreign --arch=armhf testing /media/usb2 http://ftp.pl.debian.org/debian/
cp -v /usr/bin/qemu-arm-static /media/usb2/usr/bin/
DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot /media/usb2 /debootstrap/debootstrap --second-stage&lt;/pre&gt;

&lt;p&gt;
this finishes the basic installation, there are however few steps worth doing.
&lt;/p&gt;

&lt;p&gt;
set root password to &amp;#039;root&amp;#039;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sed -i &amp;#039;s#^root:.*#root:$6$D4IAlHGx$VyuhjuulSFUbc6DjehKZPw9Cn1ZyaNBJl9jOsuAeCY75LoodSNnSdK7DjImqBR6lk3WAalDYAm3oRCO3yILqV.:16030:0:99999:7:::#g&amp;#039; /media/usb2/etc/shadow&lt;/pre&gt;

&lt;p&gt;
enable serial console:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat &amp;gt;&amp;gt; &amp;quot;$D/etc/inittab&amp;quot; &amp;lt;&amp;lt;EOF
# PandaBoard serial console
s0:12345:respawn:/sbin/agetty -8 -s 115200 ttyO2 linux
EOF&lt;/pre&gt;

&lt;p&gt;
setup basic network interfaces:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat &amp;gt;&amp;gt; /media/usb2/etc/network/interfaces &amp;lt;&amp;lt;EOF
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
EOF&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;installing debian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installing_debian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3200-4435&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;toolchain&quot;&gt;toolchain&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
if you have not done this yet, install ARM toolchain. the one from the emdebian work just fine:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat &amp;gt;&amp;gt; /etc/apt/sources.list &amp;lt;&amp;lt;EOF
deb     http://www.emdebian.org/debian/ testing main
deb-src http://www.emdebian.org/debian/ testing main
deb     http://www.emdebian.org/debian/ stable  main
deb-src http://www.emdebian.org/debian/ stable  main
EOF
apt-get update
apt-get install gcc-4.7-arm-linux-gnueabi binutils-arm-linux-gnueabi&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;toolchain&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;toolchain&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;4436-4904&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;x-loader_and_u-boot&quot;&gt;x-loader and u-boot&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
download latest stable &lt;a href=&quot;https://en.wikipedia.org/wiki/Das U-Boot&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/Das U-Boot&quot;&gt;Das U-Boot&lt;/a&gt; &lt;a href=&quot;ftp://ftp.denx.de/pub/u-boot/&quot; class=&quot;urlextern&quot; title=&quot;ftp://ftp.denx.de/pub/u-boot/&quot; rel=&quot;ugc nofollow&quot;&gt;release package&lt;/a&gt; and build it, for panda board:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wget ftp://ftp.denx.de/pub/u-boot/u-boot-2013.10.tar.bz2
tar xjvf u-boot-2013.10.tar.bz2
cd u-boot-2013.10
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm omap4_panda_config
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm&lt;/pre&gt;

&lt;p&gt;
you should now have the following files:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MLO&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; u-boot.bin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; u-boot.img&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
copy them to boot partition:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cp -v MLO u-boot.bin u-boot.img /media/usb1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;x-loader and u-boot&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;x-loader_and_u-boot&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4905-5442&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;kernel&quot;&gt;kernel&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
this was the most tricky part for me and here exactly i&amp;#039;ve spent the most time. the problem is that most mainline kernels do NOT work properly with this device. this is very bad news and there is no easy way to fix that manually. in short – a proper set of kernel patches need to be applied to make it all work. otherwise you&amp;#039;ll stuck with “Starting kernel…” message on the screen, and nothing will happen.
&lt;/p&gt;

&lt;p&gt;
fortunately &lt;a href=&quot;http://github.com/RobertCNelson&quot; class=&quot;urlextern&quot; title=&quot;http://github.com/RobertCNelson&quot; rel=&quot;ugc nofollow&quot;&gt;Robert Nelson&lt;/a&gt; prepared set of scripts that automate this all. the fast procedure to build reasonably-new-and-yet-known-to-be-working kernel, with all the required patches, follows:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone git://github.com/RobertCNelson/stable-kernel.git
cd stable-kernel
./build_kernel.sh
# you&amp;#039;ll be asked to checkout kernel branch - choose the one you like
./build_kernel.sh&lt;/pre&gt;

&lt;p&gt;
now in the &lt;em&gt;deploy&lt;/em&gt; directory there will be a set of files, that you&amp;#039;ll need to install to rootfs (modules and firmwares) and boot partition (kernel and DTBs). for start save absolute path to the deploy directory into a variable:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;S=`pwd`/deploy&lt;/pre&gt;

&lt;p&gt;
first rootfs:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /media/usb2
tar xzf $S/*-modules.tar.gz
cd lib/formware
tar xzf $S/*-firmware.tar.gz&lt;/pre&gt;

&lt;p&gt;
note that some of the firmwares will override firmware delivered with modules. that&amp;#039;s ok, since the files are binary identical.
&lt;/p&gt;

&lt;p&gt;
now boot partition preparation:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /media/usb1
cp $S/*.zImage zImage
mkdir dtbs
cd dtbs
tar xzf $S/*-dtbs.tar.gz&lt;/pre&gt;

&lt;p&gt;
having all binaries in place the time has come to create a boot script for u-boot:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /media/usb1
cat &amp;gt; boot_mmc.txt &amp;lt;&amp;lt;EOF
setenv bootargs &amp;#039;root=/dev/mmcblk0p2 rw rootwait rootfstype=ext3 console=ttyO2,115200n8 vram=16M&amp;#039;
fatload mmc 0 82000000 zImage
bootz 82000000
EOF
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n &amp;quot;Panda SD Boot&amp;quot; -d boot_mmc.txt boot.scr&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;kernel&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kernel&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5443-7287&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;running&quot;&gt;running&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
after doing all the operations unmount SD card:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mount /media/usb[12]&lt;/pre&gt;

&lt;p&gt;
and put it into your pandaboard. when power is applied it should boot smoothly. since the serial console is constantly available, you can login via it (root:root).
&lt;/p&gt;

&lt;p&gt;
system is up and running, so from this point it is just regular linux console you have and distribution you already know. a good place to start. :) there are few more packages and operation that are recommended.
&lt;/p&gt;

&lt;p&gt;
first of all – install &lt;em&gt;locales&lt;/em&gt; package for apt-get not to complain about missing settings:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install locales
dpkg-reconfigure locales&lt;/pre&gt;

&lt;p&gt;
you probably should setup ssh access and add user to connect as:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;adduser johndoe
apt-get install openssh-server&lt;/pre&gt;

&lt;p&gt;
that&amp;#039;s all folks! have fun! :)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;running&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;running&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7288-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Jun 2021 20:09:04 +0000</pubDate>
        </item>
    </channel>
</rss>
