Linux Angstrom在原始BeagleBoard上引导时打开嵌入的内核冻结
我试图得到一个原始的BeagleBoard(revC4)来引导一个埃的开放嵌入图像。使用此处提供的说明: 以及: 除了程序冻结和引导内核的消息外,我已经跟踪了所有内容 输出: 我在bootargs中尝试了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重新启动并运行,我将在这里给出一个答案,以方便其他试图让事情正常运
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.