Home | History | Annotate | only in /bootable/bootloader/legacy
Up to higher level directory
NameDateSize
Android.mk10-Oct-2012775
arch_armv6/10-Oct-2012
arch_msm7k/10-Oct-2012
CleanSpec.mk10-Oct-20122.2K
fastboot_protocol.txt10-Oct-20125.8K
include/10-Oct-2012
libboot/10-Oct-2012
libc/10-Oct-2012
nandwrite/10-Oct-2012
README10-Oct-20121.7K
usbloader/10-Oct-2012

README

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