标签: u-boot

如何从uImage中提取文件?

Buildroot 正在为它们应该运行的嵌入式设备生成图像。这工作得很好。在这些图像中,包含 rootfs。

由于一些研究,我想查看生成的文件(例如,应用了 Buildroot 设置的不同压缩模式,现在应检查它们是否正确完成),但我在网络中找不到有用的东西。

据我所知,uImage 和 zImage 之间的区别只是一个小标题,因此 u-boot 能够读取该二进制文件。但是我既不能打开 uImage,也不能打开 zImage。

谁能给我一个关于如何在主机上解压缩那些 (u/z) 图像的提示?

embedded compression images u-boot buildroot

29
推荐指数
3
解决办法
6万
查看次数

我如何知道 uboot 正在使用什么内存 RAM 地址范围?

我在 uboot 中,想知道如何知道 uboot 正在使用什么 RAM 地址范围。

uboot 需要内存才能运行,因此它可能正在使用一些 RAM。我想避免修改这些 RAM 地址。

我如何知道 uboot 加载了哪个内存区域?

linux boot memory u-boot

14
推荐指数
1
解决办法
1万
查看次数

如何判断我使用的是哪个设备树 blob(dtb 文件)?

我正在使用 TS-4900,这是一个插入基板的嵌入式“计算机模块”,运行 Yocto Linux。它使用 U-Boot 启动,据说它会根据底板的型号选择正确的 dtb 文件来启动,如果它无法找到正确的文件,它可能会回退到我的模块的“通用”文件。

但是它如何/在哪里确定正确的?我如何知道使用了哪个 .dtb,或者设置应该使用哪个?

下面是 U-Boot 的启动信息。

U-Boot 2014.10-g3ac6ec3 (Jan 29 2015 - 17:20:15)

CPU:   Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: POR
Board: TS-4900
Revision: C
       Watchdog enabled
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected N25Q64 with page size 256 Bytes, erase size 4 KiB, total 8 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   using phy at 7 …
Run Code Online (Sandbox Code Playgroud)

u-boot yocto device-tree

11
推荐指数
2
解决办法
4万
查看次数

Linux - 由于不支持的可选功能而无法挂载 RDWR (400)

我尝试从 SD 卡运行 Android。这张卡准备好了。有隔板:boot(FAT32)rootfs(ext4)system(ext4)cache(ext4)usedata(ext4)。引导分区有文件来运行的u-boot: MLOu-boot.binuImage。要运行它,我使用命令

mmcinit 0
fatload mmc 0 0x80000000 uImage
setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2 root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4'
bootm 0x80000000
Run Code Online (Sandbox Code Playgroud)

比我看到 Linux 是如何启动的。但是在加载步骤几秒钟后,rootfs我看到一条错误消息

[    4.015655] EXT4-fs (mmcblk1p2): couldn't mount RDWR because of unsupported optional features (400)
[    4.036499] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    4.079986] List of all partitions:
[    4.083801] b300        31162368 mmcblk0 …
Run Code Online (Sandbox Code Playgroud)

linux boot android u-boot sd-card

11
推荐指数
2
解决办法
2万
查看次数

vmlinuz 和 bzImage 真的一样吗?

我偶然发现了这个页面,它说 bzImage 和 vmlinuz 是相同的。

然后使用 cp(即复制)命令将 bzImage 复制到 /boot 目录,并同时使用诸如以下命令重命名 vmlinuz

cp /usr/src/linux/arch/i386/linux/boot/bzImage /boot/vmlinuz
Run Code Online (Sandbox Code Playgroud)

这让我很担心,因为到目前为止我的理解如下:

  • vmlinux:纯 linux ELF 文件与链接器创建的方式一样,包括符号和所有内容。
  • vmlinuz: gzippedvmlinux文件,它的所有符号都被剥离了
  • zImage: bootsect.o + setup.o + misc.o + piggy.o(piggy.o 包含背驮vmlinuz)。zImage是可引导的,因为它可以解压并运行它包含的内核。
  • bzImage:zImage除了它的构建略有不同之外,它可以承载更大的内核。

