Difference between revisions of "BeagleBoardDebian"

From eLinux.org
Jump to: navigation, search
m (Debian Wheezy snapshot: debian-wheezy-minimal-armhf-2012-07-16)
(this is under the previous header..)
(21 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
Note: Debian armel deb's are compiled for armv4t, this allows debian to support a larger number of arm devices with a single port, at only the sacrifice of speed.
 
Note: Debian armel deb's are compiled for armv4t, this allows debian to support a larger number of arm devices with a single port, at only the sacrifice of speed.
 +
 +
*armhf
 +
** Port Details: http://wiki.debian.org/ArmHardFloatPort
 +
** Status: http://wiki.debian.org/ArmHardFloatTodo
  
 
= Help =
 
= Help =
Line 15: Line 19:
 
** ''#beagle'': Beagle irc on freenode, accessible also by [http://beagleboard.org/discuss web interface] ([http://www.beagleboard.org/irclogs/index.php logs])
 
** ''#beagle'': Beagle irc on freenode, accessible also by [http://beagleboard.org/discuss web interface] ([http://www.beagleboard.org/irclogs/index.php logs])
 
** Kernel Tree's
 
** Kernel Tree's
*** [https://github.com/RobertCNelson/stable-kernel Stable Kernel 2.6.39 src]
+
*** [https://github.com/RobertCNelson/stable-kernel/tree/v3.7.x Stable (3.7.x) branch]
*** [https://github.com/RobertCNelson/3.0-devel Development Kernel src]
+
*** [https://github.com/RobertCNelson/linux-dev Development Kernel source code]
  
 
*When asking for help, please provide some debugging information:
 
*When asking for help, please provide some debugging information:
Line 26: Line 30:
 
= Recommended Beagle Software =  
 
= Recommended Beagle Software =  
  
X-loader/MLO (1.4.4ss) & U-Boot (2010.03) (Zippy1 & Zippy2 Support)
+
Mainline U-Boot:
* All Bx, C2/3/4 Boards are required to upgrade to atleast these MLO and U-Boot versions.
+
* All old Ax, Bx, Cx and Dx boards are required to upgrade to at least these U-Boot versions.
* XM Boards have no NAND, so u-boot.bin is always required on the first partition
+
* XM Boards have no NAND, so MLO/u-boot.img is always required on the first partition
 
* Directions: [http://elinux.org/BeagleBoardUbuntu#Upgrade_X-loader_and_U-boot Upgrade X-loader and U-Boot]
 
* Directions: [http://elinux.org/BeagleBoardUbuntu#Upgrade_X-loader_and_U-boot Upgrade X-loader and U-Boot]
  
Line 115: Line 119:
 
  No BootLoader: <ok>
 
  No BootLoader: <ok>
  
==Beagleboard: Install Latest Kernel==
+
= Demo Image =
  
Script File:
+
== Debian Wheezy snapshot ==
 
+
Lenny:
+
wget http://rcn-ee.net/deb/lenny/v2.6.39.3-old3/install-me.sh
+
sudo /bin/bash install-me.sh
+
+
Squeeze:
+
export DIST=squeeze
+
export ARCH=armel
+
+
Beagle/Panda
+
export BOARD=omap
+
+
BeagleBone
+
export BOARD=omap-psp
+
+
wget http://rcn-ee.net/deb/${DIST}-${ARCH}/LATEST-${BOARD}
+
wget $(cat ./LATEST-${BOARD} | grep STABLE | awk '{print $3}')
+
/bin/bash install-me.sh
+
 
+
Reboot with your new Kernel
+
 
+
= Debian armhf port =
+
 
+
Port Details: http://wiki.debian.org/ArmHardFloatPort
+
 
+
Status: http://wiki.debian.org/ArmHardFloatTodo
+
 
+
==Demo Image==
+
 
+
=== Debian Wheezy snapshot ===
+
  
 
Default username/password:  
 
Default username/password:  
Line 158: Line 132:
  
 
Image Updated:
 
Image Updated:
*July 29th: 2012-07-29
+
*2013-03-28:
** Beagle/Panda: v3.2.24-x14 kernel
+
** Beagle/Panda/Panda ES: v3.7.10-x10 kernel
** Bone: v3.2.23-psp18 kernel
+
** Bone: v3.2.33-psp26 kernel (--uboot bone_dtb = v3.8.4-bone9)
*July 16th: 2012-07-16
+
*2013-02-16:
** Beagle/Panda: v3.2.23-x14 kernel
+
** Beagle/Panda/Panda ES: v3.7.8-x8 kernel
** Bone: v3.2.21-psp16 kernel
+
** Bone: v3.2.33-psp26 kernel (--uboot bone_dtb = v3.8-rc7-bone4)
*June 12th: 2012-06-10
+
*2013-01-12
** Beagle/Panda: v3.2.19-x13 kernel
+
** Beagle/Panda/Panda ES: v3.7.2-x6
** Bone: v3.2.18-psp14 kernel (now supports the BeagleBone LCD from CircuitCo)
+
** Bone: v3.2.33-psp26 kernel (next release should be v3.7.x based)
*March 29th: 2012-03-29
+
** Beagle/Panda: v3.2.13-x7 kernel (panda bluetooth now works "sudo apt-get install bluetooth" + "uim" to get all the userspace programs)
+
*** uim: git clone git://gitorious.org/uim/uim.git ; cd uim ; make ; sudo make install
+
add: /etc/udev/rules.d/bluetooth.rules
+
ACTION=="add", SUBSYSTEM=="platform", ENV{MODALIAS}=="platform:kim", RUN+="/sbin/initctl emit enable-ti-bt"
+
** Bone: v3.2.0-psp6 kernel (for users with usb problems, still no good solution yet..)
+
*March 8th: 2012-03-08
+
**Beagle/Panda: fix serial omap regression in v3.2.9 kernel
+
*March 6th: 2012-03-06
+
**Beagle/Panda: v3.2.9 kernel
+
**fixed missing dhclient package (backport from sid)
+
*March 2nd: 2012-03-02
+
**Beagle/Panda: v3.2.7 kernel
+
*Feb 5th: 2012-02-05
+
**Beagle: v3.2.3 kernel with sgx driver fix (bug in 2012-02-03 tar file)
+
  
 
Services Active:
 
Services Active:
 
  Note: Depending on your internal network these may work out the box
 
  Note: Depending on your internal network these may work out the box
  SSH, Port 22: ssh ubuntu@omap
+
Apache, Port 80: http://arm/
 +
  SSH, Port 22: ssh ubuntu@arm
 
  Getty, Serial Port
 
  Getty, Serial Port
  
 
Get prebuilt image:
 
Get prebuilt image:
  
  wget http://rcn-ee.net/deb/rootfs/wheezy/debian-wheezy-minimal-armhf-2012-07-29.tar.xz
+
  wget http://rcn-ee.net/deb/rootfs/wheezy/debian-wheezy-console-armhf-2013-03-28.tar.xz
mirrors (will take some time to update):
+
wget http://ynezz.ibawizard.net/beagleboard/wheezy/debian-wheezy-minimal-armhf-2012-07-29.tar.xz
+
  
 
Verify Image with:  
 
Verify Image with:  
  md5sum debian-wheezy-minimal-armhf-2012-07-29.tar.xz
+
  md5sum debian-wheezy-console-armhf-2013-03-28.tar.xz  
  d82b57377dfeb7ed3a77c856600e467e debian-wheezy-minimal-armhf-2012-07-29.tar.xz
+
  935b9d97669d6c84e54d5445da2f4506 debian-wheezy-console-armhf-2013-03-28.tar.xz
  
 
Unpack Image:
 
Unpack Image:
  tar xJf debian-wheezy-minimal-armhf-2012-07-29.tar.xz
+
  tar xJf debian-wheezy-console-armhf-2013-03-28.tar.xz
  cd debian-wheezy-minimal-armhf-2012-07-29
+
  cd debian-wheezy-console-armhf-2013-03-28
  
 
Install Image:
 
Install Image:
Line 207: Line 165:
 
  sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot "board"
 
  sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot "board"
  
"board" Options:  
+
"board" options:  
 
*BeagleBoard Ax/Bx - beagle_bx
 
*BeagleBoard Ax/Bx - beagle_bx
*BeagleBoard Cx   - beagle_cx
+
*BeagleBoard Cx/Dx - beagle_cx
*BeagleBoard xMA/B/C   - beagle_xm
+
*BeagleBoard xM   - beagle_xm
*BeagleBone Ax   - bone
+
*BeagleBone Ax     - bone
*PandaBoard Ax - panda
+
*BeagleBone Ax    - bone_dtb (for v3.8.x testing)
*PandaBoard ES - panda_es
+
*PandaBoard Ax     - panda
 +
*PandaBoard ES     - panda_es
  
 
So For the BeagleBoard xM:
 
So For the BeagleBoard xM:
Line 222: Line 181:
 
** --swap_file <swap file size in MB's>
 
** --swap_file <swap file size in MB's>
 
** --addon pico <ti pico projector>
 
** --addon pico <ti pico projector>
** --addon ulcd <CircuitCo 7 inch lcd>
 
 
** --svideo-ntsc <use ntsc over dvi for video)
 
** --svideo-ntsc <use ntsc over dvi for video)
 
** --svideo-pal <use pal over dvi for video)
 
** --svideo-pal <use pal over dvi for video)
Line 250: Line 208:
 
== SGX Video Acceleration ==
 
== SGX Video Acceleration ==
  
Requirements: 2.6-stable from launchpad or 2.6.35.3-x1+ deb's from rcn-ee.net. (the Demo Images hosted on rcn-ee.net meet this requirement)
+
=== SGX armel/armhf v3.4.x+ ===
 +
* Note: This is a still a work in progress, but so far all the basic sgx demos seem to work on my Beagle xM C...  Thanks to TI for the special armhf binaries!!! --[[User:RobertCNelson|RobertCNelson]] 19:48, 17 July 2012 (UTC)
 +
 
 +
* Test with: Precise/12.04 armhf demo image with v3.4.5-x1, desktop was lxde via: "sudo apt-get install lxde lxde-core lxde-icon-theme"
 +
 
 +
==== Re-Build Kernel and SGX Kernel Modules ====
 +
git clone git://github.com/RobertCNelson/stable-kernel.git
 +
cd stable-kernel
 +
git checkout origin/v3.6.x -b v3.6.x
 +
./build_kernel.sh (and then follow the directions as the script runs...)
 +
 
 +
Build kernel
 +
./build_kernel.sh
 +
 
 +
Build SGX modules
 +
./sgx_build_modules.sh
 +
 
 +
Insert SD card, make sure to modify MMC in system.sh
 +
./tools/install_image.sh
 +
 
 +
Place SD card into the device and boot...
 +
cd /opt/sgx
 +
sudo tar xf GFX_4.0*_libs.tar.gz
 +
sudo ./install-sgx.sh
 +
 
 +
Reboot, check modules (lsmod):
 +
Module                  Size  Used by
 +
bufferclass_ti          5727  0
 +
omaplfb                11512  0
 +
pvrsrvkm              165208  2 bufferclass_ti,omaplfb
 +
 
 +
Blit Test:
 +
ubuntu@omap:/usr/bin/armhf/es5.0$ ./sgx_blit_test
 +
------------------ SGX 3D Blit test -----------------
 +
----------------------- Start -----------------------
 +
Call PVRSRVConnect with a valid argument:
 +
  OK
 +
Get number of devices from PVRSRVEnumerateDevices:
 +
  OK
 +
.... Reported 1 devices
 +
.... Device Number  | Device Type
 +
            0000    | PVRSRV_DEVICE_ID_SGX
 +
Attempt to acquire device 0:
 +
  OK
 +
Getting SGX Client info
 +
  OK
 +
.... ui32ProcessID:1133
 +
Display Class API: enumerate devices
 +
  OK
 +
PVRSRVEnumerateDeviceClass() returns 1 display device(s)
 +
  OK
 +
Display Class API: open device
 +
  OK
 +
Display Class API: Get display info
 +
  OK
 +
.... Name:PowerVR OMAP Linux Display Driver
 +
.... MaxSwapChains:1
 +
.... MaxSwapChainBuffers:1
 +
.... MinSwapInterval:0
 +
.... MaxSwapInterval:1
 +
Display Class API: enumerate display formats
 +
  OK
 +
  OK
 +
.... Display format 0 - Pixelformat:1
 +
Display Class API: enumerate display dimensions
 +
  OK
 +
  OK
 +
.... Display dimensions 0 - ByteStride:2560 Width:1280 Height:720
 +
Attempt to create memory context for SGX:
 +
  OK
 +
.... Shared heap 0 - HeapID:0x7000000 DevVAddr:0x1000 Size:0x87fe000 Attr:0x2014200
 +
.... Shared heap 1 - HeapID:0x7000001 DevVAddr:0xc800000 Size:0xfff000 Attr:0x2024200
 +
.... Shared heap 2 - HeapID:0x7000002 DevVAddr:0xe400000 Size:0x7f000 Attr:0x2024200
 +
.... Shared heap 3 - HeapID:0x7000003 DevVAddr:0xf000000 Size:0x3ff000 Attr:0x2024200
 +
.... Shared heap 4 - HeapID:0x7000004 DevVAddr:0xf400000 Size:0x4ff000 Attr:0x2014200
 +
.... Shared heap 5 - HeapID:0x7000005 DevVAddr:0xfc00000 Size:0x1ff000 Attr:0x2014200
 +
.... Shared heap 6 - HeapID:0x7000006 DevVAddr:0xdc00000 Size:0x7ff000 Attr:0x2014200
 +
.... Shared heap 7 - HeapID:0x7000007 DevVAddr:0xe800000 Size:0x7ff000 Attr:0x2014200
 +
.... Shared heap 8 - HeapID:0x7000008 DevVAddr:0xd800000 Size:0x3ff000 Attr:0x2024200
 +
.... Shared heap 9 - HeapID:0x7000009 DevVAddr:0x8800000 Size:0x0 Attr:0x2024200
 +
.... Shared heap 10 - HeapID:0x700000a DevVAddr:0x8800000 Size:0x3fff000 Attr:0x2014200
 +
Display Class API: get the system (primary) buffer
 +
  OK
 +
Display Class API: map display surface to SGX
 +
  OK
 +
Attempt to create transfer context for SGX:
 +
  OK
 +
Do a SRCCOPY blit to the bottom right quadrant of the display:
 +
(bottom right quadrant should be red on blue background):
 +
  OK
 +
  OK
 +
Do a SRCCOPY blit to the top left quadrant of the display:
 +
(top left quadrant should be striped (r/g/b/w) on blue background):
 +
  OK
 +
  OK
 +
Do a CUSTOMSHADER blit to the top right quadrant of the display:
 +
(top right quadrant should be yellow):
 +
0xb6acd000 (host) 0xf407000 (device): Device mem for custom shader program
 +
0xb6acb000 (host) 0xf408000 (device): Device mem for texture
 +
USE custom shader program: 0x28841001.c0000000 mov.end o0, sa0
 +
  OK
 +
Do a SRCCOPY blit with COLOUR DOWNSAMPLING from ARGB8888 to RGB565
 +
and then present the RGB565 to the bottom right quadrant of the screen
 +
(bottom right quadrant should be a red gradient):
 +
  OK
 +
  OK
 +
  OK
 +
  OK
 +
Free the off screen surfaces:
 +
  OK
 +
  OK
 +
  OK
 +
  OK
 +
Destroy the transfer context:
 +
  OK
 +
Display Class API: unmap display surface from SGX
 +
  OK
 +
Destroy Device Memory Context
 +
Display Class API: close the device
 +
  OK
 +
Release SGX Client Info:
 +
  OK
 +
Disconnect from services:
 +
  OK
 +
------------------ SGX 3D Blit test -----------------
 +
------------------------ End ------------------------
 +
 
 +
=== SGX Legacy armel only upto v3.2.x ===
 +
NOTE: this only works on BeagleBoard hardware, BeagleBone stuff is in development..
 +
 
 +
Requirements: stable-kernel (the Demo Images hosted on rcn-ee.net meet this requirement)
 
   https://github.com/RobertCNelson/stable-kernel
 
   https://github.com/RobertCNelson/stable-kernel
  
Note: ''An older version of these instructions was adapted for the IGEPv2 platform - if you are following this tutorial and have an IGEPv2, consider using http://wiki.jmaustin.org/wiki/IgepSGXUbuntu instead''
+
Note: Due to a bug (seems to only effect older Beagle Bx/Cx boards, use v3.0.8-x3 based kernels)
 +
https://github.com/RobertCNelson/stable-kernel/issues/8
 +
oneiric:
 +
wget http://rcn-ee.net/deb/oneiric/v3.0.8-x3/install-me.sh
 +
/bin/bash install-me.sh
  
=== SDK unPackage Script ===
+
==== SDK unPackage Script ====
  
 
Download the latest version of the "create_sgx_package.sh" script
 
Download the latest version of the "create_sgx_package.sh" script
 
  2.6.37
 
  2.6.37
  wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_sgx_package_2.6.37.sh
+
  wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_sgx_package_2.6.37.sh
  2.6.38+
+
  2.6.38->3.2.x
  wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_sgx_package.sh
+
  wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_sgx_package_3.2.x.sh
  
 
Make script executable
 
Make script executable
  chmod a+x ./create_sgx_package.sh
+
  chmod a+x ./create_sgx_package_*.sh
  
 
Run script
 
Run script
  ./create_sgx_package.sh
+
  ./create_sgx_package_*.sh
  
 
After Successfully running:
 
After Successfully running:
Line 279: Line 371:
 
  SDK_BIN
 
  SDK_BIN
  
=== Beagle: GFX_*_libs.tar.gz ===
+
==== Beagle: GFX_*_libs.tar.gz ====
  
 
  tar xf GFX_4_00_00_01_libs.tar.gz  (extracts install-SGX.sh and run-SGX.sh)
 
  tar xf GFX_4_00_00_01_libs.tar.gz  (extracts install-SGX.sh and run-SGX.sh)
Line 285: Line 377:
 
  ./run-SGX.sh (force run the new init script, or you can just reboot...)
 
  ./run-SGX.sh (force run the new init script, or you can just reboot...)
  
On Successful install:
+
On successful install:
 
  Stopping PVR
 
  Stopping PVR
 
  Starting PVR
 
  Starting PVR
Line 293: Line 385:
 
  sudo reboot
 
  sudo reboot
  
=== Beagle: GFX_Linux_SDK.tar.gz ===
+
==== Beagle: GFX_Linux_SDK.tar.gz ====
  
 
  tar xf GFX_Linux_SDK.tar.gz
 
  tar xf GFX_Linux_SDK.tar.gz
Line 299: Line 391:
 
  tar xf OGLES.tar.gz
 
  tar xf OGLES.tar.gz
  
=== Test SGX with a DEMO ===
+
==== Test SGX with a DEMO ====
  
 
  cd OGLES/SDKPackage/Binaries/CommonX11/Demos/EvilSkull
 
  cd OGLES/SDKPackage/Binaries/CommonX11/Demos/EvilSkull
 
  ./OGLESEvilSkull
 
  ./OGLESEvilSkull
  
=== Trouble Shooting ===
+
==== Trouble Shooting ====
  
 
  sudo rm /etc/powervr-esrev
 
  sudo rm /etc/powervr-esrev
Line 331: Line 423:
  
 
Requirements: Kernel built with: "CONFIG_TIDSPBRIDGE=m", for reference, here is what rcn-ee.net's image/deb's are configured for:
 
Requirements: Kernel built with: "CONFIG_TIDSPBRIDGE=m", for reference, here is what rcn-ee.net's image/deb's are configured for:
  voodoo@beagle-xma-512mb:~$ zcat /proc/config.gz | grep TIDSP
+
  ubuntu@arm:~$ zcat /proc/config.gz | grep TIDSP
 
  CONFIG_TIDSPBRIDGE=m
 
  CONFIG_TIDSPBRIDGE=m
 
  CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
 
  CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
# CONFIG_TIDSPBRIDGE_DEBUG is not set
 
 
  CONFIG_TIDSPBRIDGE_RECOVERY=y
 
  CONFIG_TIDSPBRIDGE_RECOVERY=y
 
  # CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
 
  # CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
CONFIG_TIDSPBRIDGE_WDT3=y
 
CONFIG_TIDSPBRIDGE_WDT_TIMEOUT=5
 
 
  # CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set
 
  # CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set
  # CONFIG_TIDSPBRIDGE_BACKTRACE is not
+
  # CONFIG_TIDSPBRIDGE_BACKTRACE is not set
  
 
On the xM: if 3.2.x is too jerky, try 3.4.x and use the create_dsp_package.sh script, as the module changed..
 
On the xM: if 3.2.x is too jerky, try 3.4.x and use the create_dsp_package.sh script, as the module changed..
  
 
Download the latest version of the "create_dsp_package.sh" script
 
Download the latest version of the "create_dsp_package.sh" script
  wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_dsp_package.sh
+
  wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_dsp_package.sh
 
+
for 3.4.x+
+
wget https://raw.github.com/RobertCNelson/stable-kernel/v3.4.x/create_dsp_package.sh
+
  
 
Make script executable
 
Make script executable
Line 356: Line 442:
 
  ./create_dsp_package.sh
 
  ./create_dsp_package.sh
  
Copy DSP_Install_libs.tar.gz to beagle
+
Copy DSP_Install_libs.tar.gz to Beagle
  
 
Setup network...
 
Setup network...
  
 
Extract:
 
Extract:
  tar xf DSP_Install_libs.tar.gz
+
  ubuntu@arm:~$ tar xf DSP_Install_libs.tar.gz
  
Install
+
Install:
  ./install-DSP.sh
+
  ubuntu@arm:~$ ./install-DSP.sh
 +
 
 +
What got installed:
 +
ubuntu@arm:~$ ls -lh /lib/dsp/
 +
total 7.1M
 +
-rwxr-xr-x 1 root root 1.3M Dec  3 10:56 baseimage.dof
 +
-rwxr-xr-x 1 root root  51K Dec  3 10:56 conversions.dll64P
 +
-rwxr-xr-x 1 root root  13K Dec  3 10:56 dctn_dyn.dll64P
 +
-rwxr-xr-x 1 root root 2.5M Dec  3 10:56 h264vdec_sn.dll64P
 +
-rwxr-xr-x 1 root root 481K Dec  3 10:56 jpegdec_sn.dll64P
 +
-rwxr-xr-x 1 root root 229K Dec  3 10:56 jpegenc_sn.dll64P
 +
-rwxr-xr-x 1 root root 767K Dec  3 10:56 m4venc_sn.dll64P
 +
-rwxr-xr-x 1 root root 890K Dec  3 10:56 mp4vdec_sn.dll64P
 +
-rwxr-xr-x 1 root root 707K Dec  3 10:56 mpeg4aacdec_sn.dll64P
 +
-rwxr-xr-x 1 root root  15K Dec  3 10:56 qosdyn_3430.dll64P
 +
-rwxr-xr-x 1 root root  14K Dec  3 10:56 ringio.dll64P
 +
-rwxr-xr-x 1 root root 9.1K Dec  3 10:56 TSPA_Object_Code_Software_License_Agreement.txt
 +
-rwxr-xr-x 1 root root  53K Dec  3 10:56 usn.dll64P
 +
-rwxr-xr-x 1 root root 245K Dec  3 10:56 vpp_sn.dll64P
 +
 
 +
Building gst-dsp stuff:
 +
 
 +
If you installed this image via the demo images or netinstall, the gst-dsp build script is installed:
 +
 
 +
Update arm tools directory to the latest:
 +
ubuntu@arm:~$ cd /boot/uboot/tools/
 +
ubuntu@arm:/boot/uboot/tools$ sudo ./update.sh
 +
 
 +
Otherwise, install via git:
 +
git clone git://github.com/RobertCNelson/tools.git
 +
 
 +
Change to the pkgs directory
 +
ubuntu@arm:~$ cd /boot/uboot/tools/pkgs
 +
(or if just cloned)
 +
ubuntu@arm:~$ cd ~/tools/pkgs
  
 
Build gst-dsp stuff..
 
Build gst-dsp stuff..
  ./install-gst-dsp.sh
+
  ./ti-tidspbridge.sh
 +
 
 +
Start dspbridge (or just reboot)
 +
sudo /etc/init.d/dsp_init start
 +
 
 +
Test dspbridge
 +
sudo dsp-test
  
 
Playbin:
 
Playbin:
 
  sudo gst-launch playbin2 uri=file://(file)
 
  sudo gst-launch playbin2 uri=file://(file)
 +
 +
Example: (using http://www.bigbuckbunny.org/index.php/download/ 854x480 mp4 )
 +
Note: it seems broken in Ubuntu precise armhf...
 +
 +
sudo gst-launch playbin2 uri=file:///home/USER/big_buck_bunny_480p_surround-fix.avi
  
 
== Xorg omapfb Drivers ==
 
== Xorg omapfb Drivers ==
Line 467: Line 598:
 
== Building Kernel ==
 
== Building Kernel ==
  
https://github.com/RobertCNelson/stable-kernel
+
Note, this section use to have a lot of details, but maintenance of the two wiki's became a pain, so for now on we will just link to my other pages:
  
Download SRC
+
=== Beagle/Beagle xM ===
  git clone git://github.com/RobertCNelson/stable-kernel.git
+
  http://eewiki.net/display/linuxonarm/BeagleBoard
  
Build Kernel
+
=== BeagleBone ===
  ./build_kernel.sh
+
  http://eewiki.net/display/linuxonarm/BeagleBone
  
Optional Building Deb File
+
=== Panda/Panda ES ===
  ./build_deb.sh
+
  http://eewiki.net/display/linuxonarm/PandaBoard
  
 
= Upgrading from Debian 5 to Debian 6 =
 
= Upgrading from Debian 5 to Debian 6 =
  
 
[http://www.jeremycole.com/blog/2011/03/09/beagleboard-upgrading-from-debian-5-to-debian-6/ Upgrading] from Debian 5 to Debian 6 report and tutorial.
 
[http://www.jeremycole.com/blog/2011/03/09/beagleboard-upgrading-from-debian-5-to-debian-6/ Upgrading] from Debian 5 to Debian 6 report and tutorial.

Revision as of 12:50, 22 April 2013

This page is about running a (ARM EABI) Debian distribution at BeagleBoard. BeagleBoard will boot the (ARM EABI) Debian distribution from SD card. Debian's NetInstall will be used to install Debian onto your Beagle.

Note: Debian armel deb's are compiled for armv4t, this allows debian to support a larger number of arm devices with a single port, at only the sacrifice of speed.

Help

If you need any help:

  • When asking for help, please provide some debugging information:
    • U-Boot Version installed on board
    • Kernel Version: uname -a
    • pastebin dmesg
      • Copy from serial port or use "dmesg | pastebinit" (sudo apt-get install pastebinit)

Recommended Beagle Software

Mainline U-Boot:

  • All old Ax, Bx, Cx and Dx boards are required to upgrade to at least these U-Boot versions.
  • XM Boards have no NAND, so MLO/u-boot.img is always required on the first partition
  • Directions: Upgrade X-loader and U-Boot

Debian NetInstall

You will need a 1GB SD card or greater.

Standard System : ~455MB
+ Desktop environment (GNOME) : ~2.9GB

Debian Squeeze

git clone git://github.com/RobertCNelson/netinstall.git
cd netinstall

Quick Install script for "board"

sudo ./mk_mmc.sh --mmc /dev/sdX --uboot "board" --distro squeeze

"board" Options:

  • BeagleBoard Ax/Bx - beagle_bx
  • BeagleBoard Cx - beagle_cx
  • BeagleBoard xMA/B/C - beagle_xm
  • BeagleBone Ax - bone
  • PandaBoard Ax - panda
  • PandaBoard ES - panda_es

So For the BeagleBoard xM:

sudo ./mk_mmc.sh --mmc /dev/sdX --uboot beagle_xm --distro squeeze
  • Options:
    • --uboot : beagle, panda, bone
    • --distro : squeeze
    • --firmware : installs firmware
    • --serial-mode : debian-installer uses Serial Port

NOTE: There is a bug in the USB Keyboard mapping, the debian-installer will initially fail, if and when the error occurs switch to the option "kernel keymap" and continue installing..

Beagleboard: NetInstall

Choose a language
 C - No localization
 English - English
Configure the network:
 usb0: USB net <- (usually the OTG port, but could also be the smsc95xx adapter on the beagle and panda)
 usb1: USB net <- (usually the smsc95xx adapter on the beagle and panda, when usb0 exist)
 eth0: Ethernet <- Your usb-ethernet device
 wlan0: Wifi <- Your usb-wifi device.. See BeagleBoardDebianWifiInstallInfo for my hack to set it up.

usb0 howto

There's a lot of question on irc about this, it might make sense to add a wiki page going thru with linux/winxp etc.. --RobertCNelson 00:55, 23 April 2010 (UTC)

Configuring usb0 network bridge for 2.6.29:
 While you chose your keyboard layout, setup a bridge with ethX and usbX.
  # ifconfig ethX 0.0.0.0
  # ifconfig usbX 0.0.0.0
  # brctl addbr brX
  # brctl addif brX ethX
  # brctl addif brX usbX
  # ifconfig brX up
  # dhclient brX
 *Sometimes the first beagle DHCP will fail(probably due PC trying autoconnect), just run the auto configuration again and it will configure it right.
Continue the install without loading kernel modules? : <yes>
Partition disks: This partitioner doesn't have the inform.....? : <yes>
 Logical Volume Manager not available: <Continue>
Partition disks:
 Guided - Use the largest continuous free space
Partitioning scheme....

Example:

MMC/SD card #1 (mmcblk0) - 2.0 GB Unknown
>  #1 primary  57.5 MB     fat32
>  #2 primary   1.8 GB B f ext3  /
>  #5 logical 148.0 MB   f swap  swap
Finish partitioning and write changes to disk
 Write the changes to disk? : <yes>
No installable kernel was found in the defined APT sources? : 
 Continue without installing a kernel? : <yes>
Standard System
No BootLoader: <ok>

Demo Image

Debian Wheezy snapshot

Default username/password:

  • username: debian
  • password: temppwd

Default root user/password

  • user: root
  • password: root

Image Updated:

  • 2013-03-28:
    • Beagle/Panda/Panda ES: v3.7.10-x10 kernel
    • Bone: v3.2.33-psp26 kernel (--uboot bone_dtb = v3.8.4-bone9)
  • 2013-02-16:
    • Beagle/Panda/Panda ES: v3.7.8-x8 kernel
    • Bone: v3.2.33-psp26 kernel (--uboot bone_dtb = v3.8-rc7-bone4)
  • 2013-01-12
    • Beagle/Panda/Panda ES: v3.7.2-x6
    • Bone: v3.2.33-psp26 kernel (next release should be v3.7.x based)

Services Active:

Note: Depending on your internal network these may work out the box
Apache, Port 80: http://arm/
SSH, Port 22: ssh ubuntu@arm
Getty, Serial Port

Get prebuilt image:

wget http://rcn-ee.net/deb/rootfs/wheezy/debian-wheezy-console-armhf-2013-03-28.tar.xz

Verify Image with:

md5sum debian-wheezy-console-armhf-2013-03-28.tar.xz 
935b9d97669d6c84e54d5445da2f4506  debian-wheezy-console-armhf-2013-03-28.tar.xz

Unpack Image:

tar xJf debian-wheezy-console-armhf-2013-03-28.tar.xz
cd debian-wheezy-console-armhf-2013-03-28

Install Image:

Quick Install script for "board"

sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot "board"

"board" options:

  • BeagleBoard Ax/Bx - beagle_bx
  • BeagleBoard Cx/Dx - beagle_cx
  • BeagleBoard xM - beagle_xm
  • BeagleBone Ax - bone
  • BeagleBone Ax - bone_dtb (for v3.8.x testing)
  • PandaBoard Ax - panda
  • PandaBoard ES - panda_es

So For the BeagleBoard xM:

sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot beagle_xm
  • Additional Options
    • --rootfs <ext4 default>
    • --swap_file <swap file size in MB's>
    • --addon pico <ti pico projector>
    • --svideo-ntsc <use ntsc over dvi for video)
    • --svideo-pal <use pal over dvi for video)

Debian Configuration

Serial Ports

Lenny

edit /etc/inittab and add:

S:2345:respawn:/sbin/getty 115200 ttyS2

For root access over the serial port add ttyS2 to /etc/securetty


Squeeze

edit /etc/inittab and add:

S:2345:respawn:/sbin/getty 115200 ttyO2

WiFi

See BeagleBoard Debian WiFi install info.

SGX Video Acceleration

SGX armel/armhf v3.4.x+

  • Note: This is a still a work in progress, but so far all the basic sgx demos seem to work on my Beagle xM C... Thanks to TI for the special armhf binaries!!! --RobertCNelson 19:48, 17 July 2012 (UTC)
  • Test with: Precise/12.04 armhf demo image with v3.4.5-x1, desktop was lxde via: "sudo apt-get install lxde lxde-core lxde-icon-theme"

Re-Build Kernel and SGX Kernel Modules

git clone git://github.com/RobertCNelson/stable-kernel.git
cd stable-kernel
git checkout origin/v3.6.x -b v3.6.x
./build_kernel.sh (and then follow the directions as the script runs...)

Build kernel

./build_kernel.sh

Build SGX modules

./sgx_build_modules.sh

Insert SD card, make sure to modify MMC in system.sh

./tools/install_image.sh

Place SD card into the device and boot...

cd /opt/sgx
sudo tar xf GFX_4.0*_libs.tar.gz
sudo ./install-sgx.sh 

Reboot, check modules (lsmod):

Module                  Size  Used by
bufferclass_ti          5727  0 
omaplfb                11512  0 
pvrsrvkm              165208  2 bufferclass_ti,omaplfb

Blit Test:

ubuntu@omap:/usr/bin/armhf/es5.0$ ./sgx_blit_test 
------------------ SGX 3D Blit test -----------------
----------------------- Start -----------------------
Call PVRSRVConnect with a valid argument:
 OK
Get number of devices from PVRSRVEnumerateDevices:
 OK
.... Reported 1 devices
.... Device Number  | Device Type
            0000    | PVRSRV_DEVICE_ID_SGX
Attempt to acquire device 0:
 OK
Getting SGX Client info
 OK
.... ui32ProcessID:1133
Display Class API: enumerate devices
 OK
PVRSRVEnumerateDeviceClass() returns 1 display device(s)
 OK
Display Class API: open device
 OK
Display Class API: Get display info
 OK
.... Name:PowerVR OMAP Linux Display Driver
.... MaxSwapChains:1
.... MaxSwapChainBuffers:1
.... MinSwapInterval:0
.... MaxSwapInterval:1
Display Class API: enumerate display formats
 OK
 OK
.... Display format 0 - Pixelformat:1
Display Class API: enumerate display dimensions
 OK
 OK
.... Display dimensions 0 - ByteStride:2560 Width:1280 Height:720
Attempt to create memory context for SGX:
 OK
.... Shared heap 0 - HeapID:0x7000000 DevVAddr:0x1000 Size:0x87fe000 Attr:0x2014200
.... Shared heap 1 - HeapID:0x7000001 DevVAddr:0xc800000 Size:0xfff000 Attr:0x2024200
.... Shared heap 2 - HeapID:0x7000002 DevVAddr:0xe400000 Size:0x7f000 Attr:0x2024200
.... Shared heap 3 - HeapID:0x7000003 DevVAddr:0xf000000 Size:0x3ff000 Attr:0x2024200
.... Shared heap 4 - HeapID:0x7000004 DevVAddr:0xf400000 Size:0x4ff000 Attr:0x2014200
.... Shared heap 5 - HeapID:0x7000005 DevVAddr:0xfc00000 Size:0x1ff000 Attr:0x2014200
.... Shared heap 6 - HeapID:0x7000006 DevVAddr:0xdc00000 Size:0x7ff000 Attr:0x2014200
.... Shared heap 7 - HeapID:0x7000007 DevVAddr:0xe800000 Size:0x7ff000 Attr:0x2014200
.... Shared heap 8 - HeapID:0x7000008 DevVAddr:0xd800000 Size:0x3ff000 Attr:0x2024200
.... Shared heap 9 - HeapID:0x7000009 DevVAddr:0x8800000 Size:0x0 Attr:0x2024200
.... Shared heap 10 - HeapID:0x700000a DevVAddr:0x8800000 Size:0x3fff000 Attr:0x2014200
Display Class API: get the system (primary) buffer
 OK
Display Class API: map display surface to SGX
 OK
Attempt to create transfer context for SGX:
 OK
Do a SRCCOPY blit to the bottom right quadrant of the display:
(bottom right quadrant should be red on blue background):
 OK
 OK
Do a SRCCOPY blit to the top left quadrant of the display:
(top left quadrant should be striped (r/g/b/w) on blue background):
 OK
 OK
Do a CUSTOMSHADER blit to the top right quadrant of the display:
(top right quadrant should be yellow):
0xb6acd000 (host) 0xf407000 (device): Device mem for custom shader program
0xb6acb000 (host) 0xf408000 (device): Device mem for texture
USE custom shader program: 0x28841001.c0000000	mov.end o0, sa0
 OK
Do a SRCCOPY blit with COLOUR DOWNSAMPLING from ARGB8888 to RGB565
and then present the RGB565 to the bottom right quadrant of the screen
(bottom right quadrant should be a red gradient):
 OK
 OK
 OK
 OK
Free the off screen surfaces:
 OK
 OK
 OK
 OK
Destroy the transfer context:
 OK
Display Class API: unmap display surface from SGX
 OK
Destroy Device Memory Context
Display Class API: close the device
 OK
Release SGX Client Info:
 OK
Disconnect from services:
 OK
------------------ SGX 3D Blit test -----------------
------------------------ End ------------------------

SGX Legacy armel only upto v3.2.x

NOTE: this only works on BeagleBoard hardware, BeagleBone stuff is in development..

Requirements: stable-kernel (the Demo Images hosted on rcn-ee.net meet this requirement)

 https://github.com/RobertCNelson/stable-kernel

Note: Due to a bug (seems to only effect older Beagle Bx/Cx boards, use v3.0.8-x3 based kernels)

https://github.com/RobertCNelson/stable-kernel/issues/8
oneiric:
wget http://rcn-ee.net/deb/oneiric/v3.0.8-x3/install-me.sh
/bin/bash install-me.sh

SDK unPackage Script

Download the latest version of the "create_sgx_package.sh" script

2.6.37
wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_sgx_package_2.6.37.sh
2.6.38->3.2.x
wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_sgx_package_3.2.x.sh

Make script executable

chmod a+x ./create_sgx_package_*.sh

Run script

./create_sgx_package_*.sh

After Successfully running:

:~/temp$ ls
create_sgx_package.sh
GFX_X_XX_XX_XX_libs.tar.gz                      : -> Copy to Beagle (System Libs)
GFX_Linux_SDK.tar.gz                            : -> Copy to Beagle (DEMO's)
Graphics_SDK_setuplinux_X_XX_XX_XX.bin
SDK
SDK_BIN

Beagle: GFX_*_libs.tar.gz

tar xf GFX_4_00_00_01_libs.tar.gz  (extracts install-SGX.sh and run-SGX.sh)
./install-SGX.sh (copies necessary SGX libs and startup script)
./run-SGX.sh (force run the new init script, or you can just reboot...)

On successful install:

Stopping PVR
Starting PVR
Starting SGX fixup for ES2.x (or ES3.x) (or ES5.x xM)

Reboot for good measure

sudo reboot

Beagle: GFX_Linux_SDK.tar.gz

tar xf GFX_Linux_SDK.tar.gz
cd GFX_Linux_SDK
tar xf OGLES.tar.gz

Test SGX with a DEMO

cd OGLES/SDKPackage/Binaries/CommonX11/Demos/EvilSkull
./OGLESEvilSkull

Trouble Shooting

sudo rm /etc/powervr-esrev
sudo depmod -a omaplfb
sudo /etc/init.d/pvr restart

DSP

gst-dsp

The following Gstreamer elements will be installed:

 $ gst-inspect | grep dsp
 dvdspu:  dvdspu: Sub-picture Overlay
 dsp:  dspdummy: DSP dummy element
 dsp:  dspvdec: DSP video decoder
 dsp:  dspadec: DSP audio decoder
 dsp:  dsph263enc: DSP video encoder
 dsp:  dspmp4venc: DSP MPEG-4 video encoder
 dsp:  dspjpegenc: DSP video encoder
 dsp:  dsph264enc: DSP video encoder
 dsp:  dspvpp: DSP VPP filter
 dsp:  dspipp: DSP IPP

Please note that h264 encoder (dsph264enc) will not work because of missing h264venc_sn.dll64P DSP part. According to this message, it is not available due to a licensing restriction.

Requirements: Kernel built with: "CONFIG_TIDSPBRIDGE=m", for reference, here is what rcn-ee.net's image/deb's are configured for:

ubuntu@arm:~$ zcat /proc/config.gz | grep TIDSP
CONFIG_TIDSPBRIDGE=m
CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
CONFIG_TIDSPBRIDGE_RECOVERY=y
# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set
# CONFIG_TIDSPBRIDGE_BACKTRACE is not set

On the xM: if 3.2.x is too jerky, try 3.4.x and use the create_dsp_package.sh script, as the module changed..

Download the latest version of the "create_dsp_package.sh" script

wget https://raw.github.com/RobertCNelson/tools/master/x86/ti_omap/create_dsp_package.sh

Make script executable

chmod a+x ./create_dsp_package.sh

Package script:

./create_dsp_package.sh

Copy DSP_Install_libs.tar.gz to Beagle

Setup network...

Extract:

ubuntu@arm:~$ tar xf DSP_Install_libs.tar.gz

Install:

ubuntu@arm:~$ ./install-DSP.sh

What got installed:

ubuntu@arm:~$ ls -lh /lib/dsp/
total 7.1M
-rwxr-xr-x 1 root root 1.3M Dec  3 10:56 baseimage.dof
-rwxr-xr-x 1 root root  51K Dec  3 10:56 conversions.dll64P
-rwxr-xr-x 1 root root  13K Dec  3 10:56 dctn_dyn.dll64P
-rwxr-xr-x 1 root root 2.5M Dec  3 10:56 h264vdec_sn.dll64P
-rwxr-xr-x 1 root root 481K Dec  3 10:56 jpegdec_sn.dll64P
-rwxr-xr-x 1 root root 229K Dec  3 10:56 jpegenc_sn.dll64P
-rwxr-xr-x 1 root root 767K Dec  3 10:56 m4venc_sn.dll64P
-rwxr-xr-x 1 root root 890K Dec  3 10:56 mp4vdec_sn.dll64P
-rwxr-xr-x 1 root root 707K Dec  3 10:56 mpeg4aacdec_sn.dll64P
-rwxr-xr-x 1 root root  15K Dec  3 10:56 qosdyn_3430.dll64P
-rwxr-xr-x 1 root root  14K Dec  3 10:56 ringio.dll64P
-rwxr-xr-x 1 root root 9.1K Dec  3 10:56 TSPA_Object_Code_Software_License_Agreement.txt
-rwxr-xr-x 1 root root  53K Dec  3 10:56 usn.dll64P
-rwxr-xr-x 1 root root 245K Dec  3 10:56 vpp_sn.dll64P

Building gst-dsp stuff:

If you installed this image via the demo images or netinstall, the gst-dsp build script is installed:

Update arm tools directory to the latest:

ubuntu@arm:~$ cd /boot/uboot/tools/
ubuntu@arm:/boot/uboot/tools$ sudo ./update.sh

Otherwise, install via git:

git clone git://github.com/RobertCNelson/tools.git

Change to the pkgs directory

ubuntu@arm:~$ cd /boot/uboot/tools/pkgs
(or if just cloned)
ubuntu@arm:~$ cd ~/tools/pkgs

Build gst-dsp stuff..

./ti-tidspbridge.sh

Start dspbridge (or just reboot)

sudo /etc/init.d/dsp_init start

Test dspbridge

sudo dsp-test

Playbin:

sudo gst-launch playbin2 uri=file://(file)

Example: (using http://www.bigbuckbunny.org/index.php/download/ 854x480 mp4 )

Note: it seems broken in Ubuntu precise armhf...
sudo gst-launch playbin2 uri=file:///home/USER/big_buck_bunny_480p_surround-fix.avi

Xorg omapfb Drivers

By default Debian will try* to use the FBDEV video driver, however for the beagleboard we can take advantage of a more software optimized driver (still not using the sgx video hardware) using the NEON extensions of the Cortex-A8 core.

Lenny might need this xorg.conf, but it's best to use omapfb later in this guide..

/etc/X11/xorg.conf:

Section "Device"
	Identifier	"Configured Video Device" 
	Option		"UseFBDev"		"true"
	Driver		"fbdev"
EndSection

cat /var/log/Xorg.0.log | grep FBDEV

(II) FBDEV: driver for framebuffer: fbdev
(II) FBDEV(0): using default device
(II) FBDEV(0): Creating default Display subsection in Screen section
(==) FBDEV(0): Depth 16, (==) framebuffer bpp 16
(==) FBDEV(0): RGB weight 565

Login into Debian and open a new terminal, xorg has to be running..

xvinfo -display :0.0

X-Video Extension version 2.2
screen #0
 no adaptors present

Drivers

Note: These are built with neon optimizations: http://git.debian.org/?p=collab-maint/xf86-video-omapfb.git;a=blob;f=debian/rules;h=c2f0d5391c96c5abb60b1e691ad86bb27e0c17d8;hb=HEAD (line 48/49)

Lenny:

wget -c http://rcn-ee.homeip.net:81/dl/deb-sbuild/lenny/xorg-drivers/xserver-xorg-video-omap3_0.1.1-2_armel.deb
sudo dpkg -i xserver-xorg-video-omap3_0.1.1-2_armel.deb

Squeeze/Sid:

sudo apt-get install xserver-xorg-video-omap3

xorg.conf

/etc/X11/xorg.conf

Section "Monitor"
    Identifier "Configured Monitor"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Device "Configured Video Device"
    #Limited by SGX?
    DefaultDepth 16
EndSection

Section "Device"
    Identifier "Configured Video Device"
    Driver "omapfb"
    Option "fb" "/dev/fb0"
EndSection

To verify it was correctly installed, reboot and:

cat /var/log/Xorg.0.log | grep omapfb

(II) LoadModule: "omapfb"
(II) Loading /usr/lib/xorg/modules/drivers//omapfb_drv.so
(II) Module omapfb: vendor="X.Org Foundation"
(II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:
(WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory
(II) omapfb(0): VideoRAM: 1800KiB (SDRAM)
(II) omapfb(0): Creating default Display subsection in Screen section
(**) omapfb(0): Depth 16, (--) framebuffer bpp 16
(==) omapfb(0): RGB weight 565
(==) omapfb(0): Default visual is TrueColor
(--) omapfb(0): Virtual size is 1280x720 (pitch 1280)
(**) omapfb(0):  Built-in mode "current"
(==) omapfb(0): DPI set to (96, 96)
(II) omapfb(0): DPMS enabled
(II) omapfb(0): Video plane capabilities:
(II) omapfb(0): Video plane supports the following image formats:
(II) omapfb(0): XVideo extension initialized

Login into Debian and open a new terminal, xorg has to be running..

xvinfo -display :0.0

X-Video Extension version 2.2
screen #0
  Adaptor #0: "OMAP XV adaptor"
    number of ports: 1
    port base: 56
    operations supported: PutImage 
    supported visuals:
      depth 16, visualID 0x21
    number of attributes: 1
    etc..

Building Kernel

Note, this section use to have a lot of details, but maintenance of the two wiki's became a pain, so for now on we will just link to my other pages:

Beagle/Beagle xM

http://eewiki.net/display/linuxonarm/BeagleBoard

BeagleBone

http://eewiki.net/display/linuxonarm/BeagleBone

Panda/Panda ES

http://eewiki.net/display/linuxonarm/PandaBoard

Upgrading from Debian 5 to Debian 6

Upgrading from Debian 5 to Debian 6 report and tutorial.