pocketBeagle 的 buildroot defconfig 不起作用

buildroot defconfig for pocketBeagle is not working

我有一个 pocketbeagle 板,我正在尝试使用 buildroot 为它构建一个 os 图像。 所以我下载了最新的 buildroot,pocketbeagle 没有 defconfig 文件。所以决定使用 beaglebone_defconfig。构建成功,但当我尝试使用此图像启动 pocketbeagle 时,它​​会不断在 uart 控制台上打印此消息:

无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)

我认为这条消息来自uboot。

这是我用来构建图像的步骤:

cd buildroot-2021.02.10
make beaglebone_defconfig
make

我需要打补丁吗?还是因为其他问题?还尝试使用 beagleboard github repo 中可用的 buildroot。

很明显这两个板子是有区别的。你的构建会成功,但不会 运行 在 pocket beagle 上,因为它并不意味着 运行 在它上面。

specifications pocket beagle Beagle bone
SoC OSD3358-SM AM3358/9
CPU Sitara AM3358 M Cortex-A8 Cortex-A8 + Dual PRU (200 MHz)
Frq (MHz) 1000 720

要为 pocket beagle 构建 BSP,请按照以下步骤操作,

  1. 在目标选项中 – 将目标架构更改为 ARM(小端) – 将目标架构变体更改为 Cortex-A8

  2. 在构建选项中,将全局补丁目录设置为 board/e-ale/pocketbeagle/patches/。 这将允许您将 Linux、U-Boot 其他包的补丁放在 board/e-ale/pocketbeagle/patches/.

    的子目录中
  3. 工具链 - 您可以使用外部或内部。

  4. 在内核中 – 显然启用 Linux 内核! – 选择自定义版本作为内核版本 – 选择 4.14.24 作为内核版本 – 由于我们在上面定义了一个全局补丁目录,补丁将已经应用于内核。 – 选择 omap2plus 作为 Defconfig 名称 – 我们需要 PocketBeagle 的设备树,因此启用构建设备树 Blob (DTB) – 并使用 am335x-pocketbeagle 作为设备树源文件名

  5. 目标包 - 根据您的要求。

  6. 在文件系统映像中,启用 ext2/3/4 根文件系统,select ext4 变体。

  7. 在引导加载程序中,启用 U-Boot,并在 U-Boot 中: – 将构建系统选项切换为 Kconfig:使用 U-Boot – 使用值为 2018.01 的自定义版本。 – 使用 am335x_pocketbeagle 作为 Board defconfig

如您所见,在配置中,您已将 board/e-ale/pocketbeagle/patches 引用为包含各种包补丁的目录。我们现在需要添加 U-Boot 和 Linux 补丁来添加对 PocketBeagle 的支持,它们不是上游的。使用 patches,并将其复制到 board/e-ale/pocketbeagle,以便获得以下目录层次结构:

然后在您的设备上构建 BSP 和 运行。

source