This action might not be possible to undo. Are you sure you want to continue?
Sign in (or register)
Booting Linux on the BeagleBoard-xM
Get started with this small, open platform for device development Jeffrey M. Osier-Mixon, Technical Writer, MontaVista Software, Inc. Summary: BeagleBoard.org recently introduced BeagleBoard revision xM, a new edition of the highly successful open-hardware BeagleBoard currently at revision C. This article describes the necessary environment and steps for booting Linux® on the BeagleBoard-xM with Angstrom Linux, Android, and Ubuntu. Date: 14 Dec 2010 Level: Intermediate PDF: A4 and Letter (78KB | 14 pages)Get Adobe® Reader® Also available in: Korean Portuguese Activity: 94228 views Comments: 13 (View | Add comment - Sign in) Average rating (52 votes) Rate this article Introducing the BeagleBoard-xM The BeagleBoard is a pocket-sized reference board containing a Texas Instruments Open Multimedia Application Platform (OMAP) 3 systemon-a-chip (SoC) processor, which includes an ARM Cortex-A8 core, Texas Instruments C64x+ digital signal processor (DSP), and onboard graphics engine, as well as integrated dual data rate (DDR) random-access memory (RAM). The BeagleBoard is an inexpensive platform for hobbyists, academics, and professionals who are learning Linux and small systems. Figure 1 shows the BeagleBoard-xM. Figure 1. BeagleBoard-xM
In a previous developerWorks article, I explored booting Linux on BeagleBoard revision C, which hosts a 600MHz OMAP3530 processor, 256MB RAM, and 256MB NAND flash memory. Revision xM is more robust with a 1GHz OMAP3730 processor and 512MB RAM. It boots from the microSD card with no flash memory and hosts new interfaces, including a DB-9 serial connector, integrated 4-port Universal Serial Bus (USB) hub, and integrated Ethernet port. The BeagleBoard-xM retains many revision C features, including Digital Visual Interface (DVI)-D output, S-video, audio, Joint Test Action Group (JTAG), and a large expansion header. Building your working environment The following sections show you how to source required components, set up, and test the console. Sourcing components The BeagleBoard-xM is packaged with a preformatted 4GB microSD card along with an adapter so you can plug the card into a standard Secure Digital (SD)/MultiMediaCard (MMC) slot, but no cables. You need the following:
1 of 10
21/10/2011 07:57 p.m.
Use a USB card reader if your host has no integrated reader. and Mac users can use screen. It is highly recommended that you use an external power supply—either a 5V power brick with a 2.Hardware Flow Control : No | | G . minicom serial port setup menu +-----------------------------------------------------------------------+ | A Serial Device : /dev/ttyS0 | | B . use a DB9-to-USB cable. USB keyboard and USB mouse DVI-D capable monitor and a DVI-D to High-Definition Multimedia Interface (HDMI) cable Note that the board does not emit Video Graphics Array (VGA) signals through this connector. shown in the examples that follow. the BeagleBoard is powered from either an external 5V power source or a USB On-The-Go (OTG) cable. The resulting sub-menu is shown in Listing 2. Listing 1.ibm. . Microsoft® Windows® users can use Hyperterminal or PuTTy. so a standard DVI-to-VGA converter cable won't work. Setting up the console Linux users can use minicom. Listing 2. barely enough to power the xM.m. but it is better to purchase a few cards to use with different distributions. If your host system has no serial port. provide only up to 500mA. These cables. | | Exit | | Exit from Minicom | +--------------------------+ Select Serial port setup. Use a straightthrough (not null-modem) cable. minicom configuration menu +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.Callout Program : | | E Bps/Par/Bits : 115200 8N1 | | F .Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+ | Screen and keyboard | | Save setup as dfl | | Save setup as. and launch minicom in setup mode as root: sudo minicom -s Listing 1 shows the minicom configuration menu. or MacWise.Lockfile Location : /var/lock | | C Callin Program : | | D . ZTerm. Power supply Use a 5V external power supply. Serial cable The BeagleBoard-xM provides a female DB9 port and requires a serial cable to connect the console to your host system. | | Exit | | Exit from Minicom | +--------------------------+ 2 of 10 21/10/2011 07:57 p. however. Connect the serial cable to the BeagleBoard-xM's DB9 port and your host.Booting Linux on the BeagleBoard-xM http://www...com/developerworks/linux/library/l-beagleboard-xm/ Powering the BeagleBoard-xM Traditionally. 4GB+ microSD cards and a card reader You can overwrite the data on the provided card.1mm barrel (positive center) or a Y cable that plugs into two USB ports on your host.
The fastest way to boot Angstrom on the BeagleBoard-xM is with the microSD card that comes with the board. No EEPROM on expansion board Beagle xM Rev A Die ID #77f600001bf00000015739ea0701c021 Hit any key to stop autoboot: 0 OMAP3 beagleboard. the serial device is /dev/ttyS0.com/developerworks/linux/library/l-beagleboard-xm/ If your cable is a straight-through serial cable.ibm. use /dev/ttyUSB0.0. as shown in Listing 3. apply power to your BeagleBoard-xM.4.20:50:46) OMAP3630/3730-GP ES1. 1 stop bit. the image on that card is a verification image. CPU-OPP2. and output. 06:37:44. 8 bits. toolchains. Port /dev/ttyS0 Press CTRL-A Z for help on special keys To verify. X-Loader and U-Boot Texas Instruments X-Loader 1. and no hardware or software flow control.02:49:27) Beagle xM Rev A Reading boot sector Loading u-boot. no parity. which contains an Angstrom image. Booting Angstrom Linux Angstrom Linux is an operating system developed specifically for small computers such as the BeagleBoard-xM. If you use a USB converter. OMAP3 Beagle board + LPDDR/NAND I2C: ready DRAM: 512 MB NAND: 256 MiB In: serial Out: serial Err: serial Probing for expansion boards.m. if none are connected you'll see a harmless I2C error. and type a key to stop the boot countdown.3 OPTIONS: I18n Compiled on Oct 24 2008.03-dirty (Aug 20 2010 . Always unplug the power first. Plug your keyboard and mouse into the USB sockets on the BeagleBoard-xM. the settings are 115200. because that could damage the board. it is possible your host assigned a different device. Preparing to boot Linux Monitor cable Make sure to never plug the monitor cable in while the board is powered. and instructions for setting up full development environments. Plug a network cable.bin from mmc U-Boot 2010. The links in Resources contain development kits. expansion board information. as shown in Listing 4. If no text appears in the next step. into the Ethernet jack. save this setup as the default by choosing Save setup as dfl and then Exit. L3-165MHz. The minicom welcome message appears.org # Unplug power from your BeagleBoard-xM. The following instructions are intended only to get your board up and running with these three Linux distributions. However. input and output channels. Boot-loader messages appear showing the X-loader and U-boot version. minicom welcome message Welcome to minicom 2. with U-boot showing specifics about system memory. For all devices. Listing 3. When your settings are correct.4ss (Aug 19 2010 . so increment 0 to 1 and try again.Booting Linux on the BeagleBoard-xM http://www. It does not contain a graphical user 3 of 10 21/10/2011 07:57 p. and the board's revision and die ID. if available. which means that it is provided only to verify the board's operation. . date of build. Listing 4. Connect the HDMI-to-DVI cable between the board and a DVI-D monitor.
.. no password necessary.. OK Loading Kernel Image . OK OK Starting kernel .| ... Listing 6........ Linux boot messages follow.. Image Name: Angstrom/2...ibm...6. containing the following: Boot loaders X-loader (MLO) and U-boot (u-boot...... | | .. To boot.scr) RAM disk root file system (ramdisk.-----... ## Booting kernel from Legacy Image at 80200000 ...|| --'| | | ' | | | | '---'---'--'--'--. ## Executing script at 80200000 mmc1 is available reading ramdisk.-. | | |-----... the system automatically invokes the boot script. followed by boot messages showing the boot processes.| | .3. thus any changes you make are lost when you unplug..32/beagleboard Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3190504 Bytes = 3 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum .. including execution of the script itself... Booting Angstrom mmc1 is available The user button is currently NOT pressed.scr" from mmc 1:1 ** reading user.. Listing 5...... The boot-loader text is shown again on the console... as shown in Listing 5....32 (ubuntu@ip-10-204-115-71) (gcc version 4.....bin) Linux kernel (uImage) Boot script (user..-------.-'| | | | | | | | |--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beagleboard ttyS2 Angstrom 2010.....000000] Linux version 2....scr 755 bytes read Running bootscript from mmc . insert the microSD card and apply power.7-test-20100820 beagleboard ttyS2 beagleboard login: Log in as root.. . You can run basic Linux commands to test the system.....-----.. and watch the lightemitting diodes (LEDs) on the BeagleBoard-xM.gz) md5sum file to check file sizes The rest of the card is unformatted.. Try running testled. The included microSD card contains a single File Allocation Table (FAT) partition of approximately 117MB.. Uncompressing Linux.. Angstrom login console . loading the kernel and RAM disk... and then finally the Angstrom logo and a login prompt.3 .Booting Linux on the BeagleBoard-xM http://www.. | | | __ | ---'| '--.-----.....scr ** Unable to read "boot.. and finally starting the kernel..com/developerworks/linux/library/l-beagleboard-xm/ interface (GUI) and boots by default as a RAM disk...m. After the boot countdown.. reading boot.-----..... as shown in Listing 6.6.. 4 of 10 21/10/2011 07:57 p.. [ 0..gz 19960110 bytes read reading uImage 3190568 bytes read Booting from ramdisk ..----...
txt ..9 GB. mount them by hand. Unmount any partitions on the card. Note: If the first boot fails with an error like this: Kernel panic . xxx bytes 255 heads. 2. There files you need are: mkcard.. sudo umount /dev/sdg? 9. Download the binary images for the boot loader and root file system from the Angstrom BeagleBoard demo page.txt script. When all operations are done. Insert a microSD card with at least 4GB capacity.tar.3-beagleboard.com/developerworks/linux/library/l-beagleboard-xm/ To see Angstrom in action. sudo . sudo mount /dev/sdg2 /media/Angstrom The rest of this example assumes these partitions are mounted as /media/boot and /media/Angstrom. Use your card's device name in place of /dev/sdg in the following example: sudo umount /dev/sdg? 5.ibm.Booting Linux on the BeagleBoard-xM http://www. For example. The following example shows /dev/sdg: # fdisk -l .rootfs.bin Angstrom-Beagleboard-demo-image-glibc-ipk-2010. sudo mount /dev/sdg1 /media/boot sudo mkdir /media/Angstrom . If your system does not automatically mount these partitions after the script creates them. . Insert the card into the BeagleBoard-xM and apply power.bin /media/boot cp /media/Angstrom/boot/uImage /media/boot 8. noting that the kernel image comes directly from the root file system: cp MLO /media/boot cp u-boot.tar.. your microSD card contains two primary partitions: One 70MB FAT partition labeled boot. synchronize file systems and unmount partitions: sync . 5 of 10 21/10/2011 07:57 p. 6. 63 sectors/track..rootfs.m./mkcard.3-beagleboard. Unpack files to the root file system partition (this command may take some time): sudo tar -C /media/Angstrom -xjvf \ Angstrom-Beagleboard-demo-image-glibc-ipk-2010. use fdisk and look for a disk matching the card's characteristics. if you are using a USB card reader. Use your card's device name in place of /dev/sdg in the following example: chmod +x mkcard.not syncing: VFS: Unable to mount root fs on unknown-block. replacing your card's device name for /dev/sdg in the following example: sudo mkdir -p /media/boot . The following instructions show how to download and boot the demo image: 1. Navigate to the Angstrom BeagleBoard demo page and read the instructions. xxx cylinders 4. Copy files to the boot partition. One ext3 partition labeled Angstrom that takes up the rest of the card's capacity. you need a full root file system and a matching kernel.txt /dev/sdg When the operation is done. Note: Be certain that you are targeting your SD card and not a system disk. and determine its device name.txt MLO u-boot.bz2 3. Format your SD card using the mkcard.bz2 7. Disk /dev/sdg: 3.
stop the boot countdown. synchronize file systems and unmount partitions: sync . As with Android. Ubuntu's parent company. Booting Android Android has proven to be a popular operating system for the BeagleBoard.txt. There are several ports of Android to the BeagleBoard. Make sure to identify the image for the BeagleBoard-xM: Preinstalled netbook image for TI OMAP3 computers (ubuntu-netbook-10. Be sure to connect a USB keyboard and mouse as well as a DVI monitor before starting. Download the precompiled binary tarball from the Texas Instruments Android DevKit page. Booting Ubuntu Ubuntu is fast becoming a popular distribution for netbooks.sh /dev/sdg When all operation is done. Insert a microSD card with at least 4GB capacity.. 3. 2.10-preinstalled-netbook-armel+omap.9 GB. Insert the microSD card into the BeagleBoard-xM and apply power. This article uses the rowboat project.com/developerworks/linux/library/l-beagleboard-xm/ Restart the system. For example. mobile Internet devices (MIDs). Disk /dev/sdg: 3.gz).. and type the following command: setenv mmcroot /dev/mmcblk0p2 rw Then boot the system by typing boot. Use the login screen to set up a new user and log in. use fdisk and look for a disk matching the card's characteristics. Canonical. You can also log in on the console as root. an Angstrom login screen appears on the monitor and a boot prompt on the console. sudo umount /dev/sdg? 6. Unpack the tarball: tar zxvf beagleboard-xm. The following example shows /dev/sdg: # fdisk -l . The Angstrom logo appears on the monitor.tar.img.tar. xxx bytes 255 heads. Format your SD card using the provided script. After about 10 minutes. while on the console each component is configured. Note that the console remains active and automatically logs in as root. If the network does not activate automatically. The first boot takes a while as the system configures itself. Note: Be certain that you are targeting your SD card and not a system disk. . if you are using a USB card reader. Read the instructions in README. 1. and other small systems. For example..gz 3. make sure to plug in a monitor and USB keyboard and mouse before starting.Booting Linux on the BeagleBoard-xM http://www.gz). 2. xxx cylinders 5. as the board is an inexpensive platform for Android application development and testing. Do not uncompress the image at this time. no password required. if you are using a USB card reader. 6 of 10 21/10/2011 07:57 p. you should see the Android logo and then a home screen.ibm. and determine its device name.m. has dedicated resources to porting Ubuntu to ARM processors such as the BeagleBoard. use fdisk and look for a disk matching the card's characteristics. Download the precompiled binary image. The first boot takes a while as the system configures itself. Insert a microSD card with at least 4GB capacity. After about four minutes. Use your card's device in place of /dev/sdg in the following example: mkmmc-android. wait another five minutes and reboot.. Read the instructions on the Ubuntu OMAP Maverick Install page. making sure to identify the pre-built image for the BeagleBoard-xM (beagleboard-xm. 4. and determine its device name. 1. The following example shows /dev/sdg: # fdisk -l . 63 sectors/track.
google. start with the main Ubuntu page. Answer the configuration questions using the keyboard and mouse plugged into the BeagleBoard. Android resources for the BeagleBoard-xM include the Rowboat Web site as well as the Texas Instruments Android DevKit page. 2010) is one of the absolute best resources for learning embedded Linux. synchronize file systems and unmount partitions: sync .gz > /dev/sdg' Note: If your BeagleBoard-xM is revision A3.m. After about 5 minutes. during which the monitor and console may stay dark. Resources Learn BeagleBoard.com. "Boot Linux on the Beagle Board" (developerWorks. sudo umount /dev/sdg? 5. Insert the card into the BeagleBoard-xM and apply power. Use your card's device in place of /dev/sdg in the following example: sudo sh -c 'zcat \ . you can install a Virtual Network Computing (VNC) server from the Ubuntu Software Center and interact with the system through VNC. You can also create a custom prebuilt image using Angstrom's Narcissus tool. Take advantage of these excellent resources while you learn about the BeagleBoard-xM and your chosen operating system. The first boot takes a while as the system configures itself. as does the BeagleBoard itself. To learn more about the Android operating system in general.img. The console does not remain active for Ubuntu. The main Angstrom site has plenty of information about the Angstrom distribution. xxx bytes 255 heads.org is the main portal for all things BeagleBoard. as well as downloads. book. Ubuntu resources for the BeagleBoard-xM include the BeagleBoardUbuntu page on eLinux. Where to go from here Each of these operating systems has its own community ecosystem. by Chris Hallinan (Prentice Hall. and (soon) textbook with community-created content dedicated to defining how things are done in the open world and to promoting the open source way in new realms. You can download software for the BeagleBoard from the Angstrom BeagleBoard demo page (be sure to read the instructions on the lower half of the page). the Ubuntu logo appears on the monitor. wikis.org BeagleBoard wiki and the smaller wiki on code. xxx cylinders 4.ibm. and then reboot. In the developerWorks Linux zone. mailing lists. discussion forums.Booting Linux on the BeagleBoard-xM http://www. and a wealth of other resources for Linux developers and administrators. start with the main Android page. The Open Source Way is a wiki./ubuntu-netbook-10. shut it down (go to System and choose Shut Down). Write the image directly to the card. and business. you may need to download a different kernel. Information about using the included validation image is on the Diagnostics page. 2nd Ed. When all operations are done. such as education. The two main sites for community-generated information are the eLinux. 63 sectors/track. You must interact with the system through the monitor and keyboard or mouse. August 2009) shows how to boot Linux on the BeagleBoard revision C.9 GB. . See the Ubuntu Maverick install page for details. followed by a series of system configuration screens. wait until the system is completely operational. and Internet Relay Chat (IRC) channels. government. Note: Be certain that you are targeting your SD card and not a system disk.com/developerworks/linux/library/l-beagleboard-xm/ Disk /dev/sdg: 3. However. To learn more about the Ubuntu operating system in general. If the network does not activate automatically. including the BeagleBoard-xM System Reference Manual (PDF).org as well as the OMAP Maverick Install page on the Ubuntu wiki. 7 of 10 21/10/2011 07:57 p.10-preinstalled-netbook-armel+omap. including web sites. find hundreds of how-to articles and tutorials. Embedded Linux Primer.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.