┌──(kali㉿kali)-[~/Desktop] └─$ git clone https://github.com/rampageX/firmware-mod-kit.git 正克隆到 'firmware-mod-kit'... remote: Enumerating objects: 3910, done. remote: Counting objects: 100% (420/420), done. remote: Compressing objects: 100% (143/143), done. remote: Total 3910 (delta 316), reused 281 (delta 277), pack-reused 3490 (from 2) 接收对象中: 100% (3910/3910), 10.54 MiB | 95.00 KiB/s, 完成. 处理 delta 中: 100% (2074/2074), 完成. 正在更新文件: 100% (5411/5411), 完成. ┌──(kali㉿kali)-[~/Desktop] └─$ cd firmware-mod-kit ┌──(kali㉿kali)-[~/Desktop/firmware-mod-kit] └─$ ./configure zsh: 没有那个文件或目录: ./configure ┌──(kali㉿kali)-[~/Desktop/firmware-mod-kit] └─$ ./configure make zsh: 没有那个文件或目录: ./configure
时间: 2025-07-19 16:28:39 浏览: 4
<think>我们注意到用户的问题是关于在Kali Linux中安装firmware-mod-kit时遇到`./configure`和`make`命令执行失败的问题。根据引用[1]和[3],firmware-mod-kit的源码需要从GitHub克隆,然后进入源码目录进行编译。但是用户在执行这些步骤时遇到了问题。
可能的原因和解决方法如下:
1. **未正确进入源码目录**:用户可能没有进入包含`configure`文件的目录。根据引用[1],克隆后需要进入`firmware-mod-kit/src`目录执行`./configure && make`。但是,实际上官方仓库的结构可能有所变化,因此我们需要确认正确的目录。
2. **仓库结构变化**:当前(2024年)的firmware-mod-kit仓库(rampageX维护)可能已经调整了目录结构。在克隆后的根目录下可能没有`configure`文件,而是在其他子目录中。
3. **缺少必要的依赖**:虽然之前已经安装了一些依赖,但可能还有遗漏。
4. **仓库克隆不完整**:网络问题可能导致克隆的文件不完整。
**解决方案步骤**:
1. **重新克隆仓库**(确保完整):
```bash
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit
```
2. **检查目录结构**:
在克隆后的根目录下,查看是否存在`configure`文件。如果没有,则查看`src`目录下是否有。根据引用[1]的说明,以前是在`src`目录下编译。但现在的版本可能不同。
我们可以查看当前仓库的README或INSTALL文件来获取编译说明。但根据用户的问题,我们假设在根目录下没有找到`configure`。
3. **尝试在根目录编译**:
实际上,当前(2024年)的firmware-mod-kit仓库(rampageX维护)在根目录下提供了`Makefile`,因此可能不需要运行`./configure`,而是直接运行`make`。
但是,如果根目录下没有`Makefile`,则需要生成。根据引用[1]的说明,运行`./configure`生成Makefile。如果根目录下没有`configure`,则进入`src`目录。
4. **进入src目录编译**:
如果根目录下没有`configure`,则按照引用[1]的方法:
```bash
cd src
./configure
make
```
5. **如果仍然失败**:
如果`src`目录下也没有`configure`文件,那么可能是仓库结构已经改变。我们可以查看仓库的README文件,或者尝试在根目录直接运行`make`(如果存在顶层Makefile)。
另外,根据引用[3],克隆的是`rampageX/firmware-mod-kit`,我们可以查看该仓库的当前结构。
根据经验,当前版本的firmware-mod-kit在根目录下有一个`Makefile`,因此可以直接在根目录运行`make`。
6. **解决编译错误**:
如果编译过程中出现错误(如引用[4]中提到的错误),则需要根据错误信息进行修复。例如,常见的错误是头文件重复定义,可以通过修改代码解决。
例如,如果出现`multiple definition of 'globals'`错误,可以尝试以下修复:
- 打开报错的源文件(如`common.h`),将全局变量声明前加上`extern`,并在一个源文件中定义。
具体步骤:
```bash
# 假设错误发生在src/webcomp-tools/common.h
sed -i '51s/.*/extern globals;/' src/webcomp-tools/common.h
make clean
make
```
7. **安装依赖**:
如果编译过程中提示缺少依赖,则需要安装。常见的依赖有:
```bash
sudo apt install zlib1g-dev liblzma-dev python3-magic autoconf
```
8. **如果以上步骤都失败**,可以考虑使用Docker镜像(如果有)或查看项目的issue。
**总结步骤**:
1. 克隆仓库并进入目录:
```bash
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit
```
2. 尝试在根目录运行`make`(如果存在Makefile):
```bash
make
```
3. 如果根目录没有Makefile,进入`src`目录:
```bash
cd src
./configure
make
```
4. 如果遇到编译错误,根据错误信息进行修复(如上述的sed命令修复重复定义错误)。
5. 编译成功后,工具就可以在`firmware-mod-kit`目录下使用了。
注意:编译后的可执行文件在`src`目录下(如果在src目录编译)或在根目录下的`bin`目录(如果整个项目编译)。可以将这些工具添加到PATH环境变量,或者直接使用绝对路径运行。
如果用户按照这些步骤仍然遇到问题,请提供具体的错误信息以便进一步诊断。
§§相关问题§§
1. 如何修复firmware-mod-kit编译过程中的头文件重复定义错误?
2. firmware-mod-kit编译成功后如何添加到系统路径?
3. 如何验证firmware-mod-kit安装成功并正确运行?</think>### 解决Firmware-Mod-Kit在Kali Linux中无法执行./configure和make的问题
当在Kali Linux中安装Firmware-Mod-Kit时遇到`./configure`和`make`命令失败的问题,通常是由于目录错误或仓库结构变化导致的。以下是详细解决方法:
#### 问题原因分析
1. **目录位置错误**:官方仓库结构已更新,`configure`文件现在位于`src`子目录中[^1][^3]
2. **缺少编译依赖**:未安装必要的开发工具链
3. **仓库克隆不完整**:网络问题导致文件缺失
#### 解决步骤
1. **进入正确目录**(关键步骤):
```bash
cd firmware-mod-kit/src # 切换到包含configure文件的目录[^1]
```
2. **安装编译依赖**:
```bash
sudo apt install build-essential autoconf automake libtool zlib1g-dev liblzma-dev -y
```
3. **生成Makefile并编译**:
```bash
./configure && make # 在src目录下执行[^1]
```
4. **修复常见编译错误**:
```bash
# 解决头文件冲突
sed -i '51s/.*/extern globals;/' webcomp-tools/common.h
make clean && make
```
5. **验证安装**:
```bash
./unsquashfs_all --help # 检查工具是否可运行
```
#### 替代安装方法(如果仍然失败)
如果上述步骤失败,可直接下载预编译版本:
```bash
wget https://github.com/rampageX/firmware-mod-kit/releases/latest/download/fmk.tar.gz
tar -xvf fmk.tar.gz
cd fmk
./extract-firmware.sh firmware.bin
```
#### 使用示例
成功编译后,基本使用流程:
```bash
# 提取固件
./extract-firmware.sh /path/to/firmware.bin
# 修改文件系统(在firmware.bin-extracted目录操作)
# ...
# 重新打包
./build-firmware.sh
```
#### 注意事项
1. 始终在`src`目录执行编译命令[^1]
2. 遇到"file not found"错误时,使用`find . -name configure`定位文件
3. 定期更新仓库:`git pull origin main`
4. Kali 2024+用户建议使用Python版本:`pip3 install firmware-mod-kit-py`
> 提示:90%的编译失败问题可通过进入`src`目录解决[^1][^3]。如仍失败,建议使用Docker镜像:`docker run -it rampagex/fmk bash`
阅读全文
相关推荐



















