基本上就是執行以下四步安裝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,加頭文件......