Plugwise Smile P1 – Firmware uitpakken
Op deze pagina gaan we de stretch 2.0 firmware uitpakken in een bestandsstructuur welke dan bekeken kan worden, de methode staat hier beschreven.
Binwalk
We beginnen met binwalk het firmware bestand te analyseren:
binwalk plugwise_smile_firmware_2.1.6.img
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 uImage header, header size: 64 bytes, header CRC:0x42E1AB8C, created: 2015-06-25 10:55:37, image size: 942208 bytes, Data Address: 0x80000000, Entry Point: 0x80000000, data CRC: 0xFDC27CA6, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS OpenWrt Linux-3.8.11" 64 0x40 LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 2789340 bytes 942272 0xE60C0 Squashfs filesystem, little endian, version 4.0, compression:xz, size: 4449650 bytes, 1318 inodes, blocksize: 262144 bytes, created: 2015-06-25 10:55:34 |
Hier zie je dat het bestandsssysteem (Squashfs) begint bij 942272 bytes en 4449650 bytes groot is.
DD
Om de Squashfs partitie uit het firmware bestand te halen kun je DD gebruiken, met het volgende commando:
dd if=plugwise_smile_firmware_2.1.6.img bs=1 skip=942272 count=4449650 of=plugwise_smile_firmware_2.1.6.squashfs
Output:
1 2 3 4 5 6 7 |
rawwrite dd for windows version 0.6beta3. Written by John Newbigin <jn@it.swin.edu.au> This program is covered by terms of the GPL Version 2. skip to 942272 4449650+0 records in 4449650+0 records out |
Unsquash
Nu hebben we een .squashfs bestand, welke met unsquash uitgepakt kan worden met het volgende commando:
unsquashfs.exe plugwise_smile_firmware_2.1.6.squashfs
Output:
1 2 3 4 5 6 7 8 9 10 |
Parallel unsquashfs: Using 6 processors 1193 inodes (1206 blocks) to write [=============================================================/] 1206/1206 100% created 969 files created 125 directories created 224 symlinks created 0 devices created 0 fifos |
Er word automatisch een folder aangemaakt, genaamd: squashfs-root, met de volgende structuur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
bin dev etc home lib mnt overlay proc rom root sbin sys tmp usr www |
[#//plugwise/smilep1/firmware_squashfs_root” ]