Linux Angstrom在原始BeagleBoard上引导时打开嵌入的内核冻结

Linux Angstrom在原始BeagleBoard上引导时打开嵌入的内核冻结,linux,kernel,beagleboard,angstrom-linux,openembedded,Linux,Kernel,Beagleboard,Angstrom Linux,Openembedded,我试图得到一个原始的BeagleBoard(revC4)来引导一个埃的开放嵌入图像。使用此处提供的说明: 以及: 除了程序冻结和引导内核的消息外,我已经跟踪了所有内容 输出: 我在bootargs中尝试了ttyS2和ttyO2,没有任何区别,还升级了xLoader和uBoot 我的最终目标是运行一个基本的ROS(机器人操作系统)和BeagleBoard 我不知道你是否克服了这一点,但由于我最近一直在尝试让Beagleboard重新启动并运行,我将在这里给出一个答案,以方便其他试图让事情正常运

我试图得到一个原始的BeagleBoard(revC4)来引导一个埃的开放嵌入图像。使用此处提供的说明:

以及:

除了程序冻结和引导内核的消息外,我已经跟踪了所有内容

输出: 我在bootargs中尝试了
ttyS2
ttyO2
,没有任何区别,还升级了xLoader和uBoot

我的最终目标是运行一个基本的ROS(机器人操作系统)和BeagleBoard


我不知道你是否克服了这一点,但由于我最近一直在尝试让Beagleboard重新启动并运行,我将在这里给出一个答案,以方便其他试图让事情正常运行的人

TLDR版本:使用Angstrom v2013.6并在引导时按住用户按钮(或将NAND闪存归零),以获得最简单的解决方案。有关更多详细信息,请参见下文

首先,你被困在这里的原因是u-boot闪存到NAND中对于Angstrom的最新版本已经过时。简单的解决方法是在引导时按住用户按钮,这将绕过NAND并直接从SD卡引导,SD卡可能具有您刚刚构建的u-boot版本。然后,您可以停止引导,将NAND归零,或者将当前的MLO和u-boot闪存到NAND中

之后,如果您使用的是基于systemd的映像,则会遇到更多问题。meta ti层控制“beagleboard”配置的基本参数,并将其虚拟/内核提供程序设置为linux主线,这也在meta ti层中。在某个时候,为它添加了一个新的配方版本,它构建了一个3.14内核,但是内核配置不适合systemd,系统将在引导后很快挂起


好消息是Angstrom v2013.06早于meta ti中的3.14内核更改,我能够很好地运行它。我正在尝试使用v2013.6版本的3.2内核获得一个更新的Angstrom,但我还没有任何运气。

从您提供的输出来看,很难说到底发生了什么。您可以尝试使用earlyprintk调试此问题。将
earlyprintk
添加到内核cmdline(在u-boot中),并在启用earlyprintk配置选项的情况下重建内核。它应该让您的内核输出更加一致,这样您就可以看到导致内核卡住的原因。谢谢您的评论。我不确定如何用earlyprintk重建内核。我正在使用Angstrom图像生成器。我也不确定如何将线路添加到u-boot?很抱歉,我是一个新手。请输入u-boot shell,重置后按Enter键。内核cmdline存储在“bootargs”变量中。您可以使用
print bootargs
进行观察。要将
earlyprintk
添加到此变量,请使用
setenv bootargs$bootargs earlyprintk
。至于内核,我不确定,因为您使用的是包装器(image builder),但它总是归结为下一个问题:您需要修复defconfig文件,使其具有
CONFIG\u DEBUG\u LL=y
CONFIG\u DEBUG\u kernel=y
CONFIG\u EARLY\u PRINTK=y
。应该使用
make ARCH=arm menuconfig
命令(在从defconfig生成的
.config
文件之后)完成此操作。有关详细信息,请参阅。
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Reading boot sector
Loading u-boot.bin from mmc


U-Boot 2009.11 (Feb 23 2010 - 15:33:48)

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  256 MB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Board revision C4
Die ID #40a8000400000000040365fa1301c014
Hit any key to stop autoboot:  0 
mmc1 is available
reading boot.scr

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

4335440 bytes read
Booting from mmc ...
 Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-3.2.28
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4335376 Bytes =  4.1 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.