1 2#------------------------------------------------------------------------------ 3# $File: rpi,v 1.3 2022/04/02 14:39:34 christos Exp $ 4# rpi: file(1) magic for Raspberry Pi images 5-44 lelong 0 6>4 lelong 0 7>>8 lelong 1 8>>12 lelong 4 9>>>16 string 283x 10>>>>20 lelong 1 11>>>>>24 lelong 4 12>>>>>>28 string DTOK 13>>>>>>>32 lelong 44 14>>>>>>>>36 lelong 4 15>>>>>>>>>40 string RPTL Raspberry PI kernel image 16 17-56 lelong 0 18>4 lelong 0 19>>8 lelong 1 20>>12 lelong 4 21>>>16 string 283x 22>>>>20 lelong 1 23>>>>>24 lelong 4 24>>>>>>28 string DTOK 25>>>>>>>32 lelong 1 26>>>>>>>>36 lelong 4 27>>>>>>>>>40 string DDTK8 28>>>>>>>>>>48 lelong 4 29>>>>>>>>>>>52 string RPTL Raspberry PI kernel image 30 31# From: Joerg Jenderek 32# URL: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html 33# #raspberry-pi-4-boot-eeprom 34# Reference: https://github.com/raspberrypi/rpi-eeprom/blob/master/rpi-eeprom-config 35# Note: start with same magic as for BIOS (ia32) ROM Extension handled by ./intel 36# masked with MAGIC_MASK and then compared with MAGIC 370 belong&0xFFffF00F 0x55aaF00F Raspberry PI EEPROM 38#!:mime application/octet-stream 39!:mime application/x-raspberry-eeprom 40# like: pieeprom-2020-09-03.bin 41!:ext bin 42# a 32 bit offset to the next section like: 000184d4 000184c8 00018534 ... 0000bb84 0000bbd4 0000bbd4 43>4 ubelong x \b, offset %8.8x 44#>(4.L) ubelong x NEXT=%8.8x 45# self.length 46>8 ubelong !0 \b, length %x 47# self.filename 48>12 string >0 \b, "%s" 49# length is zero 50>8 ubelong =0 51# if length is zero then 2nd section magic here can be zero; this means sections parsing done 52>>8 ubelong !0 \b, 2nd MAGIC=%8.8x 53