Difference between revisions of "BeagleBoardDebian"
m (→Debian Wheezy snapshot) |
m (→Debian Wheezy snapshot: debian-wheezy-minimal-armhf-2012-10-19) |
||
(19 intermediate revisions by the same user 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. | + | *** [https://github.com/RobertCNelson/stable-kernel Stable Kernel 3.2.x src] |
− | *** [https://github.com/RobertCNelson/ | + | *** [https://github.com/RobertCNelson/linux-dev Development Kernel src] |
*When asking for help, please provide some debugging information: | *When asking for help, please provide some debugging information: | ||
Line 139: | Line 143: | ||
Reboot with your new Kernel | Reboot with your new Kernel | ||
− | = | + | = Demo Image = |
− | |||
− | |||
− | + | == Debian Wheezy snapshot == | |
− | + | Default username/password: | |
+ | *username: debian | ||
+ | *password: temppwd | ||
− | + | Default root user/password | |
+ | *user: root | ||
+ | *password: root | ||
Image Updated: | Image Updated: | ||
− | * | + | * October 19th |
− | **Beagle/Panda: v3.2. | + | ** Beagle/Panda ES: v3.6.2-x3 kernel |
− | * | + | ** Panda: v3.2.32-x15 kernel (kernel bug, crashes with v3.6.x after a few hours) |
− | ** | + | ** Bone: v3.2.32-psp25 kernel |
− | * | + | * September 27th |
− | ** | + | ** Beagle/Panda: v3.2.30-x14 kernel |
− | ** Beagle/Panda: v3.2.2 kernel | + | ** Bone: v3.2.30-psp23 kernel |
− | ** | + | * September 10th |
− | * | + | ** Beagle/Panda: v3.2.28-x14 kernel |
− | ** | + | ** Bone: v3.2.28-psp21 kernel (not with "backlight" support for CircuitCo LCD3) |
+ | *July 29th: 2012-07-29 | ||
+ | ** Beagle/Panda: v3.2.24-x14 kernel | ||
+ | ** Bone: v3.2.23-psp18 kernel | ||
+ | *July 16th: 2012-07-16 | ||
+ | ** Beagle/Panda: v3.2.23-x14 kernel | ||
+ | ** Bone: v3.2.21-psp16 kernel | ||
+ | *June 12th: 2012-06-10 | ||
+ | ** Beagle/Panda: v3.2.19-x13 kernel | ||
+ | ** Bone: v3.2.18-psp14 kernel (now supports the BeagleBone LCD from CircuitCo) | ||
+ | *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..) | ||
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@ | + | 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- | + | wget http://rcn-ee.net/deb/rootfs/wheezy/debian-wheezy-minimal-armhf-2012-10-19.tar.xz |
mirrors (will take some time to update): | mirrors (will take some time to update): | ||
− | wget http://ynezz.ibawizard.net/beagleboard/wheezy/debian-wheezy-minimal-armhf-2012- | + | wget http://ynezz.ibawizard.net/beagleboard/wheezy/debian-wheezy-minimal-armhf-2012-10-19.tar.xz |
Verify Image with: | Verify Image with: | ||
− | md5sum debian-wheezy-minimal-armhf-2012- | + | md5sum debian-wheezy-minimal-armhf-2012-10-19.tar.xz |
− | + | a9778af7dad1b826564499fa2c30f61a debian-wheezy-minimal-armhf-2012-10-19.tar.xz | |
Unpack Image: | Unpack Image: | ||
− | tar xJf debian-wheezy-minimal-armhf-2012- | + | tar xJf debian-wheezy-minimal-armhf-2012-10-19.tar.xz |
− | cd debian-wheezy-minimal-armhf-2012- | + | cd debian-wheezy-minimal-armhf-2012-10-19 |
Install Image: | Install Image: | ||
Line 204: | Line 222: | ||
** --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> | ||
− | |||
** --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) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Debian Configuration = | = Debian Configuration = | ||
Line 241: | Line 249: | ||
== SGX Video Acceleration == | == 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!!! --[[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.4.x -b v3.4.x | ||
+ | ./build_kernel.sh (and then follow the directions as the script runs...) | ||
+ | |||
+ | 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 Device and boot... | ||
+ | cd /opt/sgx | ||
+ | sudo tar xf GFX_4.06.00.03_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: | + | 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 | ||
Line 270: | Line 409: | ||
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 284: | Line 423: | ||
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 290: | Line 429: | ||
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 305: | Line 444: | ||
=== gst-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. [http://groups.google.com/group/omapdiscuss/msg/76d928726656c5fe 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: | ||
+ | voodoo@beagle-xma-512mb:~$ zcat /proc/config.gz | grep TIDSP | ||
+ | CONFIG_TIDSPBRIDGE=m | ||
+ | CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000 | ||
+ | # CONFIG_TIDSPBRIDGE_DEBUG is not set | ||
+ | CONFIG_TIDSPBRIDGE_RECOVERY=y | ||
+ | # 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_BACKTRACE is not | ||
+ | |||
+ | 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://github.com/RobertCNelson/stable-kernel/raw/master/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 331: | Line 498: | ||
Build gst-dsp stuff.. | Build gst-dsp stuff.. | ||
./install-gst-dsp.sh | ./install-gst-dsp.sh | ||
+ | |||
+ | Start dspbridge (or just reboot) | ||
+ | sudo /etc/init.d/dsp 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: seems broken in ubuntu precise armhf... | ||
+ | |||
+ | sudo gst-launch playbin2 uri=file:///home/USER/big_buck_bunny_480p_surround-fix.avi | ||
+ | |||
+ | Screenshot: (on my xm it's a little jerky at the moment, investigating..) | ||
+ | http://rcn-ee.net/bugs/dsp/dsp_v3.2.1-x2-test.jpg | ||
== Xorg omapfb Drivers == | == Xorg omapfb Drivers == |
Revision as of 10:15, 22 October 2012
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.
- armhf
- Port Details: http://wiki.debian.org/ArmHardFloatPort
- Status: http://wiki.debian.org/ArmHardFloatTodo
Contents
Help
If you need any help:
- Kernel related help:
- Email Beagleboard user group *Recommended method
- #beagle: Beagle irc on freenode, accessible also by web interface (logs)
- Kernel Tree's
- 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
X-loader/MLO (1.4.4ss) & U-Boot (2010.03) (Zippy1 & Zippy2 Support)
- All Bx, C2/3/4 Boards are required to upgrade to atleast these MLO and U-Boot versions.
- XM Boards have no NAND, so u-boot.bin 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>
Beagleboard: Install Latest Kernel
Script File:
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
Demo Image
Debian Wheezy snapshot
Default username/password:
- username: debian
- password: temppwd
Default root user/password
- user: root
- password: root
Image Updated:
- October 19th
- Beagle/Panda ES: v3.6.2-x3 kernel
- Panda: v3.2.32-x15 kernel (kernel bug, crashes with v3.6.x after a few hours)
- Bone: v3.2.32-psp25 kernel
- September 27th
- Beagle/Panda: v3.2.30-x14 kernel
- Bone: v3.2.30-psp23 kernel
- September 10th
- Beagle/Panda: v3.2.28-x14 kernel
- Bone: v3.2.28-psp21 kernel (not with "backlight" support for CircuitCo LCD3)
- July 29th: 2012-07-29
- Beagle/Panda: v3.2.24-x14 kernel
- Bone: v3.2.23-psp18 kernel
- July 16th: 2012-07-16
- Beagle/Panda: v3.2.23-x14 kernel
- Bone: v3.2.21-psp16 kernel
- June 12th: 2012-06-10
- Beagle/Panda: v3.2.19-x13 kernel
- Bone: v3.2.18-psp14 kernel (now supports the BeagleBone LCD from CircuitCo)
- 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
- Beagle/Panda: v3.2.13-x7 kernel (panda bluetooth now works "sudo apt-get install bluetooth" + "uim" to get all the userspace programs)
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..)
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-minimal-armhf-2012-10-19.tar.xz mirrors (will take some time to update): wget http://ynezz.ibawizard.net/beagleboard/wheezy/debian-wheezy-minimal-armhf-2012-10-19.tar.xz
Verify Image with:
md5sum debian-wheezy-minimal-armhf-2012-10-19.tar.xz a9778af7dad1b826564499fa2c30f61a debian-wheezy-minimal-armhf-2012-10-19.tar.xz
Unpack Image:
tar xJf debian-wheezy-minimal-armhf-2012-10-19.tar.xz cd debian-wheezy-minimal-armhf-2012-10-19
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 - beagle_cx
- BeagleBoard xMA/B/C - beagle_xm
- BeagleBone Ax - bone
- 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.4.x -b v3.4.x ./build_kernel.sh (and then follow the directions as the script runs...)
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 Device and boot...
cd /opt/sgx sudo tar xf GFX_4.06.00.03_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://github.com/RobertCNelson/stable-kernel/raw/master/create_sgx_package_2.6.37.sh 2.6.38+ wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_sgx_package.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:
voodoo@beagle-xma-512mb:~$ zcat /proc/config.gz | grep TIDSP CONFIG_TIDSPBRIDGE=m CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000 # CONFIG_TIDSPBRIDGE_DEBUG is not set CONFIG_TIDSPBRIDGE_RECOVERY=y # 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_BACKTRACE is not
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://github.com/RobertCNelson/stable-kernel/raw/master/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
chmod a+x ./create_dsp_package.sh
Package script:
./create_dsp_package.sh
Copy DSP_Install_libs.tar.gz to beagle
Setup network...
Extract:
tar xf DSP_Install_libs.tar.gz
Install
./install-DSP.sh
Build gst-dsp stuff..
./install-gst-dsp.sh
Start dspbridge (or just reboot)
sudo /etc/init.d/dsp 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: seems broken in ubuntu precise armhf...
sudo gst-launch playbin2 uri=file:///home/USER/big_buck_bunny_480p_surround-fix.avi
Screenshot: (on my xm it's a little jerky at the moment, investigating..)
http://rcn-ee.net/bugs/dsp/dsp_v3.2.1-x2-test.jpg
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
https://github.com/RobertCNelson/stable-kernel
Download SRC
git clone git://github.com/RobertCNelson/stable-kernel.git
Build Kernel
./build_kernel.sh
Optional Building Deb File
./build_deb.sh
Upgrading from Debian 5 to Debian 6
Upgrading from Debian 5 to Debian 6 report and tutorial.