无法在飞思卡尔i.MX28启动基本OpenEmbedded的核心 [英] Can't boot basic OpenEmbedded-Core on Freescale i.MX28

查看:872
本文介绍了无法在飞思卡尔i.MX28启动基本OpenEmbedded的核心的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在试图建立并在评估套件以飞思卡尔的ARM i.MX28 ,使用飞思卡尔ARM层获得的 OpenEmbedded的核心。不幸的是,我无法找到一个基本的入门指南(虽然有一个 Yocto工具入门指南)。不幸的是,我一直没能上手,以成功引导到一个基本的命令提示符下板的调试串口的点。

I've been trying to build and boot OpenEmbedded-Core on the evaluation kit for Freescale's ARM i.MX28, using the Freescale ARM layer for OpenEmbedded-Core. Unfortunately, I can't find a basic "Getting Started" guide (though there is a Yocto getting-started guide). Unfortunately, I haven't been able to "get started", to the point of successfully booting to a basic command prompt on the board's debug serial port.

下面是我已经能够拼凑,而据我已经成功至今得到的。

Here is what I've been able to piece together, and as far as I've managed to get so far.

mkdir -p oe-core/freescale-arm
cd oe-core/freescale-arm
git clone git://git.openembedded.org/openembedded-core oe-core
git clone git://github.com/Freescale/meta-fsl-arm.git
cd oe-core
git clone git://git.openembedded.org/meta-openembedded
git clone git://git.openembedded.org/bitbake bitbake

设置环境

. ./oe-init-build-env

这使我们在一个新的子目录建立,并设置特定的环境变量。

That puts us in a new sub-directory build and sets certain environment variables.

编辑的conf / bblayers.conf 的local.conf 文件:

的conf / bblayers.conf 应具备的元FLS臂元-oe 图层添加了 BBLAYERS 。例如:

conf/bblayers.conf should have the meta-fls-arm and meta-oe layers added for BBLAYERS. E.g.:

BBLAYERS ?= " \
  /home/craigm/oe-core/freescale-arm/oe-core/meta \
  /home/craigm/oe-core/freescale-arm/oe-core/meta-openembedded/meta-oe \
  ${TOPDIR}/../../meta-fsl-arm \
  "

的conf / local.conf档,我设置:

BB_NUMBER_THREADS = "4"
PARALLEL_MAKE = "-j 4"
MACHINE = "imx28evk"

构建

bitbake core-image-minimal

我一夜跑这个版本,它已经成功地完成了我。输出文件均〜/ OE核心/飞思卡尔臂/ OE核心/建设/ TMP-eglibc /部署/图像

有,我想试试,如下述两种引导选项。从SD卡启动比较简单,但需要相当长的时间(约30分钟)将图像写入SD卡。从TFTP引导+ NFS速度较快,但需要更多的设置。

There are two boot options that I'd like to try, as described below. Boot from SD card is simpler, but takes quite a long time (~30 min) to write the image to the SD card. Booting from TFTP + NFS is faster, but requires more set-up.

写的图像到SD卡:

sudo dd if=tmp-eglibc/deploy/images/core-image-minimal-imx28evk.sdcard of=/dev/sdc

用了类似30分钟(3.5 GB的文件)。然后,我把它放在板上的SD卡插槽0,通电的。它得到尽可能加载内核,然后停下来:

It took something like 30 minutes (3.5 GB file). Then I put it in the board's SD card slot 0, and powered-up. It got as far as loading the kernel, then stopped:

U-Boot 2012.04.01-00059-g4e6e824 (Aug 23 2012 - 18:08:54)

Freescale i.MX28 family at 454 MHz
BOOT:  SSP SD/MMC #0, 3V3
DRAM:  128 MiB
MMC:   MXS MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC0, FEC1
Hit any key to stop autoboot:  0
reading boot.scr

** Unable to read "boot.scr" from mmc 0:2 **
reading uImage

2598200 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   Linux-2.6.35.3-11.09.01+yocto-20
   Created:      2012-08-23   7:53:40 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2598136 Bytes = 2.5 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

从TFTP + NFS启动

首先,我想的U-Boot写入到SD卡上:

Boot from TFTP + NFS

First, I tried to write U-Boot onto an SD card:

sudo dd if=tmp-eglibc/deploy/images/u-boot-imx28evk.mxsboot-sdcard of=/dev/sdc

然后,我把它放在板上的SD卡插槽0,通电的。

Then I put it in the board's SD card slot 0, and powered-up. But all I got in the debug serial port was:

0x8020a01d

所以,我决定采用飞思卡尔的i.MX28为U-Boot的分布(从LTIB分布)到SD卡上。我设置合适的U-Boot参数NFS带参数从DHCP引导。

So, I decided to use Freescale's distribution of U-Boot for i.MX28 (from their LTIB distribution) onto an SD card. I set suitable U-Boot parameters for NFS booting with parameters from DHCP.

setenv bootargs console=ttyAMA0,115200n8
setenv bootargs_nfs setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=,v3,tcp fec_mac=${ethaddr}
saveenv

我连接到DD-WRT的路由器具有以下的dnsmasq设置:

I connected to a DD-WRT router with the following DNSmasq settings:

dhcp-boot=,,192.168.250.106
dhcp-option=17,"192.168.250.106:/home/craigm/rootfs"

在我的主机,我成立了一个TFTP服务器,用于为〜/ OE核心/飞思卡尔臂的的uImage 文件/ OE -core /编译/ TMP-eglibc /部署/图像/

On my host PC, I set up a TFTP server to serve the uImage file from ~/oe-core/freescale-arm/oe-core/build/tmp-eglibc/deploy/images/.

我还设置了一个根NFS服务器服务的根文件系统。我编辑 / etc / exports中服务 /家庭/ craigm /根文件系统。我提取的根文件系统:

I also set up a root NFS server to serve the root file system. I edited /etc/exports to serve /home/craigm/rootfs. I extracted the root file system:

bitbake meta-ide-support
rm -Rf ~/rootfs
runqemu-extract-sdk tmp-eglibc/deploy/images/core-image-minimal-imx28evk.tar.bz2 ~/rootfs

然后我把在董事会的SD卡插槽0 U-Boot的SD卡,并开启了。它得到尽可能这一点,然后停下来:

Then I put the U-Boot SD card in the board's SD card slot 0, and powered-up. It got as far as this, then stopped:

...
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:03:33 UTC (213)
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, irq=-1)
eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)
Sending DHCP requests .
PHY: 0:00 - Link is Up - 100/Full
., OK
IP-Config: Got DHCP answer from 192.168.250.106, my address is 192.168.250.142
IP-Config: Complete:
     device=eth0, addr=192.168.250.142, mask=255.255.255.0, gw=192.168.250.1,
     host=192.168.250.142, domain=, nis-domain=(none),
     bootserver=192.168.250.106, rootserver=192.168.250.106, rootpath=/home/craigm/rootfs
Looking up port of RPC 100003/3 on 192.168.250.106
Looking up port of RPC 100005/3 on 192.168.250.106
VFS: Mounted root (nfs filesystem) on device 0:15.
Freeing init memory: 160K

我不知道,如果它的运行没有一个串行控制台,或其他一些问题。我可以ping它 192.168.250.142 ,但我不能Telnet或SSH到它。

I'm not sure if it's running without a serial console, or some other problem. I can ping it on 192.168.250.142, but I can't Telnet or SSH to it.


  • 是否有带有飞思卡尔i.MX28?
  • 任何形式的入门指南OpenEmbedded的核心
  • 是飞思卡尔ARM层真的打算与OpenEmbedded的核心,Yocto,还是有什么用?我真的不明白这些项目是如何关联。

  • 任何人都有成功启​​动OpenEmbedded的核心对带有飞思卡尔i.MX28最小的形象?如果是这样,怎么你的程序与我有什么不同?

  • 我不知道在这个阶段的问题是否仅仅是一个非功能串行控制台,或者一些其他类型的问题。很难诊断这些问题,prevent甚至得到一个基本的系统运行。如何在这一点上诊断?任何指针

  • 为什么U-Boot的被打破,因此甚至不能启动?

  • Is there any sort of "getting started" guide for OpenEmbedded-Core on Freescale's i.MX28?
  • Is the Freescale ARM layer really intended for use with OpenEmbedded-Core, Yocto, or what? I don't really understand how those projects relate.
  • Has anyone else had success booting a minimal image of OpenEmbedded-Core on Freescale's i.MX28? If so, how did your procedure differ from mine?
  • I'm not sure at this stage whether the problem is just a non-functional serial console, or some other sort of issue. It's hard to diagnose these problems that prevent even getting a basic system running. Any pointers on how to diagnose at this point?
  • Why would the U-Boot be broken so it can't even boot?

推荐答案

从它看起来像U-boot的工作正常开机消息。 U-boot的不破。

From the boot message it looks like U-boot is working fine. U-boot is not broken.

以下引导信息

2598200 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   Linux-2.6.35.3-11.09.01+yocto-20
   Created:      2012-08-23   7:53:40 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2598136 Bytes = 2.5 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

通过以上日志的u-boot已完成其工作。
引导内核就是引导程序给出的控制权交给内核。

By the above log u-boot has done its job. "Booting the kernel" is the point where bootloader given the control to the kernel.

我想这个问题可能是内核映像或内存。

I guess the problem might be in kernel image or in memory.

要消除记忆的问题,尝试检查手册和尝试读取和使用主板的参考手册中的RAM写入。

To eliminate the problem of memory, try to check the manual and try to read and write in the RAM using the board's reference manual.

从启动日志RAM貌似没有问题。它已被初始化

From the boot log RAM looks like has no problem. It has been initialized.

DRAM:  128 MiB

检查以下消息不会造成任何问题。
    的 * 的警告 - CRC错误,使用默认的环境

Check if the following message is not causing any problem. * Warning - bad CRC, using default environment

检查是否所有的设备都被初始化,并没有什么不好的CRC警告后跳过。

Check if all the devices have been initialized and nothing is skipped after the bad crc warning.

这篇关于无法在飞思卡尔i.MX28启动基本OpenEmbedded的核心的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