linux安装firmware-mod-kit

基本上就是执行以下四步安装firmware-mod-kit

git clone https://github.com/mirror/firmware-mod-kit.git
sudo apt-get install build-essential zlib1g-dev libz1zma-dev python-magic
cd firmware-mod-kit/src
./configure && make 

第二行安装报错

在/etc/apt/sources.list中添加源 deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
执行sudo apt-get install再次报错,缺少公钥验证。

执行

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

最后的公钥当然要换成你电脑上报的。
然后sudo apt-get update成功。
然后还是报错E: 无法定位软件包 libz1zma-dev
后来找到一篇博客ubuntu18.04安装build-essential所引发的一系列问题的解决,知道了一个强大的网站Ubuntu Packages Search,可以直接搜索想安装的包,复制下载地址,用wget http://cz.archive.ubuntu.com/ubuntu/pool/main/x/xz-utils/liblzma-dev_5.2.4-1_amd64.deb下载就行了,强!
然后又出现了新的问题

先用uname -m查看系统信息,然后在./configure后加上--host=x86_64,这个x86_64是我的系统信息。
然后新的报错

看来liblzma我仅是下载了,还没有安装。回到下载了liblzma-dev_5.2.4-1_amd64.deb的路径,用dpkg -i liblzma-dev_5.2.4-1_amd64.deb指令安装之。
然后新的报错

那么执行sudo apt-get install -f,然后再去执行./configure --host=x86_64 && make(在firmware-mod-kit/src路径下)
新的报错

查了一下,是major和minor缺少头文件,solaris中有这个头文件,而在linux中是代替之的头文件<sys/sysmacros.h>,打开报错的文件uncramfs.c,添加上头文件#include<sys/sysmacros.h>

再次make,发现这个文件编译已经没问题了,下面的文件又会报同样的错,那么依次添加上这个头文件。
改了好多文件...终于出现新的报错undefined reference to `makedev',其实也是需要加上这个头文件,哈哈。
终于出现了全新的问题

查了一下,虚拟机共享windows文件夹,在共享的文件夹内,不可以创建到linux本地目录的链接。这我是没想到,于是用cp firmware-mod-kit/ ~/firmware-mod-kit/ -r 把这个文件夹复制到虚拟机内部一份,去那里再make。
然而我用了mv和cp,最后搞得文件缺失乱七八糟,于是我决定从头再来,在虚拟机本地重新git clone,加头文件......

posted @ 2020-07-13 01:03  平静的雨田  阅读(3423)  评论(2编辑  收藏  举报