pocketBeagle 的 buildroot defconfig 不起作用
我有一个 pocketbeagle 板,我试图使用 buildroot 为其构建一个操作系统映像。 所以我下载了最新的buildroot,没有pocketbeagle的defconfig文件。所以决定使用beaglebone_defconfig。构建成功,但是当我尝试使用此图像启动 pocketbeagle 时,它会连续在 uart 控制台上打印此消息:
无法初始化计时器(err -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器(错误 -19)
无法初始化计时器 (err -19)
我认为此消息来自 uboot。
这是我用来构建映像的步骤:
cd buildroot-2021.02.10
make beaglebone_defconfig
make
我需要应用一些补丁吗?还是因为其他问题?还尝试了 beagleboard github 存储库中提供的 buildroot。
I have a pocketbeagle board and I was trying to build an os image for it using buildroot.
so I downloaded the latest buildroot, there was no defconfig file for pocketbeagle. so decided to use beaglebone_defconfig. The build was successful but when I try to boot the pocketbeagle with this image it is continuously printing this message on the uart console:
Could not initialize timer (err -19)
Could not initialize timer (err -19)
Could not initialize timer (err -19)
Could not initialize timer (err -19)
Could not initialize timer (err -19)
Could not initialize timer (err -19)
I think this message is coming from uboot.
This is the steps I used to build the image:
cd buildroot-2021.02.10
make beaglebone_defconfig
make
do I need to apply some patch? or is it because of some other issue? also tried with the buildroot available in beagleboard github repo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显然,这两个板存在差异。您的构建会成功,但不会在 Pocket Beagle 上运行,因为它不应该在 Pocket Beagle 上运行。
要为 Pocket Beagle 构建 BSP,请按照以下步骤操作,
在目标中选项
– 将目标架构更改为 ARM(小端)
– 将目标架构变体更改为 Cortex-A8
在构建选项中,将全局补丁目录设置为 board/e-ale/pocketbeagle/patches/。
这将允许您将 Linux、U-Boot 其他软件包的补丁放在 board/e-ale/pocketbeagle/patches/ 的子目录中。
工具链 - 您可以使用外部或内部。
在内核中
– 显然启用 Linux 内核!
– 选择自定义版本作为内核版本
– 选择 4.14.24 作为内核版本
– 由于我们在上面定义了一个全局补丁目录,补丁将已经应用到内核。
– 选择 omap2plus 作为 Defconfig 名称
– 我们需要 PocketBeagle 的设备树,因此启用构建设备树 Blob (DTB)
– 并使用 am335x-pocketbeagle 作为设备树源文件名
目标包 - 根据您的要求。
在文件系统映像中,启用 ext2/3/4 根文件系统,选择 ext4 变体。
在 Bootloader 中,启用 U-Boot,然后在 U-Boot 中:
– 将构建系统选项切换为Kconfig:使用U-Boot
– 使用值 2018.01 的自定义版本。
– 使用 am335x_pocketbeagle 作为主板 defconfig
正如您所注意到的,在配置中,您引用了 board/e-ale/pocketbeagle/patches 作为包含各种软件包补丁的目录。我们现在需要添加 U-Boot 和 Linux 补丁来添加对 PocketBeagle 的支持,这些补丁不是上游的。使用 补丁,然后复制将其添加到 board/e-ale/pocketbeagle 以便您获得以下目录层次结构:
然后构建 BSP 并在您的设备上运行。
来源
Obviously there are differences in the 2 boards. Your build would succeed but wont run on pocket beagle because it is not meant to run on it.
To build BSP for pocket beagle follow below steps,
In Target options
– Change Target architecture to ARM (little endian)
– Change Target architecture variant to Cortex-A8
In Build options, set global patch directories to board/e-ale/pocketbeagle/patches/.
This will allow you to put patches for Linux, U-Boot other packages in subdirectories of board/e-ale/pocketbeagle/patches/.
Toolchain - you can use external or internal.
In Kernel
– Enable the Linux kernel, obviously!
– Choose Custom version as the Kernel version
– Choose 4.14.24 as Kernel version
– Patches will already be applied to the kernel, thanks to us having defined a global patch directory above.
– Choose omap2plus as the Defconfig name
– We’ll need the Device Tree of the PocketBeagle, so enable Build a Device Tree Blob (DTB)
– And use am335x-pocketbeagle as the Device Tree Source file names
Target packages - as per your requirement.
In Filesystem images, enable ext2/3/4 root filesystem, select the ext4 variant.
In Bootloaders, enable U-Boot, and in U-Boot:
– Switch the Build system option to Kconfig: use U-Boot
– Use a Custom version of value 2018.01.
– Use am335x_pocketbeagle as the Board defconfig
As you have noticed, in the configuration, you have referenced board/e-ale/pocketbeagle/ patches as a directory containing patches for various packages. We now need to add the U-Boot and Linux patches that add support for the PocketBeagle, which are not upstream. Use patches, and just copy it to board/e-ale/pocketbeagle so that you get the following directory hierarchy:
Then build the BSP and run on your device.
source