16fca56fbSSascha Wildner 26fca56fbSSascha Wildner#------------------------------------------------------------------------------ 3*3b9cdfa3SAntonio Huete Jimenez# $File: rpi,v 1.3 2022/04/02 14:39:34 christos Exp $ 46fca56fbSSascha Wildner# rpi: file(1) magic for Raspberry Pi images 56fca56fbSSascha Wildner-44 lelong 0 66fca56fbSSascha Wildner>4 lelong 0 76fca56fbSSascha Wildner>>8 lelong 1 86fca56fbSSascha Wildner>>12 lelong 4 96fca56fbSSascha Wildner>>>16 string 283x 106fca56fbSSascha Wildner>>>>20 lelong 1 116fca56fbSSascha Wildner>>>>>24 lelong 4 126fca56fbSSascha Wildner>>>>>>28 string DTOK 136fca56fbSSascha Wildner>>>>>>>32 lelong 44 146fca56fbSSascha Wildner>>>>>>>>36 lelong 4 156fca56fbSSascha Wildner>>>>>>>>>40 string RPTL Raspberry PI kernel image 166fca56fbSSascha Wildner 176fca56fbSSascha Wildner-56 lelong 0 186fca56fbSSascha Wildner>4 lelong 0 196fca56fbSSascha Wildner>>8 lelong 1 206fca56fbSSascha Wildner>>12 lelong 4 216fca56fbSSascha Wildner>>>16 string 283x 226fca56fbSSascha Wildner>>>>20 lelong 1 236fca56fbSSascha Wildner>>>>>24 lelong 4 246fca56fbSSascha Wildner>>>>>>28 string DTOK 256fca56fbSSascha Wildner>>>>>>>32 lelong 1 266fca56fbSSascha Wildner>>>>>>>>36 lelong 4 276fca56fbSSascha Wildner>>>>>>>>>40 string DDTK8 286fca56fbSSascha Wildner>>>>>>>>>>48 lelong 4 296fca56fbSSascha Wildner>>>>>>>>>>>52 string RPTL Raspberry PI kernel image 30*3b9cdfa3SAntonio Huete Jimenez 31*3b9cdfa3SAntonio Huete Jimenez# From: Joerg Jenderek 32*3b9cdfa3SAntonio Huete Jimenez# URL: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html 33*3b9cdfa3SAntonio Huete Jimenez# #raspberry-pi-4-boot-eeprom 34*3b9cdfa3SAntonio Huete Jimenez# Reference: https://github.com/raspberrypi/rpi-eeprom/blob/master/rpi-eeprom-config 35*3b9cdfa3SAntonio Huete Jimenez# Note: start with same magic as for BIOS (ia32) ROM Extension handled by ./intel 36*3b9cdfa3SAntonio Huete Jimenez# masked with MAGIC_MASK and then compared with MAGIC 37*3b9cdfa3SAntonio Huete Jimenez0 belong&0xFFffF00F 0x55aaF00F Raspberry PI EEPROM 38*3b9cdfa3SAntonio Huete Jimenez#!:mime application/octet-stream 39*3b9cdfa3SAntonio Huete Jimenez!:mime application/x-raspberry-eeprom 40*3b9cdfa3SAntonio Huete Jimenez# like: pieeprom-2020-09-03.bin 41*3b9cdfa3SAntonio Huete Jimenez!:ext bin 42*3b9cdfa3SAntonio Huete Jimenez# a 32 bit offset to the next section like: 000184d4 000184c8 00018534 ... 0000bb84 0000bbd4 0000bbd4 43*3b9cdfa3SAntonio Huete Jimenez>4 ubelong x \b, offset %8.8x 44*3b9cdfa3SAntonio Huete Jimenez#>(4.L) ubelong x NEXT=%8.8x 45*3b9cdfa3SAntonio Huete Jimenez# self.length 46*3b9cdfa3SAntonio Huete Jimenez>8 ubelong !0 \b, length %x 47*3b9cdfa3SAntonio Huete Jimenez# self.filename 48*3b9cdfa3SAntonio Huete Jimenez>12 string >0 \b, "%s" 49*3b9cdfa3SAntonio Huete Jimenez# length is zero 50*3b9cdfa3SAntonio Huete Jimenez>8 ubelong =0 51*3b9cdfa3SAntonio Huete Jimenez# if length is zero then 2nd section magic here can be zero; this means sections parsing done 52*3b9cdfa3SAntonio Huete Jimenez>>8 ubelong !0 \b, 2nd MAGIC=%8.8x 53