工具/软件:
你(们)好
我目前正在研究一个涉及 TI AM335x EVM (BeagleBone Black) 的工程、并按照客户的建议、使用了 TI Processor SDK Linux 版本 05.00.00.15。 开发环境在 Ubuntu 16.04 LTS 上设置。
项目要求:
我们专门针对基于 RAM 的根文件系统。 根文件系统已手动构建、位于:
/home/user/rootfs/fs_tiny_feb
文件系统结构如下:
bin boot dev etc 主目录初始化 lib linuxrc 介质 mnt proc 运行 sbin sys tmp usr var
引导行为:
我们已经按照 SDK 的标准构建和部署步骤进行了操作。 U-Boot、zImage、DTB 和 initrd 映像可从 SD 卡正确加载。 以下是从串行控制台捕获的日志(在/dev/ttyUSB0 上使用 Minicom):
问题说明:
在消息 starting kernel...(正在启动内核...)后、引导进程挂起、不再显示内核消息或控制台输出。 内核似乎没有装载或过渡到基于 RAM 的根文件系统中。
请求帮助:
请您帮助我们解决以下问题:
有关在 AM335x 平台上启动基于 RAM 的根文件系统的指导或检查清单。
在这种情况下、内核在“启动内核...“之后可能会挂起的可能原因。
使用自定义 initramfs 或最小 rootfs 时、SDK 05.00.0.15 是否存在任何已知的兼容性或配置问题?
非常感谢为实现正确的 RAMFS 引导 uEnv.txt 而提供的任何支持或示例 bootargs/RAMFS 格式。
感谢您的支持。
此致、
Vaishnavi
Welcome to minicom 2.7 OPTIONS: I18n Compiled on Nov 15 2018, 20:18:47. Port /dev/ttyUSB0, 12:50:08 Press CTRL-A Z for help on special keys U-Boot SPL 2018.01-00228-g4579b13-dirty (May 03 2025 - 14:26:00) Trying to boot from MMC1 *** Warning - bad CRC, using default environment reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2018.01-00228-g4579b13-dirty (May 03 2025 - 14:26:00 +0530) CPU : AM335X-GP rev 2.1 Model: TI AM335x BeagleBone Black DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 *** Warning - bad CRC, using default environment <ethaddr> not set. Validating first E-fuse MAC Net: cpsw, usb_ether Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** Unable to read file boot.scr ** reading uEnv.txt 554 bytes read in 3 ms (179.7 KiB/s) Loaded env from uEnv.txt Importing environment from mmc0 ... Running uenvcmd ... Booting from SD card with RAM-based rootfs... reading zImage 27787776 bytes read in 1806 ms (14.7 MiB/s) reading am335x-boneblack.dtb 36793 bytes read in 6 ms (5.8 MiB/s) reading initrd.img.gz 20492772 bytes read in 1330 ms (14.7 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Ramdisk to 8ec74000, end 8ffff1e4 ... OK Loading Device Tree to 8ec68000, end 8ec73fb8 ... OK Starting kernel ...
uEnv.txt file this is uenv.txt but it is stopping till in the starting kernel i have loaded teh initrd.img # Boot configuration for RAM-based rootfs console=ttyO0,115200n8 fdtaddr=0x88000000 rdaddr=0x82000000 loadaddr=0x80007FC0 bootargs=console=${console} earlyprintk root=/dev/ram rw rdinit=/init uenvcmd=echo Booting from SD card with RAM-based rootfs...; \ load mmc 0:1 ${loadaddr} zImage; \ load mmc 0:1 ${fdtaddr} am335x-boneblack.dtb; \ load mmc 0:1 ${rdaddr} initrd.img.gz; \ bootz ${loadaddr} ${rdaddr}:${filesize} ${fdtaddr}