File structure of the update:
$ file update_kernel
update_kernel: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, stripped
$ readelf -a update_kernel
ELF Header:
Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: ARM
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x80d0
Start of program headers: 52 (bytes into file)
Start of section headers: 16353276 (bytes into file)
Flags: 0x202, has entry point, GNU EABI, software FP
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 3
Size of section headers: 40 (bytes)
Number of section headers: 18
Section header string table index: 17
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .init PROGBITS 000080b4 0000b4 000014 00 AX 0 0 4
[ 2] .text PROGBITS 000080d0 0000d0 061370 00 AX 0 0 16
[ 3] __libc_freeres_fn PROGBITS 00069440 061440 00063c 00 AX 0 0 4
[ 4] .fini PROGBITS 00069a7c 061a7c 00000c 00 AX 0 0 4
[ 5] .rodata PROGBITS 00069a90 061a90 f351ba 00 A 0 0 16
[ 6] __libc_atexit PROGBITS 00f9ec4c f96c4c 000004 00 A 0 0 4
[ 7] __libc_subfreeres PROGBITS 00f9ec50 f96c50 000024 00 A 0 0 4
[ 8] .data PROGBITS 00fa7000 f97000 0015e0 00 WA 0 0 4
[ 9] .eh_frame PROGBITS 00fa85e0 f985e0 000004 00 A 0 0 4
[10] .gcc_except_table PROGBITS 00fa85e4 f985e4 00008c 00 WA 0 0 4
[11] .ctors PROGBITS 00fa8670 f98670 00000c 00 WA 0 0 4
[12] .dtors PROGBITS 00fa867c f9867c 00000c 00 WA 0 0 4
[13] .jcr PROGBITS 00fa8688 f98688 000004 00 WA 0 0 4
[14] .got PROGBITS 00fa868c f9868c 0000c4 04 WA 0 0 4
[15] .bss NOBITS 00fa8750 f98750 00dc90 00 WA 0 0 4
[16] __libc_freeres_pt NOBITS 00fb63e0 f98750 00001c 00 WA 0 0 4
[17] .shstrtab STRTAB 00000000 f98750 0000aa 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00008000 0x00008000 0xf96c74 0xf96c74 R E 0x8000
LOAD 0xf97000 0x00fa7000 0x00fa7000 0x01750 0x0f3fc RW 0x8000
NOTE 0x000000 0x00000000 0x00008094 0x00000 0x00000 R 0x4
Section to Segment mapping:
Segment Sections...
00 .init .text __libc_freeres_fn .fini .rodata __libc_atexit __libc_subfreeres
01 .data .eh_frame .gcc_except_table .ctors .dtors .jcr .got .bss __libc_freeres_ptrs
02
There is no dynamic section in this file.
There are no relocations in this file.
There are no unwind sections in this file.
No version information found in this file.