make /bin/sh: 1: bc: not found make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/root/桌面/rtl8821CU modules make[1]: *** /lib/modules/6.1.0-kali9-amd64/build: 没有那个文件或目录。 停止。 make: *** [Makefile:2217:modules] 错误 2
时间: 2023-12-23 21:05:01 浏览: 33
这个错误提示是在编译驱动程序时出现的,可能是因为缺少编译驱动程序所需要的依赖项。你可以尝试以下步骤来解决这个问题:
1. 确保你已经安装了编译驱动程序所需要的依赖项,例如 bc 工具。你可以使用以下命令来安装 bc 工具:
```
sudo apt-get install bc
```
2. 确保你已经正确设置了内核源码的路径,因为编译驱动程序需要使用内核源码。你可以使用以下命令来查看内核源码的路径:
```
sudo apt-get install linux-source
ls /usr/src/
```
3. 如果以上步骤都没有解决问题,你可以尝试在 make 命令中加入 V=1 选项以获取更详细的编译日志,从而找到问题所在。例如:
```
make V=1 ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/root/桌面/rtl8821CU modules
```
希望这些步骤可以帮助你解决问题。
相关问题
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/home/kali/rtl8188gu modules
这个命令在编译 rtl8188gu 网卡驱动模块,其中:
- `ARCH=x86_64` 表示编译目标架构为 x86_64;
- `CROSS_COMPILE=` 表示交叉编译器为空,即使用本地编译器编译;
- `/lib/modules/6.1.0-kali9-amd64/build` 是 Linux 内核源码所在的目录;
- `/home/kali/rtl8188gu` 是 rtl8188gu 网卡驱动模块的源码目录;
- `modules` 表示编译模块。
这个命令的作用是编译并生成 rtl8188gu.ko 驱动模块,可以通过 `sudo insmod rtl8188gu.ko` 命令来加载驱动模块。注意,在执行此命令之前,需要先安装 Linux 内核源码和编译工具链。
/bin/sh: 1: arm-none-linux-gnueabihf-ARCH=armgcc: not found
该错误提示表明在执行命令"arm-none-linux-gnueabihf-ARCH=armgcc"时,系统无法找到对应的编译器。根据你提供的引用内容,你可以尝试在makefile的开头添加以下代码来指定编译器路径:
ARCH=arm
CROSS_COMPILE=/opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
这样,在编译过程中会使用指定路径下的编译器,从而避免了系统无法找到编译器的问题。
如果问题仍然存在,请确保你正确设置了编译器路径,并且该路径下确实存在编译器。你可以通过输入"ls /opt/fsl-linaro-toolchain/bin"来查看该路径下的文件和文件夹,确认编译器是否存在。