Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
arch_armv6/ | 03-May-2024 | - | 178 | 46 | ||
arch_msm7k/ | 03-May-2024 | - | 2,538 | 1,757 | ||
include/ | 03-May-2024 | - | 2,345 | 1,322 | ||
libboot/ | 03-May-2024 | - | 565 | 243 | ||
libc/ | 03-May-2024 | - | 1,230 | 557 | ||
nandwrite/ | 03-May-2024 | - | 411 | 260 | ||
usbloader/ | 03-May-2024 | - | 960 | 689 | ||
Android.mk | D | 03-May-2024 | 775 | 23 | 3 | |
CleanSpec.mk | D | 03-May-2024 | 2.2 KiB | 50 | 0 | |
README | D | 03-May-2024 | 1.7 KiB | 52 | 35 | |
fastboot_protocol.txt | D | 03-May-2024 | 5.8 KiB | 174 | 111 |
README
1 2The bootloader environment consists of a set of libraries that provide 3various features and a couple small driver programs that build against 4these libraries. The libraries used come from three categories -- 5generic (containing code useful to any bootloader), architecture 6(containing code useful to a specific cpu, system-on-chip, etc), and 7board (containing code useful to a single specific device) 8 9For the purpose of this discussion, we will involve the fictional 10companies Outstanding Electronics Manufacturing (OEM) and Silicon 11Engineering Management, Inc (SEMI). OEM produces the quality Brick 12mobile device using SEMI's 65002 ARM-based system-on-chip. 13 14Common bootloader libraries and base architectures: 15 16boot/include/boot headers 17boot/libboot libboot.a 18boot/libc libboot_c.a 19boot/arch_armv6 libboot_arch_armv6.a 20 21Architecture-specific libraries for SEMI 65002 SOC: 22 23partner/semi/boot/include/65002 headers 24partner/semi/boot/arch_65002 liboot_arch_65002.a 25 26Device-specific library for OEM Brick phone: 27 28partner/oem/brick/product_config.mk configuration 29partner/oem/brick/boot libboot_board_brick.a 30 31The actual bootloader: 32 33boot/bootloader bootloader 34 35 36The product_config.mk defines three important build variables: 37 38DEVICE_BOOTLOADER_LIBS := \ 39 libboot_board_brick.a \ 40 libboot_arch_65002.a \ 41 libboot_arch_armv6.a 42 43DEVICE_BOOTLOADER_LINK_SCRIPT := \ 44 partner/semi/boot/boot.ld 45 46DEVICE_BOOTLOADER_INIT := \ 47 partner/semi/boot/init.S 48 49Which are used by the bootloader to specify which board and 50architecture specific libraries to link against as well as what link 51script and init.S to use 52