quick guide on extracting brocade images:
-------Extracting Brocade Firmware (v8060 and above)
##Remove the brocade-specific header info from the file
##For regular images, this is 512 bytes:
dd if="SPR08080e.bin" of="trimmed.bin" bs=512 skip=1
##For UFI images, (v8091 and up only have UFI images available), it's 1360 bytes:
dd if=SPR08091ufi.bin of="trimmed.bin" bs=1360 skip=1
#Install u-boot-tools
apt install u-boot-tools
##Debian 9 (and maybe others) have a very old uboot-tools version in the default repo, and does not come with the required dumpimage
##In that case, just manually install recent tools:
wget
http://ftp.us.debian.org/debian/pool/main/u/u-boot/u-boot-tools_2019.01+dfsg-7_amd64.deb
dpkg -i u-boot-tools_2019.01+dfsg-7_amd64.deb
##Now use dumpimage to view a list of all the components in the firmware package:
dumpimage -l trimmed.bin
##You'll get a list of everything in the package:
Code:
FIT description: Linux kernel and FDT blob
Created: Fri Jun 7 00:12:13 2019
Image 0 (kernel@1)
Description: Ruckus Linux SP/SI
Created: Fri Jun 7 00:12:13 2019
Type: Kernel Image
Compression: lzma compressed
Data Size: 2386204 Bytes = 2330.28 KiB = 2.28 MiB
Architecture: ARM
OS: Linux
Load Address: 0x61008000
Entry Point: 0x61008000
Hash algo: crc32
Hash value: 19ecdaa8
Image 1 (kernel@2)
Description: Ruckus Linux MN VER=08.0.91
Created: Fri Jun 7 00:12:13 2019
Type: Kernel Image
Compression: lzma compressed
Data Size: 2401701 Bytes = 2345.41 KiB = 2.29 MiB
Architecture: ARM
OS: Linux
Load Address: 0x61008000
Entry Point: 0x61008000
Hash algo: crc32
Hash value: 8c4ccc81
----trimmed for brevity----
##Choose a part to extract to a separate file, putting the image number after the -p argument:
##Note: -T must be kept set to "-T flat_dt", even if you are extracting a different image type
dumpimage -T flat_dt -p 0 -i trimmed.bin kernel.zip
#If you extract firmware device trees and want to see them in human-readable form:
apt install device-tree-compiler
fdtdump FDT.bin