2 #------------------------------------------------------------------------------
3 # $File: linux,v 1.85 2023/07/17 14:40:09 christos Exp $
4 # linux: file(1) magic for Linux files
6 # Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com>
7 # The following basic Linux magic is useful for reference, but using
8 # "long" magic is a better practice in order to avoid collisions.
10 # 2 leshort 100 Linux/i386
11 # >0 leshort 0407 impure executable (OMAGIC)
12 # >0 leshort 0410 pure executable (NMAGIC)
13 # >0 leshort 0413 demand-paged executable (ZMAGIC)
14 # >0 leshort 0314 demand-paged executable (QMAGIC)
16 0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC)
17 >16 lelong 0 \b, stripped
18 0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC)
19 >16 lelong 0 \b, stripped
20 0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC)
21 >16 lelong 0 \b, stripped
22 0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC)
23 >16 lelong 0 \b, stripped
25 0 string \007\001\000 Linux/i386 object file
26 >20 lelong >0x1020 \b, DLL library
28 0 string \01\03\020\04 Linux-8086 impure executable
29 >28 long !0 not stripped
30 0 string \01\03\040\04 Linux-8086 executable
31 >28 long !0 not stripped
33 0 string \243\206\001\0 Linux-8086 object file
35 0 string \01\03\020\20 Minix-386 impure executable
36 >28 long !0 not stripped
37 0 string \01\03\040\20 Minix-386 executable
38 >28 long !0 not stripped
39 0 string \01\03\04\20 Minix-386 NSYM/GNU executable
40 >28 long !0 not stripped
41 # core dump file, from Bill Reynolds <bill@goshawk.lanl.gov>
42 216 lelong 0421 Linux/i386 core file
44 >220 string >\0 of '%s'
45 >200 lelong >0 (signal %d)
47 # LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com>
48 # this can be overridden by the DOS executable (COM) entry
49 2 string LILO Linux/i386 LILO boot/chain loader
51 # Linux make config build file, from Ole Aamot <oka@oka.no>
52 # Updated by Ken Sharp
53 28 string make\ config Linux make config build file (old)
54 49 search/70 Kernel\ Configuration Linux make config build file
57 # PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com>
58 # Updated by Adam Buchbinder <adam.buchbinder@gmail.com>
59 # See: https://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html
60 0 leshort 0x0436 Linux/i386 PC Screen Font v1 data,
61 >2 byte&0x01 0 256 characters,
62 >2 byte&0x01 !0 512 characters,
63 >2 byte&0x02 0 no directory,
64 >2 byte&0x02 !0 Unicode directory,
66 0 string \x72\xb5\x4a\x86\x00\x00 Linux/i386 PC Screen Font v2 data,
67 >16 lelong x %d characters,
68 >12 lelong&0x01 0 no directory,
69 >12 lelong&0x01 !0 Unicode directory,
73 # Linux swap and hibernate files
74 # Linux kernel: include/linux/swap.h
75 # util-linux: libblkid/src/superblocks/swap.c
77 # format v0, unsupported since 2002
78 0xff6 string SWAP-SPACE Linux old swap file, 4k page size
79 0x1ff6 string SWAP-SPACE Linux old swap file, 8k page size
80 0x3ff6 string SWAP-SPACE Linux old swap file, 16k page size
81 0x7ff6 string SWAP-SPACE Linux old swap file, 32k page size
82 0xfff6 string SWAP-SPACE Linux old swap file, 64k page size
84 # format v1, supported since 1998
86 >0x400 lelong 1 little endian, version %u,
87 >>0x404 lelong x size %u pages,
88 >>0x408 lelong x %u bad pages,
89 >0x400 belong 1 big endian, version %u,
90 >>0x404 belong x size %u pages,
91 >>0x408 belong x %u bad pages,
92 >0x41c string \0 no label,
93 >0x41c string >\0 LABEL=%s,
94 >0x40c ubelong x UUID=%08x
95 >0x410 ubeshort x \b-%04x
96 >0x412 ubeshort x \b-%04x
97 >0x414 ubeshort x \b-%04x
98 >0x416 ubelong x \b-%08x
99 >0x41a ubeshort x \b%04x
101 0xff6 string SWAPSPACE2 Linux swap file, 4k page size,
103 0x1ff6 string SWAPSPACE2 Linux swap file, 8k page size,
105 0x3ff6 string SWAPSPACE2 Linux swap file, 16k page size,
107 0x7ff6 string SWAPSPACE2 Linux swap file, 32k page size,
109 0xfff6 string SWAPSPACE2 Linux swap file, 64k page size,
112 0 name linux-hibernate
113 >0 string S1SUSPEND \b, with SWSUSP1 image
114 >0 string S2SUSPEND \b, with SWSUSP2 image
115 >0 string ULSUSPEND \b, with uswsusp image
116 >0 string LINHIB0001 \b, with compressed hibernate image
117 >0 string \xed\xc3\x02\xe9\x98\x56\xe5\x0c \b, with tuxonice image
118 >0 default x \b, with unknown hibernate image
120 0xfec string SWAPSPACE2 Linux swap file, 4k page size,
122 >0xff6 use linux-hibernate
123 0x1fec string SWAPSPACE2 Linux swap file, 8k page size,
125 >0x1ff6 use linux-hibernate
126 0x3fec string SWAPSPACE2 Linux swap file, 16k page size,
128 >0x3ff6 use linux-hibernate
129 0x7fec string SWAPSPACE2 Linux swap file, 32k page size,
131 >0x7ff6 use linux-hibernate
132 0xffec string SWAPSPACE2 Linux swap file, 64k page size,
134 >0xfff6 use linux-hibernate
137 # Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu>
138 # and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
139 # and Nicolas Lichtmaier <nick@debian.org>
140 # All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
141 # Linux kernel boot images (i386 arch) (Wolfram Kleff)
142 # URL: https://www.kernel.org/doc/Documentation/x86/boot.txt
143 514 string HdrS Linux kernel
145 # often no extension like in linux, vmlinuz, bzimage or memdisk but sometimes
146 # Acronis Recovery kernel64.dat and Plop Boot Manager plpbtrom.bin
147 # DamnSmallLinux 1.5 damnsmll.lnx
149 >510 leshort 0xAA55 x86 boot executable
151 >>>529 byte 0 zImage,
152 >>>529 byte 1 bzImage,
154 >>>>(526.s+0x200) string >\0 version %s,
155 >>498 leshort 1 RO-rootFS,
156 >>498 leshort 0 RW-rootFS,
157 >>508 leshort >0 root_dev %#X,
158 >>502 leshort >0 swap_dev %#X,
159 >>504 leshort >0 RAMdisksize %u KB,
160 >>506 leshort 0xFFFF Normal VGA
161 >>506 leshort 0xFFFE Extended VGA
162 >>506 leshort 0xFFFD Prompt for Videomode
163 >>506 leshort >0 Video mode %d
164 # This also matches new kernels, which were caught above by "HdrS".
165 0 belong 0xb8c0078e Linux kernel
166 >0x1e3 string Loading version 1.3.79 or older
167 >0x1e9 string Loading from prehistoric times
169 # System.map files - Nicolas Lichtmaier <nick@debian.org>
170 8 search/1 \ A\ _text Linux kernel symbol map text
172 # LSM entries - Nicolas Lichtmaier <nick@debian.org>
173 0 search/1 Begin3 Linux Software Map entry text
174 0 search/1 Begin4 Linux Software Map entry text (new format)
176 # From Matt Zimmerman, enhanced for v3 by Matthew Palmer
177 0 belong 0x4f4f4f4d User-mode Linux COW file
178 >4 belong <3 \b, version %d
179 >>8 string >\0 \b, backing file %s
180 >4 belong >2 \b, version %d
181 >>32 string >\0 \b, backing file %s
183 ############################################################################
184 # Linux kernel versions
186 0 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux
187 >497 leshort 0 x86 boot sector
188 >>514 belong 0x8e of a kernel from the dawn of time!
189 >>514 belong 0x908ed8b4 version 0.99-1.1.42
190 >>514 belong 0x908ed8b8 for memtest86
192 >497 leshort !0 x86 kernel
193 >>504 leshort >0 RAMdisksize=%u KB
194 >>502 leshort >0 swap=%#X
195 >>508 leshort >0 root=%#X
196 >>>498 leshort 1 \b-ro
197 >>>498 leshort 0 \b-rw
198 >>506 leshort 0xFFFF vga=normal
199 >>506 leshort 0xFFFE vga=extended
200 >>506 leshort 0xFFFD vga=ask
201 >>506 leshort >0 vga=%d
202 >>514 belong 0x908ed881 version 1.1.43-1.1.45
203 >>514 belong 0x15b281cd
204 >>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0
205 >>>0xa99 belong 0x55AA5a5a version 1.3.1,2
206 >>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30
207 >>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41
208 >>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45
209 >>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72
211 >>>518 leshort >0x1FF
212 >>>>529 byte 0 \b, zImage
213 >>>>529 byte 1 \b, bzImage
214 >>>>(526.s+0x200) string >\0 \b, version %s
216 # Linux boot sector thefts.
217 0 belong 0xb8c0078e Linux
218 >0x1e6 belong 0x454c4b53 ELKS Kernel
219 >0x1e6 belong !0x454c4b53 style boot sector
221 ############################################################################
222 # Linux S390 kernel image
223 # Created by: Jan Kaluza <jkaluza@redhat.com>
224 8 string \x02\x00\x00\x18\x60\x00\x00\x50\x02\x00\x00\x68\x60\x00\x00\x50\x40\x40\x40\x40\x40\x40\x40\x40 Linux S390
225 >0x00010000 search/b/4096 \x00\x0a\x00\x00\x8b\xad\xcc\xcc
227 >>&0 string \xc1\x00\xef\xe3\xf0\x68\x00\x00 Z10 64bit kernel
228 >>&0 string \xc1\x00\xef\xc3\x00\x00\x00\x00 Z9-109 64bit kernel
229 >>&0 string \xc0\x00\x20\x00\x00\x00\x00\x00 Z990 64bit kernel
230 >>&0 string \x00\x00\x00\x00\x00\x00\x00\x00 Z900 64bit kernel
232 >>&0 string \x81\x00\xc8\x80\x00\x00\x00\x00 Z10 32bit kernel
233 >>&0 string \x81\x00\xc8\x80\x00\x00\x00\x00 Z9-109 32bit kernel
234 >>&0 string \x80\x00\x20\x00\x00\x00\x00\x00 Z990 32bit kernel
235 >>&0 string \x80\x00\x00\x00\x00\x00\x00\x00 Z900 32bit kernel
237 ############################################################################
238 # Linux ARM compressed kernel image
239 # From: Kevin Cernekee <cernekee@gmail.com>
240 # Update: Joerg Jenderek
241 0x24 lelong 0x016f2818 Linux kernel ARM boot executable zImage
242 # There are three possible situations: LE, BE with LE bootloader and pure BE.
243 # In order to aid telling these apart a new endian flag was added. In order
244 # to support kernels before the flag and BE with LE bootloader was added we'll
245 # do a negative check against the BE variant of the flag when we see a LE magic.
246 >0x30 belong !0x04030201 (little-endian)
247 # raspian "kernel7.img", Vu+ Ultimo4K "kernel_auto.bin"
249 >0x30 belong 0x04030201 (big-endian)
250 0x24 belong 0x016f2818 Linux kernel ARM boot executable zImage (big-endian)
252 ############################################################################
253 # Linux AARCH64 kernel image
254 0x38 lelong 0x644d5241 Linux kernel ARM64 boot executable Image
255 >0x18 lelong ^1 \b, little-endian
256 >0x18 lelong &1 \b, big-endian
257 >0x18 lelong &2 \b, 4K pages
258 >0x18 lelong &4 \b, 16K pages
259 >0x18 lelong &6 \b, 32K pages
261 ############################################################################
262 # Linux 8086 executable
263 0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless
265 >>4 string >\0 \b, libc version %s
267 0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable
268 >2 byte&0x01 !0 \b, unmapped zero page
269 >2 byte&0x20 0 \b, impure
271 >>2 byte&0x10 !0 \b, A_EXEC
272 >2 byte&0x02 !0 \b, A_PAL
273 >2 byte&0x04 !0 \b, A_NSYM
274 >2 byte&0x08 !0 \b, A_STAND
275 >2 byte&0x40 !0 \b, A_PURE
276 >2 byte&0x80 !0 \b, A_TOVLY
277 >28 long !0 \b, not stripped
279 >>36 string >\0 \b, libc version %s
281 # 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable
282 # 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable
283 # 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable
284 # 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable
286 # SYSLINUX boot logo files (from 'ppmtolss16' sources)
287 # https://www.syslinux.org/wiki/index.php/SYSLINUX#Display_graphic_from_filename:
288 # file extension .lss .16
289 0 lelong =0x1413f33d SYSLINUX' LSS16 image data
290 # syslinux-4.05/mime/image/x-lss16.xml
292 >4 leshort x \b, width %d
293 >6 leshort x \b, height %d
295 0 string OOOM User-Mode-Linux's Copy-On-Write disk image
296 >4 belong x version %d
298 # SE Linux policy database
299 # From: Mike Frysinger <vapier@gentoo.org>
300 0 lelong 0xf97cff8c SE Linux policy
303 >24 lelong x %d symbols
304 >28 lelong x %d ocons
306 # Linux Logical Volume Manager (LVM)
307 # Emmanuel VARAGNAT <emmanuel.varagnat@guzu.net>
309 # System ID, UUID and volume group name are 128 bytes long
310 # but they should never be full and initialized with zeros...
314 0x0 string/b HM\001 LVM1 (Linux Logical Volume Manager), version 1
315 >0x12c string/b >\0 , System ID: %s
317 0x0 string/b HM\002 LVM1 (Linux Logical Volume Manager), version 2
318 >0x12c string/b >\0 , System ID: %s
322 # It seems that the label header can be in one the four first sector
323 # of the disk... (from _find_labeller in lib/label/label.c of LVM2)
325 # 0x200 seems to be the common case
327 # display UUID in LVM format + display all 32 bytes (instead of max string length: 31)
328 >0x0 string >\x2f \b, UUID: %.6s
329 >0x6 string >\x2f \b-%.4s
330 >0xa string >\x2f \b-%.4s
331 >0xe string >\x2f \b-%.4s
332 >0x12 string >\x2f \b-%.4s
333 >0x16 string >\x2f \b-%.4s
334 >0x1a string >\x2f \b-%.6s
335 >0x20 lequad x \b, size: %lld
338 # read the offset to add to the start of the header, and the header
340 0x218 string/b LVM2\ 001 LVM2 PV (Linux Logical Volume Manager)
341 >&(&-12.l-0x20) use lvm2
343 0x018 string/b LVM2\ 001 LVM2 PV (Linux Logical Volume Manager)
344 >&(&-12.l-0x20) use lvm2
346 0x418 string/b LVM2\ 001 LVM2 PV (Linux Logical Volume Manager)
347 >&(&-12.l-0x20) use lvm2
349 0x618 string/b LVM2\ 001 LVM2 PV (Linux Logical Volume Manager)
350 >&(&-12.l-0x20) use lvm2
354 0 string SnAp LVM Snapshot (CopyOnWrite store)
355 >4 lelong !0 - valid,
356 >4 lelong 0 - invalid,
357 >8 lelong x version %d,
358 >12 lelong x chunk_size %d
360 # SE Linux policy database
361 0 lelong 0xf97cff8c SE Linux policy
364 >24 lelong x %d symbols
365 >28 lelong x %d ocons
367 # Summary: Xen saved domain file
368 # Created by: Radek Vokal <rvokal@redhat.com>
369 0 string LinuxGuestRecord Xen saved domain
371 >>&1 string x (name %s)
373 # Type: Xen, the virtual machine monitor
374 # From: Radek Vokal <rvokal@redhat.com>
375 0 string LinuxGuestRecord Xen saved domain
376 #>2 regex \(name\ [^)]*\) %s
377 >20 search/256 (name (name
380 # Systemd journald files
381 # See https://www.freedesktop.org/wiki/Software/systemd/journal-files/.
382 # From: Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl>
383 # Update: Joerg Jenderek
384 # URL: https://systemd.io/JOURNAL_FILE_FORMAT/
385 # Reference: http://mark0.net/download/triddefs_xml.7z/defs/j/journal-sysd.trid.xml
386 # Note: called "systemd journal" by TrID
387 # verified by `journalctl --file=user-1000.journal`
388 # check magic signature[8]
390 # check that state is one of known values
391 # STATE_OFFLINE~0 STATE_ONLINE~1 STATE_ARCHIVED~2
393 # check that each half of three unique id128s is non-zero
400 # boot_id; last writer
402 >>>>>>>64 ubequad >0 Journal file
403 #!:mime application/octet-stream
404 !:mime application/x-linux-journal
406 # head_entry_realtime; contains a POSIX timestamp stored in microseconds
407 >>>>>>>>184 leqdate/1000000 !0 \b, %s
408 >>>>>>>>184 leqdate 0 empty
409 # If a file is closed after writing the state field should be set to STATE_OFFLINE
410 >>>>>>>>16 ubyte 0 \b,
411 # for offline and empty only journal~ extension found
412 >>>>>>>>>184 leqdate 0 offline
413 # https://man7.org/linux/man-pages/man8/systemd-journald.service.8.html
414 # GRR: add char ~ inside parse_ext in ../../src/apprentice.c to avoid in file version 5.44 error like:
415 # Magdir/linux, 463: Warning: EXTENSION type ` journal~' has bad char '~'
417 # for offline and non empty often *.journal~ but also user-1001.journal
418 >>>>>>>>>184 leqdate !0 offline
419 !:ext journal/journal~
420 # if a file is opened for writing the state field should be set to STATE_ONLINE
421 >>>>>>>>16 ubyte 1 \b,
422 # for online and empty only journal~ extension found
423 >>>>>>>>>184 leqdate 0 online
424 # system@0005febee06e2ff2-f7ea54d10e4346ff.journal~
426 # for online and non empty only journal extension found
427 >>>>>>>>>184 leqdate !0 online
428 # system.journal user-1000.journal
430 # after a file has been rotated it should be set to STATE_ARCHIVED
431 >>>>>>>>16 ubyte 2 \b, archived
433 # no *.journal~ found
434 #!:ext journal/journal~
436 >>>>>>>>8 ulelong&1 1 \b, sealed
437 # incompatible_flags; COMPRESSED_XZ~1 COMPRESSED_LZ4~2 KEYED_HASH~4 COMPRESSED_ZSTD~8 COMPACT~16
438 #>>>>>>>>12 ulelong x FLAGS=%#x
439 >>>>>>>>12 ulelong&1 1 \b, compressed
440 >>>>>>>>12 ulelong&2 !0 \b, compressed lz4
441 >>>>>>>>12 ulelong&4 !0 \b, keyed hash siphash24
442 >>>>>>>>12 ulelong&8 !0 \b, compressed zstd
443 >>>>>>>>12 ulelong&16 !0 \b, compact
444 # uint8_t reserved[7]; apparently nil
445 #>>17 long !0 \b, reserved %#8.8x
446 # seqnum_id; like: 0 e623691afec94b5aa968ae2d726c49cc f98b2af481924b29 8d6816ca3639edc6
447 #>>>>>>>>72 ubequad x \b, seqnum_id %#16.16llx
448 #>>>>>>>>80 ubequad x b%16.16llx
449 # header_size like: 100h
450 >>>>>>>>88 ulequad !0x100h \b, header size %#llx
451 # arena_size like: 0 7fff00h ffff00h 17fff00h
452 #>>>>>>>>96 ulequad >0 \b, arena size %#llx
453 # data_hash_table_offset like: 0 15f0h 15f0h
454 #>>>>>>>>104 ulequad >0 \b, hash table offset %#llx
455 # data_hash_table_size like: 0 38e380h
456 #>>>>>>>>112 ulequad >0 \b, hash table size %#llx
457 # field_hash_table_offset like: 0 110h
458 #>>>>>>>>120 ulequad >0 \b, field hash table offset %#llx
459 # field_hash_table_size like: 0 14d0h
460 #>>>>>>>>128 ulequad >0 \b, field hash table size %#llx
461 # tail_object_offset like: 0 43edd8h 511278h c68968h d487d0h efaa98h
462 #>>>>>>>>136 ulequad >0 \b, tail object offset %#llx
463 # n_objects like: 0 1032h 5a2eh 92bdh a8b5h aa75h 112adh 40c23h 4714eh
464 #>>>>>>>>144 ulequad >0 \b, objects %#llx
465 # n_entries like: 0 3aeh 235ah 2dc4h 3125h 16129h 187a1h
466 >>>>>>>>152 ulequad >0 \b, entries %#llx
467 # tail_entry_seqnum like: 0 1988h 16249h 24c12h 24c12h 41e64h 9fefdh
468 #>>>>>>>>160 ulequad >0 \b, tail entry seqnum %#llx
469 # head_entry_seqnum like: 0 1h 15dbh 6552h 213bfh 213bfh 3e672h 9a28ah
470 #>>>>>>>>168 ulequad >0 \b, head entry seqnum %#llx
471 # entry_array_offset like: 0 390058h 3909d8h 3909e0h
472 #>>>>>>>>176 ulequad >0 \b, entry array offset %#llx
474 # BCache backing and cache devices
475 # From: Gabriel de Perthuis <g2p.code@gmail.com>
477 >0x1018 string \xc6\x85\x73\xf6\x4e\x1a\x45\xca\x82\x65\xf5\x7f\x48\xba\x6d\x81 BCache
478 >>0x1010 ulequad 0 cache device
479 >>0x1010 ulequad 1 backing device
480 >>0x1010 ulequad 3 cache device
481 >>0x1010 ulequad 4 backing device
482 >>0x1048 string >0 \b, label "%.32s"
483 >>0x1028 ubelong x \b, uuid %08x
484 >>0x102c ubeshort x \b-%04x
485 >>0x102e ubeshort x \b-%04x
486 >>0x1030 ubeshort x \b-%04x
487 >>0x1032 ubelong x \b-%08x
488 >>0x1036 ubeshort x \b%04x
489 >>0x1038 ubelong x \b, set uuid %08x
490 >>0x103c ubeshort x \b-%04x
491 >>0x103e ubeshort x \b-%04x
492 >>0x1040 ubeshort x \b-%04x
493 >>0x1042 ubelong x \b-%08x
494 >>0x1046 ubeshort x \b%04x
497 # File format description can be found in the Linux kernel sources at
498 # Documentation/devicetree/booting-without-of.txt
499 # From Christoph Biedl
501 # structure must be within blob, strings are omitted to handle devicetrees > 1M
503 >>20 belong >1 Device Tree Blob version %d
504 >>>4 belong x \b, size=%d
506 >>>>28 belong x \b, boot CPU=%d
508 >>>>32 belong x \b, string block size=%d
510 >>>>36 belong x \b, DT structure block size=%d
512 # glibc locale archive as defined in glibc locale/locarchive.h
513 0 lelong 0xde020109 locale archive
514 >24 lelong x %d strings
516 # Linux Software RAID (mdadm)
517 # Russell Coker <russell@coker.com.au>
519 >16 belong x UUID=%8x:
524 >72 lelong x level=%d
525 >92 lelong x disks=%d
527 4096 lelong 0xa92b4efc Linux Software RAID
528 >4100 lelong x version 1.2 (%d)
531 0 lelong 0xa92b4efc Linux Software RAID
532 >4 lelong x version 1.1 (%d)
535 # Summary: Database file for mlocate
536 # Description: A database file as used by mlocate, a fast implementation
537 # of locate/updatedb. It uses merging to reuse the existing
538 # database and avoid rereading most of the filesystem. It's
539 # the default version of locate on Arch Linux (and others).
540 # File path: /var/lib/mlocate/mlocate.db by default (but configurable)
541 # Site: https://fedorahosted.org/mlocate/
542 # Format docs: https://linux.die.net/man/5/mlocate.db
543 # Type: mlocate database file
544 # URL: https://fedorahosted.org/mlocate/
545 # From: Wander Nauta <info@wandernauta.nl>
546 0 string \0mlocate mlocate database
547 >12 byte x \b, version %d
548 >13 byte 1 \b, require visibility
549 >16 string x \b, root %s
551 # Dump files for iproute2 tool. Generated by the "ip r|a save" command. URL:
552 # https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
553 # From: Pavel Emelyanov <xemul@parallels.com>
554 0 lelong 0x45311224 iproute2 routes dump
555 0 lelong 0x47361222 iproute2 addresses dump
557 # Image and service files for CRIU tool.
558 # URL: https://criu.org
559 # From: Pavel Emelyanov <xemul@parallels.com>
560 0 lelong 0x54564319 CRIU image file v1.1
561 0 lelong 0x55105940 CRIU service file
562 0 lelong 0x58313116 CRIU inventory
564 # Kdump compressed dump files
565 # https://github.com/makedumpfile/makedumpfile/blob/master/IMPLEMENTATION
567 0 string KDUMP\x20\x20\x20 Kdump compressed dump
568 >0 use kdump-compressed-dump
570 0 name kdump-compressed-dump
572 >12 string >\0 \b, system %s
573 >77 string >\0 \b, node %s
574 >142 string >\0 \b, release %s
575 >207 string >\0 \b, version %s
576 >272 string >\0 \b, machine %s
577 >337 string >\0 \b, domain %s
580 0 string makedumpfile
582 >>0x1010 string KDUMP\x20\x20\x20 Flattened kdump compressed dump
583 >>>0x1010 use kdump-compressed-dump
586 0 search/1024 /dts-v1/ Device Tree File (v1)
592 # David Gilman <davidgilman1@gmail.com>
593 0 string E2UNDO02 e2fsck undo file, version 2
594 >44 lelong x \b, undo file is
595 >>44 lelong&1 0 not finished
596 >>44 lelong&1 1 finished
597 >48 lelong x \b, undo file features:
598 >>48 lelong&1 0 lacks filesystem offset
599 >>48 lelong&1 1 has filesystem offset
600 >>>64 lequad x at %#llx
602 # ansible vault (does not really belong here)
603 0 string $ANSIBLE_VAULT; Ansible Vault
604 >&0 regex [0-9]+\\.[0-9]+ \b, version %s
606 >>>&0 regex [A-Z0-9]+ \b, encryption %s
608 # From: Joerg Jenderek
609 # URL: https://www.gnu.org/software/grub
610 # Reference: https://ftp.gnu.org/gnu/grub/grub-2.06.tar.gz
611 # grub-2.06/include/grub/keyboard_layouts.h
612 # grub-2.06/grub-core/commands/keylayouts.c
613 # GRUB_KEYBOARD_LAYOUTS_FILEMAGIC
614 0 string GRUBLAYO GRUB Keyboard
615 !:mime application/x-grub-keyboard
617 # GRUB_KEYBOARD_LAYOUTS_VERSION like: 10
618 >8 ulelong !10 \b, version %u
619 # 4 grub_uint32_t grub_keyboard_layout[160]
620 # for normal french keyboard this is letter a
622 >>92 ubyte >0x40 \b, english q is %c
623 #>732 ubyte x \b, english Q is %c
624 # for normal german keyboard this is letter z
626 >>124 ubyte >0x40 \b, english y is %c
627 #>764 ubyte x \b, english Y is %c