https://elinux.org/api.php?action=feedcontributions&user=Goldie.lin&feedformat=atomeLinux.org - User contributions [en]2024-03-29T13:00:58ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=User:Goldie.lin&diff=416741User:Goldie.lin2016-08-17T07:55:06Z<p>Goldie.lin: Blanked the page</p>
<hr />
<div></div>Goldie.linhttps://elinux.org/index.php?title=Processors&diff=30277Processors2011-01-14T14:35:38Z<p>Goldie.lin: /* ARM */</p>
<hr />
<div>Here is a list of different processor families, with miscellaneous notes for development information:<br />
<br />
See also [[Hardware Hacking]] for a list of systems that include these processors.<br />
<br />
== ARM ==<br />
See [http://www.arm.com ARM website] and the [http://en.wikipedia.org/wiki/ARM_architecture Wikipedia ARM article] for information about the ARM architecture and processor family.<br />
<br />
From the Linux perspective, there are 2 very different kinds of ARM chips:<br />
* ARM processors that include a memory management unit (MMU), and can run standard Linux<br />
* ARM processors without MMU. These can run a modified version of Linux called uClinux ( http://uclinux.org/ ), enabling Linux to run on MMUless platforms or embedded processors with memory protection unit (MPU). These include ARM processors such as ARM7TDMI, ARM1156T2(F)-S or ARM Cortex-R4(F) for instance. <br />
<br />
Please note that because of security considerations for MMU-less processors, it is unwise to <br />
use them when 3rd-party or untrusted code will be running on the device. For locked-down, single<br />
function devices, MMU-less processors may be appropriate. They are usually less expensive than processors<br />
with MMU.<br />
<br />
Some major ARM platforms/SOCs are:<br />
* [[DaVinci]] and [[OMAP]] from [http://www.ti.com/corp/docs/landing/davinci/firstproducts.html Texas Instruments]<br />
** TI lists where to find the Linux kernel GIT repositories for the broad market devices on their [http://wiki.davincidsp.com/index.php/Applications_Processors_Crossreference applications processors cross-reference] <br />
** There is also an [http://omappedia.org/wiki/Linux_OMAP_Kernel_Project OMAP Linux kernel project]<br />
* i.MX - by FreeScale<br />
** Freescale's GIT repository for i.MX Linux support is at: http://opensource.freescale.com<br />
*** Info about this repository, as of April 2007 is at: http://www.spinics.net/lists/arm-kernel/msg39771.html<br />
* [http://www.arm.com/products/DevTools/Hardware_Platforms.html ARM RealView] platforms - by ARM Ltd. <br />
** Linux BSP and resources available at http://www.arm.com/linux with associated [http://www.linux-arm.org/git GIT tree]<br />
* XScale/PXA - by Marvell (formerly Intel) -- has MMU<br />
** PXA255/PXA26x - Cotulla/Dalhart<br />
** PXA27x - Bulverde<br />
** PXA3xx - Monahans family<br />
*** Linux PXA255/PXA26x/PXA27x BSPs are available in mainline kernel. You can find PXA3xx BSP from [http://www.marvell.com/ Marvell]. Marvell team is working hard to get PXA3xx patches accepted by the mainline.<br />
* Orion - by Marvell<br />
** Linux BSP for Orion-2 SoC available on [http://marc.info/?l=linux-arm-kernel&m=117869744222933&w=2 ARM Linux Mailing List].<br />
* Philips LPC21xx series of ARM processors are currently the lowest-cost ARM processors available. But they have no MMU.<br />
* [[JuiceBox]] uses a ARM S3C44B0X. It runs uClinux.<br />
* AT91 - by Atmel<br />
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1393 AT91RM9200] - ARM920T based -- has MMU<br />
** [http://www.atmel.com/dyn/products/devices.asp?family_id=605#1739 AT91SAM9 Series] - ARM926EJ-S based -- has MMU<br />
** Linux gateway : [http://www.linux4sam.org www.linux4sam.org]<br />
* Cirrus Logic ([http://arm.cirrus.com/ Linux forum and download site])<br />
** EP73xx - ARM720T based<br />
** EP93xx - ARM920T based<br />
* Samsung System-on-Chip (SystemLSI group)<br />
** S3C2410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2410], S3C2440 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2440], S3C2443 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2443] - ARM920T<br />
** S3C2416 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2416] - S3C2450 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2450], S3C2412 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2412], S3C2413 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2413] - ARM926EJS<br />
** S3C6400 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6400], S3C6410 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6410] - ARM1176EJS<br />
** S5PC100 Cortex-A8 833Mhz [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S5PC100&xFmly_id=229]<br />
<br />
== MIPS ==<br />
Information about MIPS processor architecture can be found [http://www.mips.com here]. For the Linux port information can be found [http://www.linux-mips.org here].<br />
<br />
Processors based on MIPS architecture include<br />
# [http://www.toshiba.com/taec/Catalog/Family.do?familyid=5 TX System RISC] from Toshiba.<br />
# [http://www.pmc-sierra.com/mips-processors MSP series] of processor from PMC Sierra.<br />
<br />
== SuperH ==<br />
<br />
[[Image:Superh_logo.gif]]<br />
<br />
Built by [http://www.renesas.com/homepage.jsp Renesas Technology] the webpage of record for the SuperH family of microprocessors can be found here: [http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/ SuperH RISC Engine Family].<br />
<br />
Wikipedia Page: [http://en.wikipedia.org/wiki/SuperH SuperH]<br />
<br />
Linux on SuperH: [http://linux-sh.org/shwiki/FrontPage linux-sh]<br />
<br />
=== Renesas SuperH Overview ===<br />
<br />
SuperH is an embedded RISC developed for high cost-performance, miniaturization, and performance per unit of power consumption (MIPS/W). We are developing CPU cores for a wide range of applications and functions and have many products available. Our product lines include a series with the SH-2 as the CPU core and on-chip large-capacity flash memory and peripheral functions such as timer, serial I/O, and AD converter, and a series with the SH-3 or SH-4 as the CPU core, which achieves high-speed data processing and is equipped with cache and MMU. Additionally, there is lineup of series with the SH2-DSP or SH3-DSP as the CPU core, which have full DSP functions and an emphasis on multimedia and communications processing. Currently available products also have lots of features, such as low power modes, low power consumption, and small size. Various versatile operating systems and development tools have been improved, allowing for more efficient development.<br />
<br />
=== Devices ===<br />
* Sega<br />
** [http://linux-sh.org/shwiki/Dreamcast Dreamcast] - Limited to the machine models that can start by MIL-CD and usage of a Broad Band Adapter is recommended.<br />
* Hitachi ULSI Systems<br />
** [http://linux-sh.org/shwiki/MS7206SE01 MS7206SE01] - SH72060 Solution Engine<br />
** MS7750SE01 - SH7750(sh4) Solution Engine<br />
** MS7709SE01 - SH7709(sh3) Solution Engine<br />
* SuperH, Inc.<br />
** ["MicroDev"]<br />
* HP Jornada<br />
** 525 (SH7709 (sh3))<br />
** 548 (SH7709A (sh3))<br />
** 620LX (SH7709 (sh3))<br />
** 660LX (SH7709 (sh3))<br />
** 680 (SH7709A (sh3))<br />
** 690 (SH7709A (sh3))<br />
* Renesas Technology Corp.<br />
** RTS7751R2D - CE Linux Forum(CELF)Compliant Evaluation Board<br />
* [http://www.shlinux.com Renesas Europe/MPC Data Limited]<br />
** EDOSK7705 - SH7705 sh3<br />
* EDOSK7760 - SH7760 sh4<br />
** EDOSK7751R - SH7751R sh4<br />
** SH7751R SystemH - SH7751R sh<br />
* [http://www.cqpub.co.jp/eda/CqREEK/SH4PCI.HTM CQ Publishing Co.,Ltd.]<br />
** CQ RISC Evaluation Kit(CqREEK)/SH4-PCI with Linux<br />
** [http://www.kmckk.co.jp/eng/ Kyoto Microcomputer Co., Ltd. (KMC or KμC)<br />
** Solution Platform KZP-01 KZP-01[Mainboard] + KZ-SH4RPCI-01[SH4 CPU Board]<br />
* [http://www.si-linux.com/index.html Silicon Linux Co,. Ltd.]<br />
** CAT760 - SH7760<br />
** CAT709 - SH7709S<br />
** CAT68701 - SH7708R For A-one CATBUS[Designed for 68000 board] compliant<br />
* [http://dsn-net.net/product/list_shlinux.html Daisen Electronic Industrial Co., Ltd.]<br />
** SH2000 - SH7709A 118MHz<br />
** SH2002 - SH7709S 200MHz<br />
** SH-500 - SH7709S 118MHz<br />
** SH-1000 - SH7709S 133MHz<br />
** SH-2004 - SH7750R 240MHz<br />
* [http://www.iodata.jp/prod/storage/hdd/index_lanhdd.htm IO-DATA DEVICE, Inc.(Network Attached Storage [NAS] Series)]<br />
** LAN-iCN - NAS Adapter for IODATA HDD with "i-connect" Interface<br />
** LAN-iCN2"] - NAS Adapter for IODATA HDD with "i-connect" Interface<br />
** LANDISK"] - SH4-266MHz[FSB133MHz] RAM64MB UDMA133 USB x2 10/100Base-T<br />
*** HDL-xxxU - LANDISK Series NAS Standard Model<br />
*** HDL-xxxUR - LANDISK with RICOH IPSiO G series print monitor for Windows support <br />
*** HDL-WxxxU - LANDISK with wide body & twin drive support for Heavy storage or RAID1<br />
*** HDL-AV250 - LANDISK with Home Network DLNA guideline support<br />
*** LANTank - LANDISK kit SuperTank(CHALLENGER) Series<br />
**** HDL-WxxxU based twin drive bulk NAS kit. LANTank have a special feature that supported network media server(cf. iTunes etc..).<br />
* [http://www.e-linux.jp/tmm_index.html TOWA MECCS CORPORATION]<br />
** TMM1000 - SH7709<br />
** TMM1100 - (SH7727<br />
** TMM1200 - SH7727<br />
* [http://www.sophia-systems.co.jp/ice/eval_board/index.html Sophia Systems]<br />
** Sophia SH7709A Evaluation Board<br />
** Sophia SH7750 Evaluation Board<br />
** Sophia SH7751 Evaluation Board<br />
* [http://www.movingeye.co.jp/mi6/sh4board.html MovingEye Inc.]<br />
** A3pci7003 - Using SH7750/ART-Linux [Linux with Realtime Extension]<br />
* [http://www.apnet.co.jp/product/ms104/ms104-sh4.html AlphaProject Co., Ltd.]<br />
** MS104-SH4 - SH7750R/PC104(Embedded ISA Bus) with apLinux<br />
* [http://www.interface.co.jp/cpu/ Interface Corporation.]<br />
** MPC-SH02 - SH7750S: ATX Motherboard Style<br />
** PCI-SH02xx"] - SH7750S: PCI-CARD Style<br />
* [http://www.tacinc.jp/ TAC Inc.]<br />
** [http://web.kyoto-inet.or.jp/people/takagaki/T-SH7706/T-SH7706.htm T-SH7706LAN] another name "Mitsuiwa SH3 board" SH-MIN - SH7706A/128MHz Flash512KB SDRAM 8MB 10BASE-T<br />
* [http://www.securecomputing.com/ SecureComputing]/[http://www.snapgear.org/ SnapGear] (older products, check ebay etc, all can netboot and have a debug header)<br />
** [http://www.snapgear.org/ SG530] - SH7751@166MHz RAM16MB FLASH4MB 2x10/100 1xSerial<br />
** [http://www.snapgear.org/ SG550] - SH7751@166MHz RAM16MB FLASH8MB 2x10/100 1xSerial<br />
** [http://www.snapgear.org/ SG570] - SH7751R@240MHz RAM16MB FLASH8MB 3x10/100 1xSerial<br />
** [http://www.snapgear.org/ SG575] - SH7751R@240MHz RAM64MB FLASH16MB 3x10/100 1xSerial<br />
** [http://www.snapgear.org/ SG630] - SH7751@166MHz PCI NIC card RAM16MB FLASH4MB 1x10/100 1xSerial-header<br />
** [http://www.snapgear.org/ SG635] - SH7751R@240MHz PCI NIC card RAM16MB FLASH16MB 1x10/100 1xSerial-header<br />
<br />
== PowerPC ==<br />
Some processors and tools for PowerPC are<br />
<br />
=== Processors ===<br />
* [[Freescale MPC5200]] SOC<br />
<br />
=== Tools ===<br />
The DENX Embedded Linux Development Kit (ELDK) provides a complete and powerful software development environment for embedded and real-time systems. It is available for ARM, PowerPC and MIPS processors and consists of:<br />
<br />
* Cross Development Tools (Compiler, Assembler, Linker etc.) to develop software for the target system.<br />
* Native Tools (Shell, commands and libraries) which provide a standard Linux development environment that runs on the target system.<br />
* U-Boot - Firmware that can be easily ported to new boards and processors.<br />
* Linux - Kernel including the complete source-code with all device drivers, board-support functions etc.<br />
* Xenomai - Real-Time and RTOS Emulation Framework<br />
* SELF (Simple Embedded Linux Framework) as fundament to build your embedded systems on.<br />
<br />
All components of the ELDK are available for free with complete source code under GPL and other Free Software Licenses. Also, detailed instructions to rebuild all the tools and packages from scratch are included.<br />
<br />
The ELDK can be downloaded for free from several mirror sites or ordered on CD-ROM for a nominal charge (99 Euro). To order the CD please contact office@denx.de<br />
<br />
Detailed information about the ELDK is available [http://www.denx.de/wiki/DULG/ELDK here].<br />
<br />
=== RT Patches ===<br />
* See [[RTPatch For PowerPC]]<br />
<br />
=== Documents ===<br />
* [[Book E and PPC 440]] - Descriptions about diffrences Book E and Ppc440.<br />
* [[Ppc Wait Mode]] - PPC wait mode and sleep mode information<br />
<br />
== XScale ==<br />
CE2110 Media Processor<br />
* [http://www.intel.com/design/celect/2110/ CE2110 Media Processor]<br />
The highly integrated Intel CE 2110 Media Processor helps to simplify the design of consumer electronics products with reduced BOM cost. The integrated Intel XScale® processor core at 1GHz provides processing performance and headroom to deploy new revenue-generating applications. Hardware-based decode of widely used video codecs (MPEG-2, H.264) maximizes system-level performance by enabling the processor core to be used exclusively for applications.<br />
<br />
The Intel CE 2110 Media Processor also includes an Intel® Micro Signal Architecture (Intel® MSA) DSP core for audio codecs, a PowerVR* 2D/3D graphics accelerator, hardware accelerators for encryption and decryption, comprehensive peripheral interfaces, analog and digital input/outputs, and a transport interface for ATSC/DVB input.<br />
<br />
* The Intel CE 2110 Media Processor Development Platform is designed to reduce time-to-market for new applications.<br />
* The Intel CE 2110 Media Processor reference platform provides the foundation for rapid development of new customer designs and product demonstrations.<br />
<br />
== x86 ==<br />
<br />
* Geode from [http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330,00.html AMD]<br />
:* AMD Geode GX / CS5535<br />
:* AMD Geode LX / CS5536<br />
<br />
* [http://meld.org/library/education/intel-architectures Graphical representation of Intel x86 processors from i386 - present] on Meld.org<br />
<br />
== AVR32 ==<br />
<br />
* AP7000 from [http://www.atmel.com/products/AVR32/ap7.asp Atmel]<br />
In 2010 Atmel stopped the further development of the AP7000 processor.<br />
<br />
== Blackfin ==<br />
<br />
* [[Blackfin]]<br />
<br />
== Further reading ==<br />
<br />
* Several processors have their own wiki, listed on the [[WikiNode]].<br />
<br />
[[Category:NeedsEditing]]<br />
[[Category:Processors| ]]</div>Goldie.linhttps://elinux.org/index.php?title=BeagleBoardFAQ&diff=28135BeagleBoardFAQ2010-12-05T11:18:28Z<p>Goldie.lin: /* Board revisions */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category: BeagleBoard]]<br />
<br />
This page collects frequently asked questions (FAQ) about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board]. See "official" [http://beagleboard.org/support/faq BeagleBoard FAQ] and [[BeagleBoard|eLinux BeagleBoard wiki page]], too.<br />
<br />
=Board revisions=<br />
<br />
'''Q''': What is the difference between BeagleBoard revision B4 and B5?<br />
<br />
'''A''': Revision B5 removes [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70] to fix [[BeagleBoard#Errata|errata #7]]. The differences betwen the various versions are documented in the [http://beagleboard.org/static/BBSRM_latest.pdf system reference manual].<br />
<br />
Note: Revision A boards have capacitor C70 at the same location as rev. B layout.<br />
<br />
'''Q''': What is the difference between BeagleBoard revision B5 and B6?<br />
<br />
'''A''': Revision B6 uses better/new/different package for U9/U11. For differences see BeagleBoard [[BeagleBoard#Manual|revision B6 HW manual]], section 2.4 (page 13). The differences betwen the various versions are documented in the [http://beagleboard.org/static/BBSRM_latest.pdf system reference manual].<br />
<br />
'''Q''': What is the difference between revision Bx and revision Cx?<br />
<br />
'''A''': The primary differences are the inclusion of the USB host port and 256MB of RAM on the Cx boards. The differences betwen the various versions are documented in the [http://beagleboard.org/static/BBSRM_latest.pdf system reference manual].<br />
<br />
'''Q''': What is the BeagleBoard-xM?<br />
<br />
'''A''': The BeagleBoard-xM is a major revision of the BeagleBoard to utilize a 1GHz+ processor, 512MB of RAM, an on-board USB hub with Ethernet, and '''no''' NAND flash memory. See http://beagleboard.org/hardware-xM. There is also an associated price increase and the old revision boards are therefore still available.<br />
<br />
=BeagleBoard alternative distributors=<br />
<br />
'''Q''': Are there any alternative distributors to order BeagleBoard from?<br />
<br />
'''A''': No, unfortunately not. You have to order from [[BeagleBoard#Availability|DigiKey]].<br />
<br />
However, for India there is an exception: The [http://www.ciol.com/Design-Trends/News-Reports/Beagle-Board-for-open-community-now-in-India/29708108378/0/ Beagle Board is available] for Rs 9,999 /- from [http://www.cranessoftware.com/ Cranes Software]. Use [mailto:beaglesales.india@cranessoftware.com beaglesales.india@cranessoftware.com] for contact.<br />
<br />
=DigiKey out of stock=<br />
<br />
'''Q''': I like to order a BeagleBoard from [[BeagleBoard#Availability|DigiKey]]. But they seem to be ''out of stock''?<br />
<br />
'''A''': DigiKey is having IT issues in that they can't handle partial shipments against an order, it does not show up in their system. Currently, they are receiving > 200 boards a week from the contract manufacturer. Typically they will only show a QTY of 1 for EVMs and it is not an indication of total quantity they have.<br />
<br />
=Shipped hardware=<br />
<br />
'''Q''': I like to buy a BeagleBoard from [[BeagleBoard#Availability|DigiKey]], what hardware is included?<br />
<br />
'''A''': Only the board itself. To make board as [[BeagleBoard#Hardware|cheap as possible]], for most peripherals you need [[BeagleBoardPeripherals|additional adapters]].<br />
<br />
=Shipped software=<br />
<br />
'''Q''': I like to buy a BeagleBoard from [[BeagleBoard#Availability|DigiKey]], what software is included?<br />
<br />
'''A''': 2nd stage loader ([http://code.google.com/p/beagleboard/wiki/BeagleSourceCode X-Loader]) and bootloader [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode U-Boot] in diagnostic version is flashed to Beagle's NAND flash. No further operating system, e.g. Linux, is included.<br />
<br />
=Peripherals needed=<br />
<br />
'''Q''': As shipped BeagleBoard doesn't contain any peripherals and adapters, what else will I need?<br />
<br />
'''A''': There are some [[BeagleBoardPeripherals|adapters]] necessary to bring up and some are nice to have for diagnosis etc.:<br />
<br />
* [[BeagleBoard#RS232|IDC10 to DB9M serial adapter]] ('''necessary''')<br />
* Serial null modem cable (optional, depends on your serial adapter and your serial PC port)<br />
* USB serial adapter (optional, depends if your PC has still DB9M serial connector)<br />
* SD card >= 256MB ('''necessary''', at least for some fun with demos)<br />
* USB-A to mini USB cable to power BeagleBoard ('''necessary''', or optional if you have additional 5V power supply, see below)<br />
* 5V, >= 500mA, 2,1mm/5,5mm plug, center-positive, well-regulated power supply (optional). This must be a well-regulated supply: greater than 5.5V can damage your BeagleBoard. Beware of cheap 5V bricks, as they may produce more than 5.5V with a light load and destroy your board.<br />
* HDMI to DVI-D cable (optional) or HDMI to HDMI cable if your monitor supports HDMI (optional)<br />
* USB Standard-A to Mini-A Adapter (optional, for USB usage external 5V power supply is necessary)<br />
* Self powered USB hub (optional, and some USB peripherals like keyboard and mouse)<br />
<br />
See also: http://code.google.com/p/beagleboard/wiki/BeagleBoardShoppingList<br />
<br />
=New board, and now=<br />
<br />
'''Q''': Hurray, I got my board. And now?<br />
<br />
'''A''': See [[BeagleBoardBeginners|BeagleBoard beginners guide]] and [http://code.google.com/p/beagleboard/wiki/outofthebox out of the box] page.<br />
<br />
=Beagle reading=<br />
<br />
'''Q''': What pages about Beagle are available? There are so many pages, is there an overview?<br />
<br />
'''A''': Main BeagleBoard resources are:<br />
<br />
* TI maintained [http://beagleboard.org/ BeagleBoard home] and [http://code.google.com/p/beagleboard/ Google wiki for BeagleBoard]<br />
* Community maintained [[BeagleBoard|eLinux wiki]]<br />
<br />
[[BeagleBoard#Beagle_wiki_pages|Wiki article overview]] tries to track a list of available Beagle wiki pages.<br />
<br />
=Serial connection #1=<br />
<br />
'''Q''': My serial connection doesn't work, has issue xxx. Where can I get more information?<br />
<br />
'''A''': Download [[BeagleBoard#Manual|BeagleBoard HW manual]]. It has some pictures to help you debug serial issues. See chapter 10.2 and '''13.3''' of revision B6 HW manual. Newer manuals might have different chapter numbering.<br />
<br />
=Serial connection #2=<br />
<br />
'''Q''': If I power my new board, after some seconds USR1 and USR2 LEDs are switching on, but I can't get anything in terminal program (minicom, kermit, hyperterm etc,).<br />
<br />
'''A''': Review wiring of your [[BeagleBoard#RS232|IDC10 to DB9M serial adapter]], try with and without NullModem cable, try to use DB9 serial port of your PC or USB serial adapter. Try all combinations.<br />
<br />
BeagleBoard only implements RS-232 signals RX, TX, and GND. These are pins 2, 3, and 5 of BeagleBoard 5x2 header P9 and also the DB9 connector on the serial adapter. So pins 1 - 5 on IDC go to pins 1 - 5 on DB9. There appear to be 2 types of these IDC to DB9 connectors. One has 1:1 wiring which is what you want. The other seem to have IDC:1 -> DB9:1, IDC:2 -> DB9:6, IDC:3 -> DB9:2, IDC:4 -> DB9:7 etc. This is ''wrong'' and will not work with BeagleBoard. The second (wrong) type of connector might give comms in one direction only! E.g., this was reported by one user who returned a board due to serial connection problems:<br />
<br />
''I originally ordered quantity 2 of the cables from [http://www.pccables.com/07120.htm PCCables website]:''<br />
* ''One was labeled 000-F903 and was the one I did the initial testing on both boards with.''<br />
* ''The second was labeled 000-F903-N and actually works (on the new one and the RMAed one). This matches the code on the pccables website.''<br />
So make sure you see the "-N", which is what is reported to be the proper version if you order from [http://www.pccables.com/07120.htm PCCables website].<br />
<br />
To see if there is any activity at all on the serial port, use an RS-232 LED monitor or break-out box or a digital oscilloscope to see if there is a bit stream on TX.<br />
<br />
Using an IDC10 to DB9M adapter in a draw (scavenged from some old computer), it failed to communicate with BeagleBoard. The pins were checked if they are as they should be. It seemed to be misswired as above. Opening up and resoldering the wires to correct pins made the adapter work. See pictures below for before and after.<br />
{| border="0"<br />
|-<br />
|[[File:IDC10toDB9M before.jpeg]]<br />
|[[File:IDC10toDB9M after.jpeg]]<br />
|}<br />
<br />
=Serial connection #3=<br />
<br />
'''Q''': I tried everything from serial connection #1 above but still nothing. It seems that I sometimes get some random characters, though.<br />
<br />
'''A''': If there is a bit stream, check that you have configured your terminal program to:<br />
<br />
* BAUD RATE: 115200<br />
* DATA: 8 bit<br />
* PARITY: none<br />
* STOP: 1bit<br />
* FLOW CONTROL: none<br />
<br />
This will work with most PCs. However, your PC may want to see DSR before it transmits to BeagleBoard and needs to have DTR (pin 4) wrapped back to DSR (pin 6). <br />
<br />
=Serial connection #4=<br />
<br />
'''Q''': Hurray, I got my new board, I'm quite sure that my serial connection is correct using the above two FAQs. Unfortunately, I get (boot) output, but can't type anything at U-Boot prompt.<br />
<br />
'''A''': Try test proposed from [http://groups.google.com/group/beagleboard/msg/fa522a1a621b734f John]: Here's a useful experiment: disconnect BeagleBoard and jumper TX (DB9 pin 3) to RX (pin 2) at the end of your serial cable. See if your jumper echoes to your terminal emulator. If not, try jumpering DTR (pin 4) to DSR (pin 6) and repeat test. You can also jumper RTS (pin7) to CTS (pin 8) if you don't trust your software to have turned off flow control.<br />
<br />
=Serial connection #5=<br />
<br />
'''Q''': I tried all three serial FAQs above, and I'm really really sure that anything is fine with my local serial configuration. But I still can't type anything at U-Boot prompt.<br />
<br />
'''A''': If you get TX data from the BeagleBoard OK but do not get RX data from your terminal program to BeagleBoard, check P9 pin 2 with a digital 'scope or an LED with 1K series resistor to see if there is any activity there. If there is data and you are really, really sure that everything is correct with your serial connection, then most probably your board suffers from [[BeagleBoard#Errata|errata #8]]. Then it's time for the Beagle Hospital. Sorry, you have to replace/repair it using [http://beagleboard.org/support/rma RMA process].<br />
<br />
'''ATTENTION''': One [http://www.beagleboard.org/irclogs/index.php?date=2008-08-30#T15:41:18 user reports] that his board showed all symptoms of errata #8 but ''only'' when DC powered; when USB powered serial input was fine. It turned out that pin 5 (ground) was miswired.<br />
<br />
=SD Card=<br />
<br />
'''Q''': I prepared my SD card with [http://wiki.omap.com/index.php?title=MMC_Boot_Format one FAT partition] or as [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat dual boot] card. Unfortunately, system doesn't seem to boot from this card, I don't get MMC boot info<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
...<br />
<br />
'''A''': Some users report issues with creating proper FAT or dual boot partitions as described in above linked documents. These descriptions are known to be correct, though. Because of unknown reasons, sometimes they seem to not work. Fragmentation of files in FAT boot partition may be one issue. Therefore:<br />
<br />
* Restart from scratch and try again to create boot partitions as described in above documents.<br />
* Try another SD card.<br />
* Make sure you made FAT boot partition bootable (fdisk 'a' command).<br />
* Make sure the images at your SD card are named ''MLO'', ''u-boot.bin'' and ''uImage''. If you downloaded the binaries make sure you remove all file name extensions to match these names.<br />
* Press and hold [[BeagleBoard#User_button|user button]] while powering the board to ensure that boot images are really read from SD card and not from NAND.<br />
<br />
Note: A [http://groups.google.com/group/beagleboard/msg/4ae722fa3b1092ff user reports]: It is absolutely necessary that MLO starts in the first sector of the FAT32 partition. What has worked best for that user is to reformat the FAT32 partition using Windows before copying MLO, u-boot.bin, and uImage. What might have happened is that formatting the FAT32 partition under Kubuntu Linux (sudo mkfs.msdos -F 32 /dev/sdb1 -n LABEL) added standard directories "." and ".." at the beginning of the partition so that when he copied MLO it did not end up at the beginning.<br />
<br />
Also, make sure the SD card is inserted all the way in. The socket on a new BeagleBoard may be quite stiff. A properly inserted SD card sticks out 18mm and pushes the top gold contacts aside. If you're unsure, look inside the socket from the edge of the board and see where the 9 contacts are that must mate with the SD. This tells you how far to insert the card. As always, be careful and don't force.<br />
<br />
=User button #1=<br />
<br />
'''Q''': [[BeagleBoard#User_button|User button]] doesn't seem to work for me!<br />
<br />
'''A''': Make sure you hold the user button down while releasing the reset. Do not release them at the same time.<br />
<br />
=User button #2=<br />
<br />
'''Q''': Pressing the [[BeagleBoard#User_button|user button]] my image at SD/MMC card isn't started! In terminal program I always get<br />
<br />
Texas Instruments X-Loader 1.41<br />
Starting OS Bootloader...<br />
...<br />
<br />
'''A''': It seems that you don't press user button correctly. See user button #1 above. If you use user button correctly, you get<br />
<br />
Instruments X-Loader 1.41<br />
'''Starting on with MMC'''<br />
Reading boot sector<br />
...<br />
<br />
If you don't get "MMC" message, you still boot from NAND.<br />
<br />
=Graphics accelerator=<br />
<br />
'''Q''': OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from Imagination Technologies. Are Linux drivers available for this? If not, when will they be available? Will they be OpenSource?<br />
<br />
'''A''': See [[BeagleBoard#Graphics_accelerator|Graphics accelerator section]] at BeagleBoard wiki page.<br />
<br />
=USB 2.0 EHCI HS connector=<br />
<br />
'''Q''': On my board, [[BeagleBoard#Components|USB 2.0 EHCI HS connector (#8)]] isn't soldered? Why? How can I use USB?<br />
<br />
'''A''': At revision A and B boards, USB 2.0 EHCI HS is broken due to HW [[BeagleBoard#Errata|errata #5]]. Therefore revision B boards don't have this connector soldered. This will be fixed with revision C boards (expected ~February 2009). You can use full USB functionality using [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] and self powered USB hub instead.<br />
<br />
=USB OTG connection #1=<br />
<br />
'''Q''': As USB 2.0 EHCI connector doesn't work on BeagleBoards rev A and rev B, I would like to use [[BeagleBoard#OTG|OTG port]] in host mode. I use a [http://trisoft.de/pics/ZHost.JPG Mini to Standard A cable] but if I connect something, nothing happens.<br />
<br />
'''A''': Make sure that<br />
* Your cable is plugged in while the kernel boots. At the moment, Linux only detects OTG port in host mode if cable is connected at boot time.<br />
* You use a self-powered (externally-powered) hub to attach devices. BeagleBoard only supports devices <= 100mA, so if you have USB issues try a self-powered hub.<br />
* Your Mini USB plug is 5-pin Mini-A. Mini-B will not work. See [http://en.wikipedia.org/wiki/USB#Types_of_USB_connector types of USB connectors]. Mini-B can be plugged to Beagle, but they don't have ID pin wired to GND. Only Mini-A cables connect ID pin to GND. So Mini-A with ID pin to GND is necessary. Since Mini-A is not an official USB standard the connectors/cables can be extremely difficult to find (without building your own); you can find [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 a Mini-A to Standard female A adapter here though].<br />
* If you use a 5-pin Mini-A to Standard A male cable, be sure that you plug the Standard A cable into the host port of your hub and not one of the device ports. You will probably need a double-female Standard A adapter since most hubs either have a host cable with a Standard A male plug or have a Standard B jack for a Standard A male to Standard B male cable.<br />
<br />
=USB OTG connection #2=<br />
<br />
'''Q''': How can I force the USB OTG port to act like a host?<br />
<br />
'''A''': At kernel command line do<br />
<br />
echo host> /sys/devices/platform/musb_hdrc/mode<br />
<br />
=USB OTG connection #3=<br />
<br />
'''Q''': When I plug a new USB device such as a Flash drive into my hub, I lose other devices such as my keyboard and/or mouse. What's going on?<br />
<br />
'''A''': Here's a theory as to what is going on: First of all, if you are connecting multiple devices to BeagleBoard's OTG port (in host mode) you probably need a "self-powered" USB hub, i.e., a hub with an external power supply that provides +5V power to the hub because the BeagleBoard OTG port can only supply 100mA.<br />
<br />
When you plug a USB device into the hub, it immediately connects to the +5V supply. The hub and the device both have large capacitors on the +5V supply. Normally, large capacitors are a good thing since they keep voltages constant. However, if you suddenly connect two capacitors, one charged and one discharged, the charged capacitor will very quickly transfer a large amount charge to the discharged capacitor so that the two capacitors end up with the same voltage. This is called "charge sharing". If the previously discharged capacitor is a lot smaller than the charged one, it won't affect the voltage on the charged one much. However, if the previously discharged capacitor is large, it can cause a momentary glitch in the charged capacitor's voltage which can be quite nasty if circuitry depends on that voltage staying constant.<br />
<br />
A well-designed USB hub should have "slow start" circuitry that charges up a plugged-in device slowly so that it doesn't glitch the hub's +5V supply. However, there may not be a standard for this. Cheap USB hubs omit "slow start" circuitry so plugging in a device with a large +5V capacitor can easily glitch the hub's +5V supply.<br />
<br />
Normally the +5V glitch is small, maybe just a few tenths of a volt. This should not be a problem for most devices, since they probably regulate +5V down to +3.3V anyway. So it's not clear why this would cause the BeagleBoard to lose USB devices. Here is the rest of the theory: Since BeagleBoard is in host mode, it is trying to generate +5V at 100mA to the hub. Since the hub is self-powered, it doesn't need BeagleBoard's lousy 100mA but the BeagleBoard sees that USB power is indeed +5V and thinks that it's doing a fine job providing that +5V. So what happens if the hub's +5V glitches when a device is plugged in? One possibility is that BeagleBoard sees the drop in voltage, assumes its +5V generating circuitry has failed, and tells software to disconnect all devices. Software should automatically recover from this, but does not seem to do so at this time.<br />
<br />
So what should users do about it? The easiest thing is to plug in USB devices before booting BeagleBoard's operating system. This doesn't help if you want to unplug and replug a Flash drive to transfer data, but it's better than nothing.<br />
<br />
Any corrections or additions to this theory are more than welcome.<br />
<br />
=X-Loader and U-Boot version=<br />
<br />
'''Q''': I use X-Loader and U-Boot shipped with BeagleBoard. These are the versions from [http://code.google.com/p/beagleboard/downloads/list code.google.com]. Unfortunately, sometimes I have issue xxx with these. Is this known? How to fix this?<br />
<br />
'''A''': The X-Loader and U-Boot version at code.google.com are the official TI versions available there for reference. They are known to have some issues. Try the community versions of [[BeagleBoard#X-Loader|X-Loader]] and [[BeagleBoard#U-Boot|U-Boot]] instead.<br />
<br />
=Expansion connector #1=<br />
<br />
'''Q''': I got my new BeagleBoard Rev. xx board. But [[BeagleBoard#Components|expansion connector]] (#5) isn't soldered. Is this wrong?<br />
<br />
'''A''': No, this is correct. All boards are shipped without mounted expansion connector.<br />
<br />
=Expansion connector #2=<br />
<br />
'''Q''': Which signals are available at expansion connector?<br />
<br />
'''A''': See [[BeagleBoard#Manual|BeagleBoard HW Reference Manual]] Table 17 & 18. Depending on the pin mux you have:<br />
<br />
* MMC2<br />
* McBSP1<br />
* McBSP3<br />
* I2C2<br />
* McSPI3<br />
* McSPI4<br />
* UART2<br />
* GPIO<br />
<br />
=Expansion connector #3=<br />
<br />
'''Q''': Should I mount [http://www.flickr.com/photos/32615155@N00/2785541252/in/pool-beagleboard expansion connector] at top or bottom side?<br />
<br />
'''A''': Do as you like and as it fits your application. This is the reason why it isn't soldered by default<br />
<br />
=Expansion connector #4=<br />
<br />
'''Q''': How much current can the Beagle supply to peripherals?<br />
<br />
'''A''': You are limited to 100mA @ 1.8V. This is referenced in the [[BeagleBoard#Manual|BeagleBoard HW Reference Manual]] in section 5.19. The 1.8V is intended to only drive level shifters connected to the expansion connector. In the event that you are powering from a DC supply, more current can be provided on the 5V rail depending on the amount of current that can be supplied by the DC supply.<br />
<br />
=Sound at git kernel=<br />
<br />
'''Q''': I use OMAP git kernel, e.g. by [[BeagleBoard#Tested_boot|Koen's demo images]] or I compiled it my own. Using audio or mplayer with audio output kernel crashes with something like<br />
<br />
Unable to handle kernel NULL pointer dereference at virtual address 00000000<br />
<br />
'''A''': Unfortunately, ALSA sound output with current [http://marc.info/?t=121932001700003&r=1&w=2 OMAP git kernel is broken]. It is supposed that Beagle ASoC driver is fine, but something in ALSA together with the driver results in above error. So you can't use audio with recent git kernel, used within Koen's demo images, too. Use mplayer with <br />
''-nosound'' option, switch to OSS<br />
<br />
mplayer -ao oss<br />
<br />
or use omapfbplay.<br />
<br />
Update 25th September 2008: Since today, a workaround for this [http://marc.info/?l=linux-omap&m=122234077005077&w=2 is found]. If you compile kernel yourself, make sure you enable [http://en.wikipedia.org/wiki/Slab_allocation SLAB] instead of SLUB:<br />
<br />
CONFIG_SLAB=y<br />
CONFIG_SLABINFO=y<br />
<br />
Koen provides reconfigured [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage].<br />
<br />
=NEON performance=<br />
<br />
'''Q''': There is some [http://www.gp32x.com/board/index.php?showtopic=43698&st=54# rumor] abot NEON bugs/performance issues in OMAP3?<br />
<br />
'''A''': Some occasional crashes were observed with Beagleboard running intensive NEON or floating-point code. This is now fully understood (ARM Erratum #621766) and there is a simple software workaround that completely fixes the problem (enable L1NEON in Cortex-A8 aux ctrl register). This requires a new u-boot on RevB boards - see [http://git.mansr.com/?p=u-boot;a=commit;h=6a8e342446c70186f808a835ecf5686d4a018fda Mans' U-boot git] or download the u-boot.bin from the Angstrom Distribution page (use the USER switch to boot from SDcard). L1NEON enabled is required for Cortex-A8 r1pX (Beagle rev B & Rev C), but it is only the RevB u-boot that sets it incorrectly . The L1NEON setting allows the CPU to allocate NEON data into L1 D-cache on a cache miss. It can affect performance either way, depending on the amount of data being processed.<br />
<br />
Note: Beagle RevB ships with a u-boot that disables L1NEON. This means NEON data is allocated into L2 only, and for some tight NEON kernels using a small amount of data (where L1 is of most benefit) this can give significantly reduced performance as well as being susceptible to the #621766 erratum.<br />
<br />
There is another extremely rare NEON issue (ARM erratum #451034) that can cause deadlock; this issue is fixed in hardware in Cortex-A8 r1p3 (Beagle Rev C). This issue is so rare that we do not believe it has ever been seen in any real code.<br />
<br />
With L1NEON enabled, all Beagle revisions are now 100% reliable for NEON development<br />
<br />
=Demo videos=<br />
<br />
'''Q''': I'm using [[BeagleBoard#Tested_boot|Koen's demo image]]. Which (demo) videos can I use to test (720p) video playback with mplayer or omapfbplay?<br />
<br />
'''Q''': Try 720p .avi versions of<br />
<br />
* [http://www.bigbuckbunny.org/index.php/download/ Big Buck Bunny]<br />
* [http://orange.blender.org/download Elephants Dream]<br />
<br />
Don't forget to [[BeagleBoardFAQ#Sound_at_git_kernel|disable sound]], though.<br />
<br />
Note: Don't forget to extend your [http://www.angstrom-distribution.org/demo/beagleboard/README.txt kernel's bootargs in U-Boot] by<br />
<br />
video=omapfb:vram:2M,vram:4M<br />
<br />
=Windows/Cygwin #1=<br />
<br />
'''Q''': I'd like to do some Linux development for BeagleBoard. But because of ... I can't use Linux as OS on my development PC. I only have a Windows PC.<br />
<br />
'''A''': Really consider switching to Linux at your development PC for doing BeagleBoard Linux development. Yes, you can use [http://www.cygwin.com/ Cygwin] (see below), but most probably this will result in some issues here and there you won't have if you develop under Linux, too. If you can't switch to Linux PC, consider running Linux in a virtual machine under Windows (VMWare etc.).<br />
<br />
=Windows/Cygwin #2=<br />
<br />
'''Q''': Can I used Windows/Cygwin as a development platform?<br />
<br />
'''A''': While most Beaglers use a Linux development platform, it is possible to use Windows. [http://www.cygwin.com/ Cygwin] is a nice environment, since it gives you Linux commands but runs as a Windows application.<br />
<br />
[http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 CodeSourcery] has a G++ Lite toolchain that runs under Windows. For most Beagle applications the best version is ARM GNU/Linux 2007g3-51. When working with Cygwin, you need to set CYGPATH to the Cygwin "cygpath" program which converts Unix path names to Windows path names. Here is a typical CYGPATH assignment you might put in .bash_profile:<br />
<br />
export CYGPATH=c:\\cygwin\\bin\\cygpath<br />
<br />
Note: The Sourcery document says<br />
<br />
export CYGPATH=c:/cygwin/bin/cygpath<br />
<br />
but it seems necessary to change '/' to '\', with '\\' needed to escape the '\' character.<br />
<br />
One thing that is more or less impossible to do under Windows is to copy (or better yet, untar) a root file system to an ext2 or ext3 partition of an MMC/SD card. One way to do this is to boot a version of Linux from CD ROM without installing it on the Windows machine. It's slow, but it's a safe way to run Linux. Kubuntu 8.04 has been used successfully to untar a Linux file system to an MMC/SD card with two partitions. Ubuntu 8.04.1 LTS Desktop Edition was not successful because the user could not find a way to access the second MMC/SD partition. Linux CD-ROMs are generally cheap or free.<br />
<br />
Once you have successfully built a Linux system that runs on BeagleBoard, you can transfer future files using a FAT32 USB Flash drive or Ethernet.<br />
<br />
=Windows/Cygwin #3=<br />
<br />
'''Q''': How can I build [[BeagleBoard#OpenEmbedded|Angstrom X Windows applications]] using Windows 2000 and Cygwin?<br />
<br />
'''A''': It requires [http://groups.google.com/group/beagleboard/browse_thread/thread/ab329c2655aade7 fooling CodeSourcery] in various interesting ways.<br />
<br />
First, to compile X Windows applications you needed to make the X11R6 include files available to CodeSourcery. It turned out the easiest way to do that was simply to copy Cygwin's /usr/X11R6/include/X11 directory to CodeSourcery's .../arm-none-linux-gnueabi/include directory. X11R6 is extremely stable (the politically-correct<br />
euphemism for "obsolete") so I don't need to worry about my include files becoming inconsistent. The compile command I use right now in gnu make is:<br />
<br />
cc = arm-none-linux-gnueabi-gcc -O -Wunused -march=armv7-a<br />
%.o: %.c<br />
$(cc) -o $@ -c $<<br />
<br />
(This doesn't use floating point at this time so options for this are not added)<br />
<br />
Linking is much more interesting. It's important to link to the correct libraries. So untar the Angstrom demo root file system at your PC, and then tell CodeSourcery to link to the Angstrom demo's libraries. All or most of these are dynamic shared libraries (.so). Here are gnu make commands:<br />
<br />
# Beagle run-time directory containing libX11.so, etc.<br />
RTdir = /cygdrive/c/John/Beagle/AngstromDemo/usr/lib<br />
<br />
GXC_OBJS = <list of object code files .o generated by $(cc)><br />
<br />
# Beagle: need to specify RTdir both for -L and -rpath options.<br />
gboot: $(GXC_OBJS)<br />
$(cc) -o $@ $(GXC_OBJS) -L$(RTdir) \<br />
-Xlinker -rpath -Xlinker $(RTdir) -lX11 -lm<br />
<br />
The "-rpath" linker option tells the linker to look in $(RTdir) for .so files. The "-Xlinker" option tells gcc to pass the next string to the linker: "-Xlinker -rpath -Xlinker $(RTdir)" passes "-rpath $(RTdir)".<br />
<br />
After linking you should end up with a reasonably small executable that contains references to dynamic shared object libraries. When you copy the executable and run under Angstrom, Angstrom very nicely finds the same .so files you used to link the programs, loads the library modules, and cheerfully runs the program.<br />
<br />
This was tested with CodeSourcery GNU/Linux for Windows [[BeagleBoard#Cortex_A8_ARM|2007q3-51]].<br />
<br />
= MacOS X / x86 =<br />
<br />
'''Q''': Can I use MacOS X as a development platform?<br />
<br />
'''A''': Yes. Here is a link to the codesourcery toolchain compiled for MacOS X (x86):<br />
<br />
http://www.beagleboard.org/uploads/arm-2007q3-macosx-20080828.tar.bz2<br />
<br />
This includes gcc, glibc, and gdbserver/gdb for debugging.<br />
<br />
To install, untar to somewhere like /usr/local/arm.<br />
<br />
Note: so far I've been unable to download/flash x-loader and u-boot, but I suspect that is issues with my USB->UART converter. Hopefully this gets easier when flashing over USB is working.<br />
<br />
'''Q''': Can I cross-compile the linux kernel on MacOS X?<br />
<br />
'''A''': Yes. After installing the toolchain (see above), there are a few additional steps to be taken, since the linux kernel build files tend to assume the host platform is linux:<br />
<br />
# Install libelf; I installed this via macports, and then:<br />
## <tt>sudo port install libelf</tt><br />
## <tt>sudo ln -s /opt/local/include/libelf /usr/include/libelf</tt><br />
## copy this [http://beagle.s3.amazonaws.com/mac/elf.h elf.h] (which adds a few missing #defines) to /usr/include<br />
# Install GNU sed:<br />
## <tt>sudo port install gsed</tt><br />
# Create missing /usr/include/malloc.h<br />
## should simply contain <tt>#include <sys/malloc.h></tt><br />
# Install mkimage.. I've managed to get u-boot v1.1.4 building with this [http://beagle.s3.amazonaws.com/mac/u-boot-macosx.patch patch]. (This is actually the version used on LDP/SDP, not beagle.. but to just get mkimage, it seems to be fine.) Or you can download the mkimage binary from [http://beagle.s3.amazonaws.com/mac/mkimage.tar.gz here]. I hope to have updates for the "beagle" version of u-boot in the near future. (Once you build u-boot, mkimage will be in the tools directory.)<br />
<br />
I then setup a "special" bin directory containing mkimage, and a a symlink sed -> /opt/local/bin/gsed. I put this directory, plus the directory of the cross-compilers at the front of my $PATH so the kernel makefiles and scripts find the GNU version of sed.<br />
<br />
=TWL4030 data sheet=<br />
<br />
'''Q''': Where do I get data sheet for TWL4030 used at BeagleBoard?<br />
<br />
'''A''': You will probably want to look at the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] manual instead, which is functionally equivalent to the TWL4030. The TPS65950 TRM is finally public.<br />
<br />
=Pico Video Projector Kit (PVPK)=<br />
<br />
'''Q''': What is this Pico Video Projector Kit (PVPK)?<br />
<br />
'''A''': See [[BeagleBoard#DLP_Pico_projector|DLP Pico projector]] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector].<br />
<br />
=Display timings=<br />
<br />
'''Q''': I like to configure some display timings not yet supported in patches from [http://repo.or.cz/w/linux-2.6/linux-omap-2.6/linux-omap.mru.git?a=blobdiff;f=drivers/video/omap/omapfb_main.c;fp=drivers/video/omap/omapfb_main.c;h=8a3617e2c8721a150da4fa3f4793440d452e72e2;hp=24242b9a5acecb8a78faac0bf1d144800852a4fe;hb=892648ebaf6fdcdd572238194600f6060d987d06;hpb=084407ec8743906594e3200c4d8c44a8ee9d4b66 Mans] or [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blobdiff;f=drivers/video/omap/lcd_omap3beagle.c;h=5e098c2c8e7e6fd21cb9d81f16f224d13183da44;hp=69d4e06a9431e358cce2eee0fa625555e04f5d49;hb=2498f7c4179b37d971e283a707211b9874fcce55;hpb=f24172a75928c3519410aac39789b0ed085aa964 Steve]. How do I calculate the settings needed for BeagleBoard?<br />
<br />
'''A''': You can use a tool like [http://www.uruk.org/~erich/projects/cvt/ CVT Timings Program].<br />
<br />
=Display resolutions #1=<br />
<br />
'''Q''': Which display resolutions are supported?<br />
<br />
'''A''': There are currently 2 answers to this question, depending on which display subsystem driver you are using.<br />
<br />
==linux-omap display driver==<br />
By recent [[BeagleBoard#Linux_kernel|OMAP git kernel]] and [http://git.mansr.com/?p=linux-omap;a=commitdiff;h=80fe5350fcb8feeae2db01b0173c39077b656ecf additional patch], the resolutions in this patch are supported. <br />
<br />
You must set the boot arguments for your kernel to use these resolution settings. The argument would be in the format "video=omapfb:mode:<name>", such as:<br />
<br />
* video=omapfb:mode:1920x1080@24<br />
* video=omapfb:mode:1920x1080@25<br />
* video=omapfb:mode:640x480@60<br />
* video=omapfb:mode:800x600@60<br />
* video=omapfb:mode:1024x768@60<br />
* video=omapfb:mode:1280x720@50<br />
* video=omapfb:mode:1280x720@60<br />
* video=omapfb:mode:480p60<br />
* video=omapfb:mode:576p50<br />
* video=omapfb:mode:720p50<br />
* video=omapfb:mode:720p60 (this one is probably the best choice for a HDMI TV)<br />
* video=omapfb:mode:1080p24<br />
* video=omapfb:mode:1080p25<br />
* video=omapfb:mode:1080p30<br />
<br />
<br />
Note: Not all of those resolutions actually work as advertised, since the pixel clock is currently limited to 72MHz. It depends on the monitor whether it the slightly lower sync rates this results in will work.<br />
<br />
=="DSS2" display driver prior to 2.6.29==<br />
For the latest [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Distribution BeagleBoard demo] or other kernel that uses the [http://marc.info/?l=linux-fbdev-devel&m=123176420600337&w=2 DSS2 patches] utilized in the latest Angstrom kernels, there are different video mode settings. Please see [http://groups.google.com/group/beagleboard/msg/ae7df0084a280f83 Tomi's post to the BeagleBoard mailing list] and the [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=Documentation/fb/modedb.txt;h=ec4dee75a35450376ad13442ea926eaf76de76aa;hb=HEAD modedb.txt description of mode strings]. Koen also posted the [http://groups.google.com/group/beagleboard/browse_thread/thread/115867f718b52e4b/4c64b2c614622053?lnk=gst&q=documentation+omap+dss#4c64b2c614622053 DSS2 documentation to the mailing list].<br />
<br />
Example: <br />
<br />
* omapfb.video_mode=1280x720MR-24@60<br />
<br />
=="DSS2" display driver for >= 2.6.29==<br />
Tomi has updated the display driver and has a clone of his tree on Gitorious. The kernel sources contain the [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS DSS2 documentation]. The syntax has been updated a bit, so it is worth re-examining. This updated driver seems to being used in Angstrom builds of the BeagleBoard kernel starting with 2.6.29.<br />
<br />
Example:<br />
<br />
* omapfb.mode=dvi:1024x768MR-16@60<br />
* omapfb.mode=dvi:1280x720MR-16@60 (for 720p HDTV with 1:1 pixel mapping)<br />
* omapfb.mode=dvi:1360x768MR-16@60 (works nice on 720p HDMI TV which crops edges due to overscan)<br />
<br />
Note: the M indicates the kernel will calculate a VESA mode on-the-fly instead of using modedb lookup. The R indicates reduced blanking which is for LCD monitors. Most HDTV will probably only operate with a VESA mode.<br />
<br />
=Display resolutions #2=<br />
<br />
'''Q''': I checked the resolutions in patch mentioned above and can't find 1280 x 1024. Why?<br />
<br />
'''A''': Pixel clock is currently limited to 72MHz. With this, it isn't possible to configure 1280 x 1024 with at least 50Hz refresh (most monitors need at least 50Hz). This is a software configuration issue, somebody has to optimize kernel display driver.<br />
<br />
=Root password Angstrom image=<br />
<br />
'''Q''': I use [[BeagleBoard#Binaries|Angstrom demo image]]. Help, what is the root password?<br />
<br />
'''A''': Try no password at all, i.e., just press return. The default root password is empty in Angstrom.<br />
<br />
=NFS=<br />
<br />
'''Q''': Anyone has luck to mount [http://en.wikipedia.org/wiki/Network_File_System NFS] from BeagleBoard?<br />
<br />
'''A''': There are a couple of known ways to mount the BeagleBoard root filesystem over NFS. There is an article on this wiki describing how to [[Mount BeagleBoard Root Filesystem over NFS via USB|bridge usb0 to eth0 on your Linux Host]] as well as the following instructions taken from [http://groups.google.com/group/beagleboard/browse_thread/thread/4d4df25424a42f34 Google Groups on mounting the root file system with Fedora]:<br />
<br />
1) Add file ifcfg-usb0 into /etc/sysconfig/network-scripts/<br />
<br />
DEVICE=usb0<br />
<br />
IPADDR=192.168.1.5<br />
NETMASK=255.255.255.0<br />
ONBOOT=yes<br />
TYPE=USB<br />
BOOTPROTO=none<br />
USERCTL=no<br />
IPV6INIT=no<br />
PEERDNS=yes<br />
<br />
2) Add following line to /etc/exports<br />
<br />
/data/target 192.168.1.1(rw,no_root_squash,no_all_squash,async)<br />
<br />
3) Create directory /data/target and copy your root file system to /data/target<br />
<br />
4) Type following commands:<br />
<br />
# service rpcbind restart<br />
# service nfs restart<br />
<br />
5) On BeagleBoard console type following commands:<br />
<br />
OMAP3 beagleboard.org # setenv bootargs console=ttyS2,115200n8 root=/dev/nfs rw nfsroot=192.168.1.5:/data/target ip=192.168.1.1::255.255.255.0 nolock,rsize=1024,wsize=1024 rootdelay=2<br />
OMAP3 beagleboard.org # saveenv<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0 0x80300000 uImage<br />
OMAP3 beagleboard.org # bootm 0x80300000<br />
<br />
=LEDs=<br />
<br />
'''Q''': How can I control (switch on/off) USR0 and USR1 LEDs at BeagleBoard from user space?<br />
<br />
'''A''': You can do this using [http://www.mjmwired.net/kernel/Documentation/leds-class.txt kernel's LED] sys-fs interface. E.g<br />
<br />
echo 1 > /sys/class/leds/beagleboard\:\:usr0/brightness<br />
<br />
at command line enables USR0 LED and<br />
<br />
echo 0 > /sys/class/leds/beagleboard\:\:usr0/brightness<br />
<br />
disables it again. Same works with USR1 LED.<br />
<br />
=Programming GPIO pins=<br />
<br />
'''Q''': How can I change the GPIO pins from user space?<br />
<br />
'''A''': See the discussion in this thread: [http://groups.google.com/group/beagleboard/browse_thread/thread/ff6f6aa843afd950 GPIO - how to?]<br />
<br />
=ES2.1 vs. ES3.0=<br />
<br />
'''Q''': Upcoming ES3.0 (engineering sample) has some minor improvements (e.g. fixes extremely rare [[BeagleBoardFAQ#NEON_performance|NEON errata #451034]] that has not been seen outside the test lab). How can I check if I have ES2.1 or ES3.0?<br />
<br />
'''A''': ES3.0 is supposed to be used at BeagleBoard revision C. As long as you have an older board (e.g. rev. Bx) most probably you have ES2.1. ES2.1 uses ARM Cortex A8 version r1p1, while ES3.0 uses updated ARM Cortex A8 version r1p3. You can check this by kernel's boot messages:<br />
<br />
CPU: ARMv7 Processor [411fc08'''2'''] revision 2 (ARMv7), cr=00c5387f <br />
<br />
is ES2.1 with ARM Cortex A8 r1p1, while<br />
<br />
CPU: ARMv7 Processor [411fc08'''3'''] revision 3 (ARMv7), cr=00c5387f<br />
<br />
is ES3.0 with ARM Cortex A8 r1p3.<br />
<br />
=128MB vs. 256MB SDRAM=<br />
<br />
'''Q''': How can I detect if my BeagleBoard has 128MB or 256MB SDRAM?<br />
<br />
'''A''': '''All''' BeagleBoards revision Ax and Bx have 128MB SDRAM. Rev Cx boards [est. shipping Mar-09] will be OMAP3 ES3.0 with 256MB PoP memory. Mans has some [http://git.mansr.com/?p=u-boot;a=commit;h=ef6ee5af8d584bddadb2d45ad4320cef96b8a934 U-Boot v1 patches] to check for second memory bank. There are two GPIO pins that can be used to first detect that the board is a Rev C and whether or not it has 256MB onboard. This will be published in the SRM for the Rev C board.<br />
<br />
=IRQ -33=<br />
<br />
'''Q''': Using recent Linux kernel, I do ''foo'' and system often stops with<br />
<br />
irq -33, desc: c0335cf8, depth: 0, count: 0, unhandled: 0<br />
->handle_irq(): c00744e0, handle_bad_irq+0x0/0x22c<br />
->chip(): 00000000, 0x0<br />
->action(): 00000000<br />
<br />
I have to reboot then.<br />
<br />
'''A''': There is a [http://article.gmane.org/gmane.linux.ports.arm.omap/12657 workaround/fix] making certain I/O regions Strongly Ordered instead of default MT_DEVICE. There is some [http://article.gmane.org/gmane.linux.ports.arm.omap/12667 discussion] if this makes the system slower and if this is a workaround or real fix.<br />
<br />
=U-Boot v1 #1=<br />
<br />
'''Q''': I use U-Boot v1 and have xxx problems. Any ideas?<br />
<br />
'''A''': Does your U-Boot output sound while starting? If yes, you use original (old) TI U-Boot which is known to have issues. Use [[BeagleBoard#U-Boot|latest U-Boot]] instead ([http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin binary]).<br />
<br />
=U-Boot v1 #2=<br />
<br />
'''Q''': I use latest U-Boot v1, but "nand ecc hw/sw" command doesn't work any more as described in various manuals?<br />
<br />
'''A''': Try<br />
<br />
'''nandecc hw/sw'''<br />
<br />
(i.e. without space between nand and ecc). For latest U-Boot we had to change the command format for upstream acceptance.<br />
<br />
=U-Boot v1 unable to use mmc error=<br />
<br />
'''Q''': I use latest U-Boot v1, but can't read uImage from MMC/SD card. Error message I get looks like:<br />
<br />
** Unable to use mmc 0:1 for fatload<br />
**<br />
Wrong Image Format for bootm<br />
command<br />
ERROR: can't get kernel image!<br />
<br />
'''A''': In recent U-Boot mmcinit command changed. It switched from ''mmcinit'' to ''mmc init'' (additional blank). Try to use<br />
<br />
'''mmc init'''<br />
<br />
instead of ''mmcinit'' (e.g. in your environment: ''printenv'').<br />
<br />
=U-Boot v1 not saving environment variables=<br />
<br />
'''Q''': Why does 'saveenv' not preserve my u-boot environment variables?<br />
<br />
'''A''': You might be using the wrong build of u-boot. See the [http://groups.google.com/group/beagleboard/browse_thread/thread/baa2368a5e3e77fd/90c5f30ea1379bb8?lnk=gst&q=u-boot#90c5f30ea1379bb8 group discussion on the u-boot that ignores the flash environment].<br />
<br />
=U-Boot v1 linking errors=<br />
<br />
'''Q''': I use recent U-Boot (> 2009.06) and get a lot of errors while linking. E.g.<br />
<br />
...<br />
arm-linux-ld: ERROR: <path_to>/libgcc.a(_xyz.o) foo bla<br />
arm-linux-ld: failed to merge target specific data of file <path_to>/libgcc.a(_xyz.o)<br />
...<br />
<br />
'''A''': Instead of just calling ''make'', try to additionally set USE_PRIVATE_LIBGCC environment variable to "yes":<br />
<br />
USE_PRIVATE_LIBGCC=yes make<br />
<br />
=Performance=<br />
<br />
'''Q''': Where can I get some performance numbers of BeagleBoard? How does BeagleBoard performance compare to other ARM (PC) systems?<br />
<br />
'''A''': Have a look to [http://www.rasterman.com/ performance testing of several embedded systems]. For discussion about this numbers and possible improvements for Beagle, see [http://www.beagleboard.org/irclogs/index.php?date=2009-01-02#T01:46:24 IRC discussion], too.<br />
<br />
= Accessing the BeagleBoard using VNC =<br />
<br />
<br />
'''Q''': Can I access the BeagleBoard using VNC<br />
<br />
'''A''': Yes, of course! Here is how.<br />
<br />
* Install angstrom-x11vnc-xinit on the beagle e.g. using the command "opkg install angstrom-x11vnc-xinit"<br />
* issue the command "killall Xorg" and wait for X to restart<br />
* start your favourite vnc client on your host and connect. If you use vncviewer the command would be something like: vncviewer 192.168.1.100:0 assuming your beagle is at 192.168.1.100 and the display port is 0<br />
* Technically that's it but you might to see e.g. an xterm in your vnc. One way to get that is to install xterm (opkg install xterm). After that you can start an xterm. If you do this over serial the command is "DISPLAY=0:0 xterm &" Of course you can also do that in some initialisation script.<br />
<br />
= Power usage =<br />
<br />
Miriam Corder from TI stated: [[RichardB%27s_notes_from_the_seminar]]<br><br />
* Max power consumption is 360mW<br />
* With dynamic voltage/freq scaling – averaging <100mW <br />
<br />
Koen measured: [http://groups.google.com/group/beagleboard/msg/e1285e536d40e068 Some powerconsumptions tests]<br><br><br />
uboot 2008.1orc2:<br><br />
~290mA at uboot prompt<br />
<br />
2.6.27-omap1:<br><br />
~350mA at X desktop<br><br />
~400mA using 100% cpu at 600MHz<br />
<br />
2.6.27 omap-pm-next:<br><br />
~275mA at X desktop<br />
<br />
Powertop reports with with 2.6.27 omap-pm-next:<br><br />
C0 4.1ms ( 4.4%)<br><br />
C1 0.9ms ( 0.8%)<br><br />
C2 7.7ms ( 3.7%)<br><br />
C3 13.1ms ( 0.9%)<br><br />
C4 37.8ms (88.7%)<br />
<br />
=Linux Distributions=<br />
<br />
'''Q''': What Linux distributions exist for the BeagleBoard and where do I get help for them?<br />
<br />
'''A''': If you have BeagleBoard-specific questions, then by all means ask them on the BeagleBoard mailing list. Be polite and understand that your distribution is not the only one people use on the BeagleBoard, so be sure to let people know where you got the code you are using for your query. Information on the various distributions and build systems is at [[BeagleBoard#Development_environments]]. Below is a table that alphabetically associates some of those development environments and distributions to their project page where you can find information regarding their getting started information, collaboration portal, and/or mailing list. Please add to here and [[BeagleBoard]] as necessary.<br />
<br />
{| border="1"<br />
!Distribution<br />
!Project page<br />
!Mailing list<br />
!IRC channel<br />
|-<br />
|ALIP<br />
|http://beagleboard.org/project/ALIP/<br />
|<br />
|<br />
|-<br />
|Android (Embinux)<br />
|http://beagleboard.org/project/android<br />
|<br />
|#beagle<br />
|-<br />
|Android (NthCode)<br />
|http://beagleboard.org/project/beagledroid<br />
|<br />
|<br />
|-<br />
|Android (OMAPZoom)<br />
|http://beagleboard.org/project/omapandroid<br />
|<br />
|<br />
|-<br />
|Angstrom<br />
|http://beagleboard.org/project/angstrom<br />
|<br />
|#oe<br />
|-<br />
|Debian<br />
|http://beagleboard.org/project/debian<br />
|<br />
|<br />
|-<br />
|Maemo<br />
|http://beagleboard.org/project/maemo<br />
|<br />
|#maemo<br />
|-<br />
|Mamona<br />
|http://beagleboard.org/project/Mamona+On+Beagle/<br />
|<br />
|<br />
|-<br />
|Mer<br />
|http://wiki.maemo.org/Mer<br />
|<br />
|<br />
|-<br />
|Mojo (Handhelds.org)<br />
|http://beagleboard.org/project/Handhelds+Mojo/<br />
|<br />
|<br />
|-<br />
|QNX (non-Linux)<br />
|http://beagleboard.org/project/QNX+Neutrino+on+OMAP/<br />
|<br />
|<br />
|-<br />
|Ubuntu<br />
|http://beagleboard.org/project/ubuntu<br />
|<br />
|#ubuntu-arm<br />
|-<br />
|WinCE (non-Linux)<br />
|http://beagleboard.org/project/WEBB<br />
|<br />
|<br />
|}<br />
<br />
=omapfbplay mmap fails=<br />
<br />
'''Q''': I'm using recent OE/Angstroem image, starting omapfbplay fails with mmap error:<br />
<br />
root@beagleboard:/# omapfbplay sample.mpg<br />
Input #0, mpeg, from 'sample.mpg':<br />
Duration: 00:00:30.03, start: 0.223333, bitrate: 1904 kb/s<br />
Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 104857 kb/s, 30 tbr, 90k tbn, 30 tbc<br />
Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16, 192 kb/s<br />
Using 130 frame buffers, frame_size=516096<br />
'''mmap: Invalid argument'''<br />
<br />
'''A''': Try<br />
<br />
echo 4000000 > /sys/class/graphics/fb1/size<br />
<br />
=Kernel ARM cross compiling=<br />
<br />
'''Q''': I want to compile Linux kernel for ARM with tool chain xyz. Normally I edit kernel's top level Makefile or set some environment variables to accomplish this (variables ''ARCH'' and ''CROSS_COMPILE''). Isn't there any easier way?<br />
<br />
'''A''': Yes. Create a file ''GNUmakefile'' in kernel's top level directory (besides exisiting Makefile) and add (for tool chain prefix arm-linux- , adapt this to fit your tool chain):<br />
<br />
ARCH=arm<br />
CROSS_COMPILE=arm-linux-<br />
include Makefile<br />
<br />
=Kernel verbose user space errors=<br />
<br />
'''Q''': While running user space program xyz I get a segmentation fault, but no more info. How can I get more information from kernel what happend (besides e.g. using gdb)?<br />
<br />
'''A''': Two steps necessary for this:<br />
<br />
* In kernel config enable<br />
<br />
Kernel hacking ---> Verbose user fault messages<br />
<br />
* In kernel command line (e.g. U-Boot) add<br />
<br />
... user_debug=31<br />
<br />
=Boris=<br />
<br />
'''Q''': Who is Boris?<br />
<br />
'''A''': You don't know [http://www.flickr.com/photos/jadon/tags/boris/ Boris]?<br />
<br />
=BeagleGame=<br />
<br />
'''Q''': What is BeagleGame?<br />
<br />
'''A''': Enjoy [http://www.beaglegame.com/ BeagleGame].</div>Goldie.linhttps://elinux.org/index.php?title=BeagleBoardUbuntu&diff=27169BeagleBoardUbuntu2010-11-12T12:21:12Z<p>Goldie.lin: /* Lightweight window managers */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
This page is about running a (ARM EABI) [http://www.ubuntu.com/ Ubuntu] distribution at [[BeagleBoard]]. BeagleBoard will boot the (ARM EABI) Ubuntu distribution from [[BeagleBoard#MMC.2FSD_boot|SD card]].<br />
<br />
Note: for the best experience, make sure you have an LCD attached to the HDMI port, 2GB/4GB/8GB SD card, and a known good usb2.0 hub with mouse and keyboard.<br />
<br />
= Help =<br />
<br />
If you need any help:<br />
<br />
*Kernel related help:<br />
** [http://groups.google.com/group/beagleboard Email Beagleboard user group] *Recommended method<br />
** ''#beagle'': Beagle irc on freenode, accessible also by [http://beagleboard.org/discuss web interface] ([http://www.beagleboard.org/irclogs/index.php logs])<br />
** [https://launchpad.net/~beagleboard-kernel Launchpad Project "Beagleboard Kernel"]<br />
*** [https://code.launchpad.net/~beagleboard-kernel/+junk/2.6-stable Stable Kernel 2.6.35 src]<br />
*** [https://code.launchpad.net/~beagleboard-kernel/+junk/2.6.36-devel Development Kernel src]<br />
** [http://elinux.org/BeagleBoardUbuntuKernel Kernel Testing Results]<br />
<br />
*Ubuntu related help:<br />
** ''#ubuntu-arm'': Ubuntu's arm irc on freenode ([http://irclogs.ubuntu.com/ logs] -> year -> month -> day -> #ubuntu-arm.html)<br />
<br />
*When asking for help, please provide some debugging information:<br />
** U-Boot Version installed on board<br />
** Kernel Version: uname -a<br />
** pastebin dmesg<br />
*** Copy from serial port or use "dmesg | pastebinit" (sudo apt-get install pastebinit)<br />
<br />
= Required Beagle Software = <br />
<br />
X-loader/MLO (1.4.4ss) & U-Boot (2010.03) (Zippy1 & Zippy2 Support)<br />
* All Bx, C2/3/4 Boards are required to upgrade to atleast these MLO and U-Boot versions.<br />
* XM Boards have no NAND, so u-boot.bin is always required on the first partition<br />
* Directions: [http://elinux.org/BeagleBoardUbuntu#Upgrade_X-loader_and_U-boot Upgrade X-loader and U-Boot]<br />
<br />
= Canonical Pre-Installed Images =<br />
<br />
Support:<br />
* ''#ubuntu-arm'': Ubuntu's arm irc on freenode ([http://irclogs.ubuntu.com/ logs] -> year -> month -> day -> #ubuntu-arm.html)<br />
<br />
== Maverick 10.10 ==<br />
<br />
Just follow https://wiki.ubuntu.com/ARM/OMAPMaverickInstall and make sure you're using a SD card >= 4GB.<br />
<br />
=Demo Image=<br />
<br />
Note, these Demo Images contain a kernel with experimental options for the omap family... If you'd like to use ubuntu's supported <br />
kernel, just read "/etc/flash-kernel.conf" and disable the rcn-ee variable. Then install the ubuntu kernel and flash-kernel packages to overwrite.<br />
<br />
== Maverick 10.10 ==<br />
<br />
Image updated Nov 10, better xM B support<br />
<br />
Default user: ubuntu pass: temppwd<br />
<br />
Get prebuilt image:<br />
<br />
wget http://rcn-ee.net/deb/rootfs/maverick/ubuntu-10.10-r2-minimal-armel.tar.7z<br />
mirrors (will take some time to update):<br />
wget http://ynezz.ibawizard.net/beagleboard/maverick/ubuntu-10.10-r2-minimal-armel.tar.7z<br />
wget http://vivaphp.net/beagle/maverick/ubuntu-10.10-r2-minimal-armel.tar.7z<br />
<br />
Verify Image with: <br />
md5sum ubuntu-10.10-r2-minimal-armel.tar.7z<br />
6987c076236257227d71b8807cb67829 ubuntu-10.10-r2-minimal-armel.tar.7z<br />
<br />
Unpack Image:<br />
*7za from: sudo apt-get install p7zip-full<br />
<br />
7za x ubuntu-10.10-r2-minimal-armel.tar.7z<br />
tar xf ubuntu-10.10-r2-minimal-armel.tar<br />
cd ubuntu-10.10-r2-minimal-armel<br />
<br />
Install Image:<br />
<br />
Quick Install script for Beagle Bx, Cx, xM Ax, xM B<br />
./setup_sdcard.sh --mmc /dev/sdX --uboot beagle<br />
<br />
*Additional Options<br />
** --rootfs <ext4 default><br />
** --swap_file <swap file size in MB's><br />
** --addon <pico><br />
<br />
You should now be able to unmount the SD card from you PC, insert into your BeagleBoard, reboot and have Ubuntu Maverick loaded.<br />
<br />
Problems?<br />
What you should see on first boot: http://pastebin.com/h2MFRj89<br />
<br />
For a full gui install run this on your beagle (make sure network is setup):<br />
setup network: "sudo ifconfig -a" and "sudo dhclient usb1 or eth0"<br />
sudo aptitude install xfce4 gdm xubuntu-gdm-theme xubuntu-artwork xserver-xorg-video-omap3<br />
<br />
Advanced: Build Image:<br />
<br />
fixup.sh: http://rcn-ee.homeip.net:81/dl/updates/omap-image-builder/tools/fixup.sh<br />
<br />
Built with rootstock trunk (ARM native mode, run directly on beagleboard):<br />
sudo ./rootstock --fqdn omap --imagesize 2G --dist maverick --serial ttyS2 \<br />
--login ubuntu --password temppwd \<br />
--seed aptitude,btrfs-tools,i2c-tools,nano,pastebinit,uboot-envtools,uboot-mkimage,usbutils,wget,wireless-tools,wpasupplicant \<br />
--script fixup.sh --components "main universe multiverse" \<br />
--kernel-image http://rcn-ee.net/deb/maverick/v2.6.35.8-l7/linux-image-2.6.35.8-l7_1.0maverick_armel.deb<br />
<br />
== Lucid 10.04.1 ==<br />
<br />
Image Updated Nov 10, for xM B's..<br />
<br />
Default user: ubuntu pass: temppwd<br />
<br />
Get prebuilt image:<br />
<br />
wget http://rcn-ee.net/deb/rootfs/lucid/ubuntu-10.04.1-r3-minimal-armel.tar.7z<br />
mirrors (updating):<br />
wget http://ynezz.ibawizard.net/beagleboard/lucid/ubuntu-10.04.1-r3-minimal-armel.tar.7z<br />
<br />
Verify Image with: <br />
md5sum ubuntu-10.04.1-r3-minimal-armel.tar.7z<br />
3a8e563953ba8e72304660033bd890f0 ubuntu-10.04.1-r3-minimal-armel.tar.7z<br />
<br />
Unpack Image:<br />
*7za from: sudo apt-get install p7zip-full<br />
<br />
7za x ubuntu-10.04.1-r3-minimal-armel.tar.7z<br />
tar xf ubuntu-10.04.1-r3-minimal-armel.tar<br />
cd ubuntu-10.04.1-r3-minimal-armel<br />
<br />
Install Image:<br />
<br />
Quick Install script for Beagle Bx, C2/C3/C4, xM Ax, xM B<br />
./setup_sdcard.sh --mmc /dev/sdX --uboot beagle --swap_file 50 (YOU need atleast 50Mb for oem-config to NOT Opps)<br />
<br />
For Serial Port Users add: (to use default user/pass ubuntu/temppwd)<br />
--use-default-user<br />
<br />
*Additional Options<br />
** --rootfs <ext4 default><br />
** --swap_file <swap file size in MB's><br />
** --addon <pico><br />
<br />
Problems?:<br />
What you should see on First Boot (oem-config on dvi): http://pastebin.com/5HvWgRDj<br />
<br />
For a full gui install: <br />
sudo aptitude install xfce4 gdm xubuntu-gdm-theme xubuntu-artwork xserver-xorg-video-omap3<br />
<br />
Advanced: Build Image:<br />
<br />
fixup.sh: http://rcn-ee.homeip.net:81/dl/updates/omap-image-builder/tools/fixup.sh<br />
<br />
Built with rootstock trunk (ARM native mode, run directly on beagleboard):<br />
sudo ./rootstock --fqdn omap --imagesize 2G --dist lucid --serial ttyS2 \<br />
--login ubuntu --password temppwd \<br />
--seed aptitude,btrfs-tools,i2c-tools,nano,pastebinit,uboot-envtools,uboot-mkimage,usbutils,wget,wireless-tools,wpasupplicant \<br />
--script fixup.sh --components "main universe multiverse" \<br />
--kernel-image http://rcn-ee.net/deb/lucid/v2.6.35.8-l7/linux-image-2.6.35.8-l7_1.0lucid_armel.deb<br />
<br />
= NetInstall Method =<br />
<br />
NOTE: Lucid's NetInstall will not work with the new XM model..<br />
<br />
The NetInstall Method, allows you to install Ubuntu directly onto your Beagle by pre-populating a boot image that will perform the complete install. <br />
<br />
Note: The boot arg's are stored in boot.scr which will be copied to the first partition.<br />
<br />
Recommended:<br />
* 2GB+ SD card<br />
* USB Ethernet/Wifi<br />
<br />
Discover SD/MMC Partition<br />
sudo fdisk -l<br />
<br />
Download NetInstall Omap script<br />
git clone git://github.com/RobertCNelson/netinstall-omap.git<br />
cd netinstall-omap<br />
./mk_mmc.sh --mmc /dev/sdX --distro lucid --firmware<br />
<br />
*Options:<br />
**--distro : lucid<br />
**--firmware : install firmware for WiFi devices<br />
**--serial-mode : force NetInstall to use Serial Port<br />
<br />
Note: The default boot options work for most people, but if you'd like to tweak boot settings, edit these before running the script. <br />
<br />
NetInstall boot Settings:<br />
gedit ./netinstall-omap/scripts/dvi.cmd<br />
gedit ./netinstall-omap/scripts/serial.cmd<br />
<br />
Normal Boot Settings:<br />
gedit ./netinstall-omap/scripts/dvi-normal-lucid.cmd<br />
gedit ./netinstall-omap/scripts/serial-normal-lucid.cmd<br />
<br />
Place SD card into Beagle and Boot<br />
<br />
Troubshooting: If boot fails..<br />
*Hold the user button down to force booting from MMC<br />
*Upgrade X-loader and U-boot [http://elinux.org/BeagleBoardUbuntu#Upgrade_X-loader_and_U-boot Upgrade X-loader and U-Boot]<br />
*Clear U-boot's Environment Variables in nand: <br />
nand erase 260000 20000<br />
<br />
NetInstall assumptions:<br />
Continue with out Kernel Modules <yes><br />
Partition <Guided - use the largest continuous free space><br />
<br />
= RootStock: Build an Ubuntu root file system =<br />
<br />
== Ubuntu Version's ==<br />
This guide only covers the latest Ubuntu stable (lucid) release and notes for the testing (lucid+1) dists. Notes for older release's can be found here:<br />
<br />
* Karmic, aka Ubuntu 9.10, is the old-stable version (armv6 optimized)<br />
** http://elinux.org/BeagleBoardUbuntuKarmic<br />
* Lucid, aka Ubuntu 10.04 is the stable version (armv7 optimized)<br />
** TODO: http://elinux.org/BeagleBoardUbuntuLucid<br />
* Maverick, aka Ubuntu 10.10 is the development version. Currently listed here as 'testing'. (armv7 optimized)<br />
** TODO: http://elinux.org/BeagleBoardUbuntuMaverick<br />
<br />
== Install RootStock ==<br />
<br />
This is based off Ubuntu's RootStock Project; [https://launchpad.net/project-rootstock RootStock] script.<br />
<br />
Lucid (10.04) (use rootstock trunk)<br />
sudo apt-get install rootstock (to install rootstock's dependices)<br />
bzr branch lp:project-rootstock<br />
cd project-rootstock<br />
<br />
Maverick (10.10 beta)<br />
sudo apt-get install rootstock<br />
<br />
== RootStock ==<br />
<br />
=== RootStock: Useful seed Packages ===<br />
<br />
Useful Packages:<br />
linux-firmware,wireless-tools :wifi adapters..<br />
ntpdate :sync real time clock from network<br />
<br />
GUI's (broken bug: FIXME)<br />
xfce4: xfce4,gdm,xubuntu-gdm-theme,xubuntu-artwork<br />
<br />
=== RootStock: Running ===<br />
<br />
Rootstock Command line:<br />
sudo ./rootstock --fqdn <hostname> --login <rootuser> --password <rootuserpasswd> --imagesize <qemu image size> \<br />
--seed <packages> --dist <jaunty/karmic/lucid> --serial <ttySx> --kernel-image <http><br />
<br />
Basic Lucid (10.04) Beagleboard minimal image:<br />
sudo ./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 2G \<br />
--seed wget,nano,linux-firmware,wireless-tools,usbutils --dist lucid --serial ttyS2 \<br />
--components "main universe multiverse" \<br />
--kernel-image http://rcn-ee.net/deb/lucid/v2.6.33.4-l3/linux-image-2.6.33.4-l3_1.0lucid_armel.deb<br />
<br />
Upon Completion, you should have:<br />
armel-rootfs-<date>.tgz -> Root file System, dump to ext2/3 partition of SD card<br />
vmlinuz-2.6.<version> -> Boot Image, use mkimage to create uImage and dump to the first fat16 partition of SD card<br />
initrd.img-2.6.<version> -> Boot initramfs, use mkimage to create uInitrd and dump to the first fat16 partition of SD card<br />
<br />
== Partition SD Card ==<br />
You will need a 1GB SD card or greater.<br />
Standard Console System : ~286MB<br />
+ Desktop environment (lxde,gdm) : ~479MB<br />
<br />
Starting with an empty SD card and using gparted, create:<br />
50 MiB Primary Partition, fat16/fat32<br />
Rest as ext2/ext3/ext4/btrfs<br />
<br />
Gparted Example: http://nishanthmenon.blogspot.com/2008/08/how-to-boot-beagle.html<br />
<br />
For Reference:<br />
Disk /dev/sdd: 2038 MB, 2038431744 bytes<br />
255 heads, 63 sectors/track, 247 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes<br />
Disk identifier: 0x0008e471<br />
<br />
Device Boot Start End Blocks Id System<br />
/dev/sdd1 1 6 48163+ 6 FAT16<br />
/dev/sdd2 7 247 1935832+ 83 Linux<br />
<br />
== Copy Root File System to SD Card ==<br />
<br />
Mount your SD card's larger root file system partition (assuming /dev/sdX2) and 'untar' the rootfs into it.<br />
<br />
mkdir -p ./tmp<br />
sudo mount /dev/sdX2 ./tmp<br />
sudo tar xfp armel-rootfs-*.tgz -C ./tmp<br />
sudo umount ./tmp<br />
<br />
== Boot Partition ==<br />
<br />
Requirements:<br />
<br />
sudo apt-get install uboot-mkimage<br />
<br />
=== U-Boot uImage ===<br />
<br />
U-Boot needs a compatible kernel image to boot. To do this, we are using mkimage from (uboot-mkimage) to create an image from the vmlinuz kernel file. <br />
<br />
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d ./vmlinuz-* ./uImage<br />
<br />
=== U-Boot uInitrd ===<br />
<br />
This step is Optional, but it helps with the lucid and Lucid++ experience.<br />
<br />
mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d ./initrd.img-* ./uInitrd<br />
<br />
=== U-Boot Boot Scripts ===<br />
The version of U-Boot installed or recommended to install uses boot scripts by default. This allows users to easily switch between multiple SD cards with different OS's with different parameters installed. Ubuntu/Debian requires a slight modification to the bootargs line vs. Angstrom, 'ro' vs 'rw'.<br />
<br />
fixrtc: (only uInitrd) Resets RTC based on last mount<br />
buddy=${buddy}: (both) Kernel Zippy1/2 Support<br />
mpurate=${mpurate}: (recommended core clock)<br />
<br />
create ubuntu.cmd<br />
setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'<br />
setenv bootargs console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait ro vram=12M omapfb.mode=dvi:1280x720MR-16@60 buddy=${buddy} mpurate=${mpurate}<br />
boot<br />
<br />
With optional uInitrd:<br />
create ubuntu.cmd:<br />
setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; fatload mmc 0:1 0x81600000 uInitrd; bootm 0x80300000 0x81600000'<br />
setenv bootargs console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait ro vram=12M omapfb.mode=dvi:1280x720MR-16@60 fixrtc buddy=${buddy} mpurate=${mpurate}<br />
boot<br />
<br />
Use mkimage create to actual *.scr file for U-Boot:<br />
<br />
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu 10.04" -d ./ubuntu.cmd ./ubuntu.scr<br />
<br />
=== Copy to Boot Partition ===<br />
<br />
Mount your SD card fat16/fat32 partition (assuming /dev/sdX1) and copy the uImage, boot.scr, and optional uInitrd to the first partition.<br />
<br />
mkdir -p ./tmp<br />
sudo mount /dev/sdX1 ./tmp<br />
sudo cp ./uImage ./tmp/uImage<br />
sudo cp ./uInitrd ./tmp/uInitrd<br />
<br />
Beagle:<br />
sudo cp ./ubuntu.scr ./tmp/boot.scr<br />
<br />
IGEPv2:<br />
sudo cp ./ubuntu.scr ./tmp/boot.ini<br />
<br />
sudo umount ./tmp<br />
<br />
== Ubuntu Bugs & Tweaks ==<br />
<br />
===Enable Network Access===<br />
<br />
Modify /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet dhcp<br />
<br />
Manual: From the Command line<br />
sudo ifconfig -a<br />
sudo dhclient ethX (or wlanX/etc..)<br />
<br />
Additional Network Setup Information can be found [[BeagleBoardUbuntuNetwork|HERE]]<br />
<br />
= Advanced =<br />
<br />
==Install Latest Kernel Image==<br />
<br />
===Script File===<br />
Note: this subsection is basically obsolete every time it's modified...<br />
<br />
Latest Stable is : https://code.launchpad.net/~beagleboard-kernel/+junk/2.6-stable<br />
<br />
But for example: http://rcn-ee.net/deb/lucid/v2.6.34.1-l2/<br />
<br />
wget http://rcn-ee.net/deb/lucid/v2.6.34.1-l2/install-me.sh<br />
/bin/bash install-me.sh<br />
<br />
Reboot with your new uImage<br />
<br />
== Upgrade X-loader and U-boot ==<br />
<br />
Compatible with Bx,C2/3/4<br />
<br />
Requires MMC card..<br />
<br />
git clone git://github.com/RobertCNelson/flash-omap.git<br />
cd flash-omap<br />
./mk_mmc.sh --mmc /dev/sdX (i.e. use /dev/sdc - the entire device, not a partition)<br />
<br />
1: Place MMC card in Beagle<br />
2: Push/Hold User Button Down<br />
3: Apply Power<br />
4: After U-boot loads, Let Off User Button<br />
5: Wait for Flashing to end<br />
6: Power down, remove/edit boot.scr from MMC card<br />
<br />
Example 4G card:<br />
<br />
sudo fdisk -l<br />
<br />
Disk '''/dev/sde''': 3957 MB, 3957325824 bytes<br />
255 heads, 63 sectors/track, 481 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes<br />
Sector size (logical/physical): 512 bytes / 512 bytes<br />
I/O size (minimum/optimal): 512 bytes / 512 bytes<br />
Disk identifier: 0x00080e99<br />
<br />
Device Boot Start End Blocks Id System<br />
'''/dev/sde'''1 * 1 9 72261 e W95 FAT16 (LBA)<br />
<br />
./mk_mmc.sh --mmc /dev/sde<br />
<br />
Worst case, depending on what's actually in NAND, you might still have to stop and do this:<br />
<br />
nand erase 260000 20000<br />
reset<br />
<br />
===Manual Run===<br />
mmc init <br />
fatload mmc 0:1 0x80200000 MLO<br />
nand unlock<br />
nand ecc hw<br />
nandecc hw<br />
nand erase 0 80000<br />
nand write 0x80200000 0 20000<br />
nand write 0x80200000 20000 20000<br />
nand write 0x80200000 40000 20000<br />
nand write 0x80200000 60000 20000<br />
<br />
fatload mmc 0:1 0x80300000 u-boot.bin<br />
nand unlock<br />
nand ecc sw<br />
nandecc sw<br />
nand erase 80000 160000<br />
nand write 0x80300000 80000 160000<br />
nand erase 260000 20000<br />
reset<br />
<br />
== SGX Video Acceleration ==<br />
<br />
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)<br />
https://code.launchpad.net/~beagleboard-kernel/+junk/2.6-stable<br />
<br />
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''<br />
<br />
=== SDK unPackage Script ===<br />
<br />
Download the latest version of the "create_sgx_package.sh" script<br />
wget http://rcn-ee.homeip.net:81/dl/updates/2.6-stable/create_sgx_package.sh<br />
<br />
Make script executable<br />
chmod a+x ./create_sgx_package.sh<br />
<br />
Run script<br />
./create_sgx_package.sh<br />
<br />
After Successfully running:<br />
<br />
:~/temp$ ls<br />
create_sgx_package.sh<br />
GFX_4_00_00_01_libs.tar.gz : -> Copy to Beagle (System Libs)<br />
GFX_Linux_SDK.tar.gz : -> Copy to Beagle (DEMO's)<br />
Graphics_SDK_setuplinux_4_00_00_01.bin<br />
SDK<br />
SDK_BIN<br />
<br />
=== Beagle: GFX_*_libs.tar.gz ===<br />
<br />
tar xf GFX_4_00_00_01_libs.tar.gz (extracts install-SGX.sh and run-SGX.sh)<br />
./install-SGX.sh (copies necessary SGX libs and startup script)<br />
./run-SGX.sh (force run the new init script, or you can just reboot...)<br />
<br />
On Successful install:<br />
Stopping PVR<br />
Starting PVR<br />
Starting SGX fixup for ES2.x (or ES3.x) (or ES5.x xM)<br />
<br />
Reboot for good measure (Maverick's Alpha-1 needs this....)<br />
sudo reboot<br />
<br />
=== Beagle: GFX_Linux_SDK.tar.gz ===<br />
<br />
tar xf GFX_Linux_SDK.tar.gz<br />
cd GFX_Linux_SDK<br />
tar xf OGLES.tar.gz<br />
<br />
=== Test SGX with a DEMO ===<br />
<br />
cd OGLES/SDKPackage/Binaries/CommonX11/Demos/ChameleonMan<br />
./OGLESChameleonMan<br />
<br />
=== Trouble Shooting ===<br />
<br />
sudo rm /etc/powervr-esrev<br />
sudo depmod -a omaplfb<br />
sudo /etc/init.d/pvr restart<br />
<br />
== DSP ==<br />
<br />
This is still a major work in progress...<br />
<br />
Here is one approach: [http://www.elinux.org/BeagleBoard_Ubuntu_%26_DSP_From_Sources BeagleBoard Ubuntu & DSP From Sources]<br />
<br />
== Xorg omapfb Drivers ==<br />
<br />
By default Ubuntu 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.<br />
<br />
cat /var/log/Xorg.0.log | grep FBDEV<br />
(II) FBDEV: driver for framebuffer: fbdev<br />
(II) FBDEV(0): using default device<br />
(II) FBDEV(0): Creating default Display subsection in Screen section<br />
(==) FBDEV(0): Depth 16, (==) framebuffer bpp 16<br />
(==) FBDEV(0): RGB weight 565<br />
<br />
Login into Ubuntu and open a new terminal, xorg has to be running..<br />
<br />
xvinfo -display :0.0<br />
X-Video Extension version 2.2<br />
screen #0<br />
no adaptors present<br />
<br />
=== Drivers ===<br />
<br />
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)<br />
<br />
Lucid:<br />
sudo apt-get install xserver-xorg-video-omap3<br />
<br />
To verify it was correctly installed, reboot and:<br />
<br />
cat /var/log/Xorg.0.log | grep omapfb<br />
(II) LoadModule: "omapfb"<br />
(II) Loading /usr/lib/xorg/modules/drivers//omapfb_drv.so<br />
(II) Module omapfb: vendor="X.Org Foundation"<br />
(II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:<br />
(WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory<br />
(II) omapfb(0): VideoRAM: 1800KiB (SDRAM)<br />
(II) omapfb(0): Creating default Display subsection in Screen section<br />
(**) omapfb(0): Depth 16, (--) framebuffer bpp 16<br />
(==) omapfb(0): RGB weight 565<br />
(==) omapfb(0): Default visual is TrueColor<br />
(--) omapfb(0): Virtual size is 1280x720 (pitch 1280)<br />
(**) omapfb(0): Built-in mode "current"<br />
(==) omapfb(0): DPI set to (96, 96)<br />
(II) omapfb(0): DPMS enabled<br />
(II) omapfb(0): Video plane capabilities:<br />
(II) omapfb(0): Video plane supports the following image formats:<br />
(II) omapfb(0): XVideo extension initialized<br />
<br />
Login into Ubuntu and open a new terminal, xorg has to be running..<br />
<br />
xvinfo -display :0.0<br />
X-Video Extension version 2.2<br />
screen #0<br />
Adaptor #0: "OMAP XV adaptor"<br />
number of ports: 1<br />
port base: 56<br />
operations supported: PutImage <br />
supported visuals:<br />
depth 16, visualID 0x21<br />
number of attributes: 1<br />
etc..<br />
<br />
== Changing DVI output resolution ==<br />
<br />
Ubuntu 10.10 above defaults to a resolution of 1284x768@16. This is set in the boot.cmd file in the boot partition of the SD card. To change the resolution the DVI output, edit boot.cmd accordingly then recreate the boot.scr file by:<br />
<br />
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu 10.10" -d ./boot.cmd ./boot.scr<br />
<br />
Then reboot the BeagleBoard<br />
<br />
== S-Video ==<br />
S-video is tested to be working on 2.6.35-rc5-dl9. S-video output can be enabled using bootargs at uboot as mentioned below.<br />
<br />
=== NTSC ===<br />
<br />
omapfb.mode='''tv:ntsc''' <br />
omapdss.def_disp='''tv'''<br />
<br />
Bootargs that has been validated.<br />
<br />
setenv bootargs 'console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait ro vram=12M omapfb.mode=tv:ntsc omapdss.def_disp=tv <br />
fixrtc buddy=unknown'<br />
<br />
Note that the NTSC resolution is 640x480. However the edge bands around the TV screen differ from TV to TV. Output of '''fbset''' shown below, which does not seem right. <br />
<br />
mode "720x482-30"<br />
# D: 13.500 MHz, H: 15.734 kHz, V: 29.970 Hz<br />
geometry 720 482 720 482 32<br />
timings 74074 16 58 6 31 64 6<br />
rgba 8/16,8/8,8/0,0/0<br />
endmode<br />
<br />
=== PAL ===<br />
<br />
Bootargs that has been validated for PAL tv.<br />
<br />
setenv bootargs 'console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait ro vram=12M omapfb.mode=tv:pal omapdss.def_disp=tv fixrtc buddy=unknown'<br />
<br />
Using these settings video output will display on the tv, however 5-10% of the left and right edges of display are off the screen (using Ubuntu 10.10 with xfce).<br />
<br />
xrandr shows the display is set to the minimum of 720x574. Please update wiki if you can fix this. <br />
<br />
== Building Kernel ==<br />
<br />
https://launchpad.net/~beagleboard-kernel<br />
<br />
Register on launchpad.net, install bzr<br />
sudo apt-get install bzr<br />
<br />
Download SRC<br />
bzr branch lp:~beagleboard-kernel/+junk/2.6-stable<br />
<br />
Build Kernel<br />
./build_kernel.sh<br />
<br />
Optional Building Deb File<br />
./build_deb.sh<br />
<br />
= Ubuntu Software =<br />
<br />
== Wifi Networking (command line) ==<br />
<br />
=== /etc/network/interfaces ===<br />
<br />
It is possible and relatively easy to configure a wifi card from the command line.<br />
<br />
You will need to edit the /etc/network/interfaces file. There are several guides available via Google.<br />
<br />
This is a particularly useful guide http://ubuntuforums.org/showthread.php?t=202834 <br />
<br />
A sample /etc/network/interfaces file for a WPA2 encrypted access point is:<br />
<br />
auto lo<br />
iface lo inet loopback<br />
auto wlan0<br />
iface wlan0 inet dhcp<br />
wpa-driver wext<br />
wpa-ssid <NAME OF AP><br />
wpa-ap-scan 1<br />
wpa-proto RSN<br />
wpa-pairwise CCMP<br />
wpa-group CCMP<br />
wpa-key-mgmt WPA-PSK<br />
wpa-psk < INSERT KEY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX><br />
<br />
Your wifi card will automatically load these settings on start up and give network access.<br />
<br />
== Lightweight window managers ==<br />
<br />
If you intend to use Ubuntu on the BeagleBoard you can install JWM or IceWM to improve performance.<br />
<br />
JWM in particular uses little RAM. On a BeagleBoard with 256MB, using JWM will leave about 60MB free to run apps in.<br />
<br />
== Web Apps ==<br />
<br />
=== Midori ===<br />
Given that the BeagleBoard has fewer resources than a desktop a light weight browser is more responsive. Midori is a light weight browser that still supports flash etc<br />
It is available from the standard repositories.<br />
http://en.wikipedia.org/wiki/Midori_%28web_browser%29<br />
<br />
== Surveillance ==<br />
<br />
=== Motion ===<br />
If you have a video source (webcam, IP cam etc) which appears as /dev/video0 etc then you can use the Linux Surveillance software "motion" to monitor the video stream and record periods of activity.<br />
<br />
Motion is also available from the standard repositories.<br />
http://www.debian-administration.org/article/An_Introduction_to_Video_Surveillance_with_%27Motion%27<br />
Using a 960x720 resolution webcam with 15 fps rate under the UVC driver the Rev C BeagleBoard under Xubuntu reports ~60% CPU utilisation.<br />
<br />
To make the BeagleBoard automatically start recording on boot do the following:<br />
<br />
* Auto Login - run "gdmsetup" from a terminal and select a user to automatically login <br />
* Sessions - make sure you don't save any previous xwindows sessions so that it doesn't prompt you for which one you want<br />
* motion.conf - amend /etc/motion/motion.conf to the settings you want (ie video output directory, record only video, record in mpeg4, set frame rate etc). Do this with "sudo medit /etc/motion/motion.conf" at a prompt.<br />
* Boot script - create a new script in /etc/rc2.d called "S65motion_client" and set permissions appropriately ("sudo chmod 777 /etc/rc2.d/S65motion_client"). Then edit the file so it has the following text in it:<br />
<br />
#! /bin/sh<br />
/usr/bin/motion -c /etc/motion/motion.conf<br />
<br />
This will now launch the motion client as root when you boot up.<br />
<br />
Also note that unless your BeagleBoard can remember the time (battery backed up clock installed) the timestamps will not be correct until you update the time. If your BeagleBoard has an Internet Connection this can be achieved with the ntpdate app.</div>Goldie.linhttps://elinux.org/index.php?title=User:Goldie.lin&diff=24919User:Goldie.lin2010-10-20T12:55:20Z<p>Goldie.lin: Created page with "阿良"</p>
<hr />
<div>阿良</div>Goldie.lin