This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/BEAGLEBN:启动内核时、引导挂起

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/718171/linux-beaglebn-boot-hangs-at-starting-kernel

器件型号:BEAGLEBN

工具/软件:Linux

大家好、

我已成功使用编译的内核、总线盒、器件树和 ramdisk 引导 BeagleBone Black。 也就是说,使 u-boot 像这样运行:)

独立 ramdisk 的#:
# Fatload MMC 0:1 0x80200000 zImage
# fatload MMC 0:1 0x80f00000 AM335x-bonebblack.dtb
# fatload MMC 0:1 0x81000000 uRamdisk
# setenv bootargs console=ttyO0、115200 rdinit=/bin/sh
# bootz 0x80200000 0x81000000 0x80f00000

这个东西引导正常、我获得了 shell 而不是/etc/init、如 rdinit bootarg 参数中所示。 我将 busybox 构建为静态二进制文件,ramdisk 结构非常简单,但功能齐全:)

现在,为了学习,我正在做同样的事情,但在内核中集成 uRamdisk:)这是使用 initramfs.cpio 文件的正确路径填充 menuconfig。

但是、它根本不启动。 即使我使用 LL_DEBUG 编译了内核、它也会在"启动内核"处获取 stustet、并且无法从它获取更多输出。 现在、u-boot 说明如下所示:

集成 ramdisk 的#(从 sohlink 初始化到总线框):
# Fatload MMC 0:1 0x80200000 zImage
# fatload MMC 0:1 0x88000000 AM335x-bonebblack.dtb
# setenv bootargs console=ttyO0、115200 rdinit=/bin/sh
# bootz 0x80200000 - 0x88000000

当我更改了加载地址时,我也尝试了以前的加载地址,但没有更改任何内容:)

为方便起见,我已附加了用于自动执行所有操作的 bash 脚本。 这运行正常、我已经测试了所有步骤。 我尽量简单,而且是一个简短的:)

#!/bin/bash
#必需的构建顺序--> busybox、modules、rootfs、kernel


echo & echo "--> ENV:Vars (选择 arm-linux-gnueabihf-或 arm-cortex_a8-linux-gnueabihf-)"
MELP =${home}/MELP
rtfs=${nomeforbus-linux-gnueabihf-




}"${nomeecho-building 和 inese-recho$
{omeforeces=mes=mes-}mese-rechopr-linux-linux-rechopr-linux-rechopr-linux-rechopr-rechopr-pr-prues=${homeforeces=${home$ 请记住将 Busybox 设置为静态二进制文件"&&读取
rm -rf ${RTFS}&& mkdir ${RTFS}&& mkdir -p ${RTFS}/{bin、sbin 等、proc、sys}&& cd ${BUSY}
make ARCH=arm cross_compile =${MYFS}/remotconfig
}$

/bin/sh




{MYSF=/bin/sh /bin/init}${MYFS–rechn=${r\n}${rechn${rechn${r\n}cc_preprefix–}${pri}${MYFS–}${pri}${rechn_remi–}${rf}*}cc_remot_remi{rf}${rf}${rf}cc_remot_remi{rf 构建模块(首先用于 ramdisk)、zImage 和 dtbs"
echo "-->内核:设置 path_TO_RAMDISK 和大小"&&读取和读取 CD ${MELP}/linux-stable
# make arch=arm cross_compile=${MYCC}mrproper bb.org_defconfig menuconfig modules -j6
make rarch=arm cross_mpruCONFIG={mMYCC=mund_mcure=$}mpru_mu_mu_mupru_mcuCONFIG$
{mu_mued$}mupru_mu_mu_mu= mupru_muarm=mu_mc
&& CD ${RTFS}&&查找。 | cpio -H newc -o >./initramfs.cpio && popd
make arch=arm cross_compile=${MYCC}zImage dtbs -J6


echo && echo "--> done"&& echo && CD ${MELP} 

所以、在这里保持好奇心、但让我了解您的建议、祝您度过美好的一天!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kazola、

    您是否使用 BeagleBone Black 板或基于 BeagleBone Black 的定制板?

    您是否使用 AM335x TI PSDK? 如果是、是哪个版本?

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  

    没有 SDK (不知道它存在、但我将检查它)、而是 Linux 实用程序。

    BeagleBone Black:)

    我已经尝试了第三种方法来实现这一目的,那就是使用设备表,它可以正常工作,所以我可能在脚本中做了一些错误的事情:)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    卡佐拉

    此论坛支持基于 Arago Linux 发行版的 AM335x TI PSDK (链接如下)。 对于其他 BeagleBone Linux 发行版(Ubuntu、Debian、Angstrom 等)、您应在 BeagleBone 社区论坛中提问。

    www.ti.com/.../beaglebk
    software-dl.ti.com/.../index_FDS.html

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一定要来!

    谢谢!