单片机/MCU论坛
直播中

可口可甜

8年用户 871经验值
私信 关注
[问答]

在buildroot创建带qt的根文件系统,宿主机的qt需要在什么位置?

问题1.
之前使用bsp里的qt,分别编译成arm版的和x86板的,安装路径是/usr/local/Trolltech/qt-4.8.5-x11和/usr/local/Trolltech/QtEmbedded-4.8.5。然后将后者复制到目标板的相同目录里。这样宿主机编译完后,将生成的可执行文件放至目标板内就可以执行。
现在,我用buidroot生成了个带qt5的根文件系统,现在执行之前生成的可执行文件,总提示找不到命令。
问题2.
进入新的根文件系统后,命令行提示符前,没有路径,无论进入哪个目录,#前都是空的。
问题3.
进入新的根文件系统后,有些命令执行不了,询问是否是root用户,但系统里没有root或su命令。
问题4.
建rootfs时,勾选了pyqt5。
进入文件系统后,输入python,可进入Python解释器。
在python解释器下,输入import PyQt5,不报错。
输入import PyQt5.QtWidgets,则报错,找不到这个模块。

回帖(1)

刘娟

2024-1-17 15:29:12
问题1:在buildroot创建带Qt的根文件系统中,宿主机的Qt需要在什么位置?

答:在buildroot创建带Qt的根文件系统时,宿主机的Qt工具链需要添加到buildroot的配置中。在配置buildroot时,可以通过菜单选择 "Toolchain" -> "Toolchain type" 来选择使用外部构建的工具链。然后,需要设置工具链的路径和前缀。例如,如果宿主机的Qt安装在 /usr/local/Trolltech/qt-4.8.5-x11 目录下,则在buildroot的配置文件中,需要设置以下选项:

```
BR2_TOOLCHAIN_EXTERNAL_PATH="/usr/local/Trolltech/qt-4.8.5-x11"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="arm-linux-gnu-"
```

在配置完成后,运行 buildroot 构建根文件系统时,buildroot会在构建过程中使用宿主机的Qt工具链进行编译。

问题2:进入新的根文件系统后,命令行提示符前没有路径,无论进入哪个目录,#前都是空的。

答:这可能是由于你的新根文件系统没有设置正确的环境变量导致的。你可以尝试在新的根文件系统中手动设置 PATH 环境变量,例如,使用以下命令:

```
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
```

如果你希望在每次登录时都自动设置 PATH 环境变量,可以将上述命令添加到 /etc/profile 文件中。

问题3:进入新的根文件系统后,有些命令执行不了,询问是否是root用户,但系统里没有root用户。

答:默认情况下,新的根文件系统应该包含 root 用户。但你可能没有正确设置 root 用户的密码。你可以使用以下命令设置 root 用户的密码:

```
passwd root
```

然后按照提示设置 root 用户的密码。接下来,你应该能够使用 root 用户登录并执行需要 root 权限的命令了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分