在BeagleBoard-xM上引导Linux

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,您需要一个完整的根文件系统和一个匹配的内核。 以下说明显示了如何下载和引导演示映像:

  1. 导航至Angstrom BeagleBoard演示页面并阅读说明。
  2. 从Angstrom BeagleBoard演示页面下载引导加载程序和根文件系统的二进制映像。 您需要的文件是:
    • mkcard.txt
    • 劳工组织
    • u-boot.bin
    • Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
  3. 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用fdisk并查找符合fdisk的磁盘。 以下示例显示/dev/sdg
    # fdisk -l
    ...
    Disk /dev/sdg: 3.9 GB, xxx bytes
    255 heads, 63 sectors/track, xxx cylinders
  4. 卸载卡上的所有分区。 在以下示例中,使用卡的设备名称代替/dev/sdg
    sudo umount /dev/sdg?
  5. 使用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

  6. 将文件解压缩到根文件系统分区(此命令可能需要一些时间):
    sudo tar -C /media/Angstrom -xjvf \
     Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
  7. 将文件复制到引导分区,注意内核映像直接来自根文件系统:
    cp MLO /media/boot
    cp u-boot.bin /media/boot
    cp /media/Angstrom/boot/uImage /media/boot
  8. 完成所有操作后,同步文件系统和卸载分区:
    sync ; sudo umount /dev/sdg?
  9. 将卡插入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监视器。

  1. 从德州仪器(TI)的Android DevKit页面下载预编译的二进制tarball,并确保标识BeagleBoard-xM的预构建映像( beagleboard-xm.tar.gz )。
  2. 打开压缩包的包装:
    tar zxvf beagleboard-xm.tar.gz
  3. 阅读README.txt中的说明。
  4. 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用fdisk并查找符合fdisk的磁盘。 以下示例显示/dev/sdg
    # fdisk -l
    ...
    Disk /dev/sdg: 3.9 GB, xxx bytes
    255 heads, 63 sectors/track, xxx cylinders
  5. 使用提供的脚本格式化SD卡。

    注:可以肯定 ,你的目标你的SD卡,而不是系统盘。

    在以下示例中,使用卡的设备代替/dev/sdg

    mkmmc-android.sh /dev/sdg

    完成所有操作后,同步文件系统和卸载分区:

    sync ; sudo umount /dev/sdg?
  6. 将microSD卡插入BeagleBoard-xM并通电。

    第一次引导需要一段时间,因为系统会对其进行自我配置。 大约四分钟后,您应该看到Android徽标,然后看到主屏幕。 如果网络没有自动激活,请再等待五分钟,然后重新启动。 请注意,控制台保持活动状态并自动以root身份登录。

引导Ubuntu

Ubuntu正在Swift成为上网本,移动Internet设备(MID)和其他小型系统的流行发行版。 Canonical是Ubuntu的母公司,拥有专用资源将Ubuntu移植到BeagleBoard等ARM处理器。 与Android一样,请确保在开始之前插入显示器以及USB键盘和鼠标。

  1. 阅读Ubuntu OMAP Maverick安装页面上的说明。
  2. 下载预编译的二进制映像。 确保标识BeagleBoard-xM的映像 : TI OMAP3计算机的预装上网本映像 ( ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz )。 此时请勿解压缩图像。
  3. 插入容量至少为4GB的microSD卡,然后确定其设备名称。 例如,如果您使用的是USB读卡器,请使用fdisk并查找符合fdisk的磁盘。 以下示例显示/dev/sdg
    # fdisk -l
    ...
    Disk /dev/sdg: 3.9 GB, xxx bytes
    255 heads, 63 sectors/track, xxx cylinders
  4. 将图像直接写入卡。

    注:可以肯定 ,你的目标你的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?
  5. 将卡插入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

你可能感兴趣的:(linux,java,操作系统,嵌入式,运维)