你能告诉我谁是正确的吗?

我知道这个 Stack Exchange answer,但它没有明确回答我的问题。然而,隐含地,我觉得它支持我的理解。


奖金问题

上面的哪个文件uImage包含?

boot u-boot

10
推荐指数
1
解决办法
1万
查看次数

可以使用 vmlinux 代替 uImage 吗?

我想使用未压缩的内核映像并启动 BeagleBoard。通常我使用 uImage 来启动压缩格式的内核。如何使用未压缩的内核映像?

kernel u-boot linux-kernel

9
推荐指数
1
解决办法
1万
查看次数

在 Xilinx 上的 Linux 启动过程中禁用 PHY 自动协商

我正在尝试在 FPGA 板上安装 Linux。linux 风格是赛灵思 FPGA 芯片的petalinux

当前的 Xilinx SoC 具有 Cortex A9 处理器和可编程硬件逻辑,即 FPGA。我在终端上捕获了启动消息:

.....................U-boot time.......................partition.......................................................

[Fri Dec 27 15:18:53.108 2013] Copying Linux from SD to RAM...
[Fri Dec 27 15:18:53.129 2013] Device: SDHCI
[Fri Dec 27 15:18:53.129 2013] Manufacturer ID: 2
[Fri Dec 27 15:18:53.129 2013] OEM: 544d
[Fri Dec 27 15:18:53.129 2013] Name: SA04G 
[Fri Dec 27 15:18:53.129 2013] Tran Speed: 25000000
[Fri Dec 27 15:18:53.129 2013] Rd Block Len: 512
[Fri Dec 27 15:18:53.129 …
Run Code Online (Sandbox Code Playgroud)

boot-loader u-boot tcp-ip

9
推荐指数
1
解决办法
2736
查看次数

应用设备树覆盖

我有一个基于 imx233-Olinuxino-Nano 的设备。

Arch Linux Arm 发行版启动并运行。

但是,我的板上有一个从设备连接到 CPU 的 SPI。内核支持它,但很明显,Olinuxino 的通用设备树不包含它的描述。

如何让它显示在 /dev 目录中?我知道我可以在 Linux 内核中更改设备树并重新编译该设备树,但我听说可以提供设备树覆盖文件来在启动时更改设备树。我怎么做?到目前为止,我发现的信息是稀缺和模糊的。

embedded u-boot device-tree arch-arm

7
推荐指数
1
解决办法
921
查看次数

Linux 内核挂在“正在启动内核...”

我已成功在嵌入式设备上启用安全启动。问题是,当我以这种模式启动时,该过程似乎在该行之后卡住了:

Starting kernel ...

一旦 U-boot 将内核复制到内存中并发出bootm命令。

在调试器中,我能够捕捉到 PC 卡在一条yield指令上,然后是分配给pc = pc-4- 所以本质上是一个循环。

我以前从未在如此低的水平上提出过 linux,所以我不确定从哪里开始寻找。不过,我确实注意到,我能够在非安全模式下成功启动内核映像,因此这对供应商来说可能是一个更合适的问题。

1) 一般来说,在哪里可以找到有关执行切换阶段的 U-boot 诊断信息?

2)在什么时候执行完全交给内核?即 U-boot 何时失效?

boot embedded arm u-boot linux-kernel

7
推荐指数
1
解决办法
1万
查看次数

如何在uboot中将sd卡设为默认启动?

U-Boot 2013.07 (Nov 21 2013 - 18:12:40)

Memory: ECC disabled
DRAM:  1 GiB
MMC:   zynq_sdhci: 0
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
SF: 11010048 bytes @ 0x520000 Read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot-PetaLinux>
Run Code Online (Sandbox Code Playgroud)

然后我会输入run sdboot,它会从 sd 卡启动,我在其中放置了一个用于 sd 启动的图像。 …

u-boot sd-card

6
推荐指数
1
解决办法
1万
查看次数