Raspberry Pi – UPX Packer Kompilieren
UPX ist ein beliebter Packer um ausführbare Dateien in ihrer Größe zu verkleinern. Leider läuft upx im Standard nicht auf dem Raspberry Pi und muss neu kompiliert werden. Als erstes benötigen wir neben dem UPX Source Code (upx-3.91-src.tar.bz2) noch die 7zip Sourcen als lzma443.tar.gz und die Data Compression Library ucl-1.03.tar.gz
Die Files entpacken wir im Home des Pi Users:
1 2 3 |
tar -xvf upx-3.91-src.tar.bz2 tar -xvf lzma443.tar.gz tar -xvf ucl-1.03.tar.gz |
Dann Kompilieren wir UCL als root.
1 2 3 |
sudo su cd ucl-1.03 ./configure && make && make install |
Nun kann der UPX Packer kompiliert werden
1 2 3 4 |
cd /home/pi/upx-3.08-src export UPX_UCLDIR=/home/pi/ucl-1.03 export UPX_LZMADIR=/home/pi/lzma443 make all |
Nachdem der Kompiler seine arbeit erledigt hat findet sich das Executeable unter „/home/pi/upx-3.91-src/src/upx.out“, eine alternative Ausgabe ist natürlich unter Angabe der Optionen im Makefile möglich.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Ultimate Packer for eXecutables Copyright (C) 1996 - 2013 UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013 Usage: upx.out [-123456789dlthVL] [-qvfk] [-o file] file.. Commands: -1 compress faster -9 compress better -d decompress -l list compressed file -t test compressed file -V display version number -h give more help -L display software license Options: -q be quiet -v be verbose -oFILE write output to 'FILE' -f force compression of suspicious files -k keep backup files file.. executables to (de)compress |
Viel Spaß!