Commit 712760df by devttys0

Updated deps.sh and installation procedure

parent acdfce5d
BEFORE YOU START
-----------------------------------------
Binwalk supports Python 2.7 - 3.x. Although binwalk is slightly faster in Python 3, the Python OpenGL bindings
are still experimental for Python 3, so Python 2.7 is recommended.
Binwalk supports Python 2.7 - 3.x. Although binwalk is slightly faster in Python 3,
the Python OpenGL bindings are still experimental for Python 3, so Python 2.7 is
recommended.
The following installation procedures assume that you are installing binwalk to be run using Python 2.7.
If you want to use binwalk in Python 3, some package names and installation procedures may differ slightly.
You will also need to have gcc, libtool and autoconf installed to build the supporting C libraries.
The following installation procedures assume that you are installing binwalk to
be run using Python 2.7. If you want to use binwalk in Python 3, some package
names and installation procedures may differ slightly.
INSTALLATION
-----------------------------------------
Most binwalk features will work out of the box without any additional dependencies. However, to take advantage
of binwalk's graphing capabilities, you need to install the following packages (you may also need to install
OpenGL drivers for your video card):
$ sudo apt-get install libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy
$ wget -O - http://www.pyqtgraph.org/downloads/pyqtgraph-0.9.8.tar.gz | tar -zxv && cd pyqtgraph-0.9.8 && sudo python ./setup.py install
Binwalk's core features will work out of the box without any additional dependencies.
However, to take advantage of binwalk's graphing and extraction capabilities, multiple
supporting utilities/packages need to be installed.
To ease "dependency hell", a shell script named deps.sh is included which attempts to
install all required dependencies for Debian and RedHat based systems. If you are
running a different system, or prefer to install these dependencies manually, see the
DEPENDENCIES section below.
Installation follows the typical configure/make process:
$ ./deps.sh # Install optional dependencies (caution: many MB of downloads)
$ ./configure
$ make deps # Skip this if you don't want extraction utilities auto-installed (large download(s))
$ make
$ sudo make install
Note that 'make deps' should work on most Debian and RedHat based systems. If this does not work for your system,
see below for manaully installing extraction utilities.
MANUALLY INSTALLING EXTRACTION UTILITIES
DEPENDENCIES
-------------------------------------------
Binwalk can automatically invoke external extraction utilities to extract various types of files that it may find during
a scan. These utilities are optional, but recommended if you plan on using binwalk's extraction features.
Most utilities can be installed from your distro's repositories (package names may vary slightly based
on your particular distro):
$ sudo apt-get install git mtd-utils zlib1g-dev liblzma-dev ncompress gzip bzip2 tar arj p7zip p7zip-full openjdk-6-jdk
However, the Firmware-Mod-Kit, which contains many file system extractors, needs to be built from source
and placed in the /opt/firmware-mod-kit directory:
$ sudo mkdir -p /opt/firmware-mod-kit
$ sudo chmod -R a+rwx /opt/firmware-mod-kit
$ git clone https://code.google.com/p/firmware-mod-kit /opt/firmware-mod-kit/
$ cd /opt/firmware-mod-kit/src && ./configure && make
The following dependencies are only required for optional binwalk features, such as
file extraction and graphing capabilities. Unless otherwise specified, these
dependencies are available from most Linux package managers:
libqt4-opengl
python-opengl
python-qt4
python-qt4-gl
python-numpy
python-scipy
pyqtgraph-0.9.8 [http://www.pyqtgraph.org/downloads/pyqtgraph-0.9.8.tar.gz]
mtd-utils
zlib1g-dev
liblzma-dev
ncompress
gzip
bzip2
tar
arj
p7zip
p7zip-full
openjdk-6-jdk
firmware-mod-kit [https://code.google.com/p/firmware-mod-kit]
UNINSTALL
-----------------------------------------
The following command will remove binwalk from your system (note that this does *not* include utilities installed via 'make deps'):
The following command will remove binwalk from your system. Note that this will *not*
remove utilities installed via deps.sh:
$ sudo make uninstall
......@@ -5,6 +5,16 @@
SUDO=$(which sudo)
SUMOUNT="$1 $2"
function pyqtgraph
{
# Get and install pyqtgraph
wget -O - http://www.pyqtgraph.org/downloads/pyqtgraph-0.9.8.tar.gz | tar -zxv
if [ -e pyqtgraph-0.9.8 ]
then
cd pyqtgraph-0.9.8 && $SUDO python ./setup.py install && cd - && $SUDO rm -rf pyqtgraph-0.9.8
fi
}
function fmk
{
# Get and build the firmware mod kit
......@@ -54,6 +64,9 @@ function fmk
function debian
{
# First make sure the repos are up to date
$SUDO apt-get update
# The appropriate unrar package goes under different names in Debian vs Ubuntu
$SUDO apt-get -y install unrar
if [ "$?" != "0" ]
......@@ -65,7 +78,7 @@ function debian
# Install binwalk/fmk pre-requisites and extraction tools
# lha isn't in newer ubuntu repos, so install it separately in case it fails
$SUDO apt-get -y install lha
$SUDO apt-get -y install git build-essential mtd-utils zlib1g-dev liblzma-dev ncompress gzip bzip2 tar arj p7zip p7zip-full openjdk-6-jdk
$SUDO apt-get -y install git build-essential libtool autoconf mtd-utils zlib1g-dev liblzma-dev ncompress gzip bzip2 tar arj p7zip p7zip-full openjdk-6-jdk
$SUDO apt-get -y install libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy
if [ "$(which python3)" != "" ]
then
......@@ -76,7 +89,7 @@ function debian
function redhat
{
$SUDO yum groupinstall -y "Development Tools"
$SUDO yum install -y git mtd-utils unrar zlib1g-dev liblzma-dev xz-devel compress gzip bzip2 tar arj lha p7zip p7zip-full openjdk-6-jdk
$SUDO yum install -y git libtool autoconf mtd-utils unrar zlib1g-dev liblzma-dev xz-devel compress gzip bzip2 tar arj lha p7zip p7zip-full openjdk-6-jdk
$SUDO yum install -y libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy
if [ "$(which python3)" != "" ]
then
......@@ -142,6 +155,9 @@ case $DISTRO in
exit 1
esac
# Get and install pyqtgraph
pyqtgraph
# Get and build the firmware mod kit
fmk
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment