我正在尝试在 Buildroot 中添加
udev
包,并在 defconfig 文件中添加以下配置参数:
./configs/xxx_dev_defconfig:BR2_PACKAGE_HAS_UDEV=y
但是,在执行
make xxx_dev_defconfig
之后,我看不到上述配置选项被添加到最终的.config文件中。我注意到 BR2_PACKAGE_HAS_UDEV 在上一个项目中的以下位置设置:
./output/build/buildroot-config/autoconf.h:#define BR2_PACKAGE_HAS_UDEV 1
./output/build/buildroot-config/auto.conf:BR2_PACKAGE_HAS_UDEV=y
这些看起来像自动生成的文件,也在当前项目中预设,但缺少
BR2_PACKAGE_HAS_UDEV
。如何使这个 BR2_PACKAGE_HAS_UDEV
配置选项成为自动生成的 conf 文件的一部分?
编辑:
经过一番折腾后,我想我有一个临时解决方案。在我的 make menuconfig-> 目标包 -> 硬件处理包选项 eudev 中,似乎是notselect-able。它说,“eudev 需要 eudev /dev 管理”。
因此我在系统配置 -> /dev 管理下查看了以下 menuconfig 选项:
在 /dev 管理中,我必须选择“Dynamic using devtmpfs + eudev”,如下所示:
而不是:
您无法手动设置
BR2_PACKAGE_HAS_UDEV
选项。这是一个所谓的盲目选项,只能通过用户可见选项之一中的 select
语句来启用。
在这种情况下,有两种方法可以启用它:
systemd
作为初始化系统 (BR2_INIT_SYSTEMD
);devtmpfs + eudev
作为 /dev 管理 (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
)。