BeagleBoard-xM简介
BeagleBoard是一个袖珍型参考板,其中包含德州仪器开放式多媒体应用平台(OMAP)3片上系统(SoC)处理器,其中包括ARM Cortex-A8内核,德州仪器C64x +数字信号处理器(DSP) ),板载图形引擎以及集成的双数据速率(DDR)随机存取存储器(RAM)。 对于学习Linux和小型系统的业余爱好者,学者和专业人士而言,BeagleBoard是一个廉价的平台。 图1显示了BeagleBoard-xM。
图1. BeagleBoard-xM
在先前的developerWorks文章中,我探讨了在BeagleBoard版本C上引导Linux的过程 ,该版本承载600MHz的OMAP3530处理器,256MB RAM和256MB NAND闪存。 修订版xM使用1GHz OMAP3730处理器和512MB RAM更加强大。 它可以从没有闪存的microSD卡启动,并具有新接口,包括DB-9串行连接器,集成的4端口通用串行总线(USB)集线器和集成的以太网端口。 BeagleBoard-xM保留了许多修订版C的功能,包括数字视频接口(DVI)-D输出,S视频,音频,联合测试操作组(JTAG)和大型扩展头。
建立您的工作环境
以下各节说明如何获取所需组件,设置和测试控制台。
采购组件
BeagleBoard-xM与预格式化的4GB microSD卡以及适配器一起包装,因此您可以将卡插入标准的Secure Digital(SD)/ MultiMediaCard(MMC)插槽,但无需电缆。 您需要以下内容:
- 电源供应
请使用5V外部电源。 - 串口线
BeagleBoard-xM提供了一个DB9母端口,并需要一条串行电缆将控制台连接到您的主机系统。 使用直通( 非空调制解调器)电缆。 如果主机系统没有串行端口,请使用DB9到USB电缆。 - USB键盘和USB鼠标
- 具有DVI-D功能的监视器和DVI-D至高清多媒体接口(HDMI)电缆
请注意,该板卡不会通过此连接器发出视频图形阵列(VGA)信号,因此标准DVI-to-VGA转换器电缆将不起作用。 - 4GB + microSD卡和读卡器
您可以覆盖提供的卡上的数据,但是最好购买几张卡以用于不同的发行版。 如果主机没有集成的读取器,请使用USB卡读取器。
设置控制台
Linux用户可以使用minicom
,如以下示例所示。 Microsoft®Windows®用户可以使用超级终端或PuTTy,而Mac用户可以使用屏幕,ZTerm或MacWise。
将串行电缆连接到BeagleBoard-xM的DB9端口和您的主机,然后以root身份在设置模式下启动minicom
:
sudo minicom -s
清单1显示了minicom
配置菜单。
清单1. minicom
配置菜单
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
选择“ 串行端口设置” 。 产生的子菜单如清单2所示。
清单2. minicom
串行端口设置菜单
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
如果电缆是直通串行电缆,则串行设备为/dev/ttyS0
。 如果使用USB转换器,请使用/dev/ttyUSB0
。 如果下一步未显示任何文本,则可能是您的主机分配了其他设备,因此将0递增为1,然后重试。 对于所有设备,设置为115200、8位,无奇偶校验,1个停止位以及无硬件或软件流控制。
如果设置正确,请选择“ 将设置另存为dfl” ,然后选择“ 退出” ,将此设置保存为默认设置 。 出现minicom
欢迎消息,如清单3所示。
清单3. minicom
欢迎消息
Welcome to minicom 2.3
OPTIONS: I18n
Compiled on Oct 24 2008, 06:37:44.
Port /dev/ttyS0
Press CTRL-A Z for help on special keys
要进行验证,请给BeagleBoard-xM通电,然后键入一个键以停止启动倒计时。 出现引导加载程序消息,其中显示了X-loader和U-boot版本,构建日期和输出,其中U-boot显示了有关系统内存,输入和输出通道,扩展板信息以及板的版本和管芯ID的详细信息,如清单4所示。
清单4. X-Loader和U-Boot
Texas Instruments X-Loader 1.4.4ss (Aug 19 2010 - 02:49:27)
Beagle xM Rev A
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2010.03-dirty (Aug 20 2010 - 20:50:46)
OMAP3630/3730-GP ES1.0, CPU-OPP2, L3-165MHz,
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Probing for expansion boards, if none are connected you'll see a harmless I2C error.
No EEPROM on expansion board
Beagle xM Rev A
Die ID #77f600001bf00000015739ea0701c021
Hit any key to stop autoboot: 0
OMAP3 beagleboard.org #
拔掉BeagleBoard-xM的电源。
准备启动Linux
将键盘和鼠标插入BeagleBoard-xM的USB插座中。 将网络电缆(如果可用)插入以太网插Kong。 将HDMI-to-DVI电缆连接在评估板和DVI-D监视器之间。
以下说明仅用于使您的电路板在这三个Linux发行版中运行。 “ 相关主题 ”中的链接包含开发工具包,工具链以及用于设置完整开发环境的说明。
引导Angstrom Linux
Angstrom Linux是专门为小型计算机(例如BeagleBoard-xM)开发的操作系统。 在BeagleBoard-xM上启动Angstrom的最快方法是使用该板随附的microSD卡,其中包含Angstrom映像。 但是,该卡上的图像是验证图像,这意味着仅提供该图像来验证板的操作。 它不包含图形用户界面(GUI),默认情况下作为RAM磁盘启动; 因此,拔出电源后,所做的任何更改都会丢失。
随附的microSD卡包含大约117MB的单个文件分配表(FAT)分区,其中包含以下内容:
- 引导加载程序X-loader(
MLO
)和U-boot(u-boot.bin
) - Linux内核(
uImage
) - 引导脚本(
user.scr
) - RAM磁盘根文件系统(
ramdisk.gz
) -
md5sum
文件检查文件大小
卡的其余部分未格式化。
要启动,请插入microSD卡并接通电源。 引导倒计时后,系统会自动调用引导脚本。 引导程序加载器文本再次显示在控制台上,然后是显示引导过程的引导消息,包括脚本本身的执行,加载内核和RAM磁盘以及最后启动内核,如清单5所示。
清单5.启动Angstrom
mmc1 is available
The user button is currently NOT pressed.
reading boot.scr
** Unable to read "boot.scr" from mmc 1:1 **
reading user.scr
755 bytes read
Running bootscript from mmc ...
## Executing script at 80200000
mmc1 is available
reading ramdisk.gz
19960110 bytes read
reading uImage
3190568 bytes read
Booting from ramdisk ...
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Angstrom/2.6.32/beagleboard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3190504 Bytes = 3 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux.....................................................................
[ 0.000000] Linux version 2.6.32 (ubuntu@ip-10-204-115-71) (gcc version 4.3.3 .......
接下来是Linux启动消息,最后是Angstrom徽标和登录提示,如清单6所示。
清单6. Angstrom登录控制台
.-------.
| | .-.
| | |-----.-----.-----.| | .----..-----.-----.
| | | __ | ---'| '--.| .-'| | |
| | | | | |--- || --'| | | ' | | | |
'---'---'--'--'--. |-----''----''--' '-----'-'-'-'
-' |
'---'
The Angstrom Distribution beagleboard ttyS2
Angstrom 2010.7-test-20100820 beagleboard ttyS2
beagleboard login:
以root
身份登录,无需密码。 您可以运行基本的Linux命令来测试系统。 尝试运行已testled
,并观察BeagleBoard-xM上的发光二极管(LED)。
要查看实际运行中的Angstrom,您需要一个完整的根文件系统和一个匹配的内核。 以下说明显示了如何下载和引导演示映像:
- 导航至Angstrom BeagleBoard演示页面并阅读说明。
- 从Angstrom BeagleBoard演示页面下载引导加载程序和根文件系统的二进制映像。 您需要的文件是:
- mkcard.txt
- 劳工组织
- u-boot.bin
- Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用
fdisk
并查找符合fdisk
的磁盘。 以下示例显示/dev/sdg
:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- 卸载卡上的所有分区。 在以下示例中,使用卡的设备名称代替
/dev/sdg
:sudo umount /dev/sdg?
- 使用
mkcard.txt
脚本格式化SD卡。注:可以肯定 ,你的目标你的SD卡,而不是系统盘。
在以下示例中,使用卡的设备名称代替
/dev/sdg
:chmod +x mkcard.txt ; sudo ./mkcard.txt /dev/sdg
操作完成后,您的microSD卡将包含两个主要分区:
- 一个70MB FAT分区,标记为
boot
。 - 一个标为
Angstrom
ext3分区占用了卡的其余容量。
如果在脚本创建分区后系统没有自动安装这些分区,请手动安装它们,在以下示例中将卡的设备名称替换为
/dev/sdg
:sudo mkdir -p /media/boot ; sudo mount /dev/sdg1 /media/boot sudo mkdir /media/Angstrom ; sudo mount /dev/sdg2 /media/Angstrom
本示例的其余部分假定这些分区安装为
/media/boot
和/media/Angstrom
。 - 一个70MB FAT分区,标记为
- 将文件解压缩到根文件系统分区(此命令可能需要一些时间):
sudo tar -C /media/Angstrom -xjvf \ Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- 将文件复制到引导分区,注意内核映像直接来自根文件系统:
cp MLO /media/boot cp u-boot.bin /media/boot cp /media/Angstrom/boot/uImage /media/boot
- 完成所有操作后,同步文件系统和卸载分区:
sync ; sudo umount /dev/sdg?
- 将卡插入BeagleBoard-xM并通电。
注意:如果第一次启动失败并显示如下错误:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block...
重新启动系统,停止启动倒计时,然后键入以下命令:
setenv mmcroot /dev/mmcblk0p2 rw
然后通过键入
boot
引导系统。
第一次引导需要一段时间,因为系统会对其进行自我配置。 Angstrom徽标出现在监视器上,而在控制台上则配置了每个组件。 大约10分钟后,监视器上出现Angstrom登录屏幕,控制台上显示启动提示。 使用登录屏幕设置新用户并登录。您也可以以root
身份登录控制台,无需密码。
正在启动Android
事实证明,Android是BeagleBoard的流行操作系统,因为该板是用于Android应用程序开发和测试的廉价平台。 BeagleBoard有多个Android端口。 本文使用划艇项目。 在开始之前,请确保连接USB键盘和鼠标以及DVI监视器。
- 从德州仪器(TI)的Android DevKit页面下载预编译的二进制tarball,并确保标识BeagleBoard-xM的预构建映像(
beagleboard-xm.tar.gz
)。 - 打开压缩包的包装:
tar zxvf beagleboard-xm.tar.gz
- 阅读README.txt中的说明。
- 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用
fdisk
并查找符合fdisk
的磁盘。 以下示例显示/dev/sdg
:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- 使用提供的脚本格式化SD卡。
注:可以肯定 ,你的目标你的SD卡,而不是系统盘。
在以下示例中,使用卡的设备代替
/dev/sdg
:mkmmc-android.sh /dev/sdg
完成所有操作后,同步文件系统和卸载分区:
sync ; sudo umount /dev/sdg?
- 将microSD卡插入BeagleBoard-xM并通电。
第一次引导需要一段时间,因为系统会对其进行自我配置。 大约四分钟后,您应该看到Android徽标,然后看到主屏幕。 如果网络没有自动激活,请再等待五分钟,然后重新启动。 请注意,控制台保持活动状态并自动以
root
身份登录。
引导Ubuntu
Ubuntu正在Swift成为上网本,移动Internet设备(MID)和其他小型系统的流行发行版。 Canonical是Ubuntu的母公司,拥有专用资源将Ubuntu移植到BeagleBoard等ARM处理器。 与Android一样,请确保在开始之前插入显示器以及USB键盘和鼠标。
- 阅读Ubuntu OMAP Maverick安装页面上的说明。
- 下载预编译的二进制映像。 确保标识BeagleBoard-xM的映像 : TI OMAP3计算机的预装上网本映像 (
ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz
)。 此时请勿解压缩图像。 - 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用
fdisk
并查找符合fdisk
的磁盘。 以下示例显示/dev/sdg
:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- 将图像直接写入卡。
注:可以肯定 ,你的目标你的SD卡,而不是系统盘。
在以下示例中,使用卡的设备代替
/dev/sdg
:sudo sh -c 'zcat \ ./ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz > /dev/sdg'
注意:如果您的BeagleBoard-xM是A3版,则可能需要下载其他内核。 有关详细信息,请参见Ubuntu Maverick安装页面。
完成所有操作后,同步文件系统和卸载分区:
sync ; sudo umount /dev/sdg?
- 将卡插入BeagleBoard-xM并通电。
第一次引导需要一段时间,因为系统会对其进行自我配置,在此期间,显示器和控制台可能会保持黑暗。 大约5分钟后,Ubuntu徽标出现在监视器上,然后出现一系列系统配置屏幕。 使用插入BeagleBoard的键盘和鼠标回答配置问题。 如果网络没有自动激活,请等到系统完全运行后再将其关闭(转到“ 系统 ” ,然后选择“ 关机” ),然后重新启动。
该控制台对于Ubuntu仍然无效。 您必须通过监视器和键盘或鼠标与系统进行交互。 但是,您可以从Ubuntu软件中心安装虚拟网络计算(VNC)服务器,并通过VNC与系统进行交互。
从这往哪儿走
这些操作系统中的每一个都有其自己的社区生态系统,包括网站,Wiki,邮件列表和Internet中继聊天(IRC)通道,BeagleBoard本身也是如此。 在了解BeagleBoard-xM和所选操作系统时,请利用这些出色的资源。
翻译自: https://www.ibm.com/developerworks/opensource/library/l-beagleboard-xm/index.html