Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

How to boot off SD card

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How to boot off SD card

    For anyone that is interested in booting off SD card for testing purposes it appears that using the pin short method will allow that, it seems that what it does is temporarily disables the eMMC so that ATF BL1 will attempt to load BL2 off something other than eMMC including SD. I didn't find this information explained anywhere else so I tried it out on my own since the use of pin shorting eMMC for bricked devices obviously had to do something interesting. I'm working on updating u-boot to current upstream so needed to figure out how to do that so I wouldn't brick my device. I haven't gotten a full Android boot to work yet, but this is required at minimum to try to boot off something other than eMMC since otherwise BL1 automatically loads BL2 from eMMC.

    Now if I only had a nice soldering setup so I could add a jumper to disable eMMC.

    Without pin short
    Code:
    GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
    TE: 118862
    
    BL2 Built : 19:41:49, Jun 20 2016.
    gxl ge299011 - xiaobo.gu@droid05
    
    set vdd cpu_a to 1120 mv
    set vdd cpu_b to 1050 mv
    set vddee to 1000 mv
    Board ID = 2
    CPU clk: 1200MHz
    DDR3 chl: Rank0+1 @ 912MHz - PASS
    DQS-corr enabled
    DDR scramble enabled
    Rank0: 1024MB(auto)-2T-13
    Rank1: 1024MB(auto)-2T-13
    DataBus test pass!
    AddrBus test pass!
    -s
    Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
    New fip structure!
    Load bl30 from eMMC, src: 0x00010200, des: 0x01100000, size: 0x0000d600
    Load bl31 from eMMC, src: 0x00020200, des: 0x10100000, size: 0x00014400
    Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x000a7600
    NOTICE:  BL3-1: v1.0(debug):c813a61
    NOTICE:  BL3-1: Built : 14:39:44, Jun 16 2016
    aml log : bl31 normal boot !
    [Image: gxl_v1.1.3137-2517a7a 2016-06-24 11:31:11 xing.xu@droid05]
    OPS=0x82
    2b c1 3a 4d 9c 87 d8 6b 3e fe 40 85 [0.363858 Inits done]
    secure task start!
    high task start!
    low task start!
    INFO:    BL3-1: Initializing runtime services
    WARNING: No OPTEE provided by BL2 boot loader
    ERROR:   Error initializing runtime service opteed_fast
    INFO:    BL3-1: Preparing for EL3 exit to normal world
    INFO:    BL3-1: Next image address = 0x1000000
    INFO:    BL3-1: Next image spsr = 0x3c9
    
    
    U-Boot 2015.01 (Aug 02 2016 - 10:30:44)
    With pin short
    Code:
    GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:800;SD:800;USB:8;GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:800;SD:0;READ:0;0.0;CHK:0;
    no sdio debug board detected
    TE: 448718
    
    BL2 Built : 13:48:56, Sep 23 2016.
    gxl g7459bd4 - jianxin.pan@droid06
    
    set vdd cpu_a to 1120 mv
    set vdd cpu_b to 1050 mv
    set vddee to 1000 mv
    Board ID = 2
    CPU clk: 1200MHz
    DQS-corr enabled
    DDR scramble enabled
    DDR3 chl: Rank0 @ 636MHz - PASS
    Rank0: 1024MB(auto)-2T-9
    DataBus test pass!
    AddrBus test pass!
    Load fip header from SD, src: 0x0000c200, des: 0x01400000, size: 0x00004000
    New fip structure!
    Load bl30 from SD, src: 0x00010200, des: 0x01100000, size: 0x0000d600
    Load bl31 from SD, src: 0x00020200, des: 0x10100000, size: 0x00015400
    Load bl33 from SD, src: 0x00038200, des: 0x01000000, size: 0x000aaa00
    NOTICE:  BL3-1: v1.0(debug):3fb6b3e
    NOTICE:  BL3-1: Built : 16:45:24, Sep 21 2016
    aml log : bl31 normal boot !
    [Image: gxl_v1.1.3153-831ee11 2016-09-23 19:09:41 yan.wang@droid05]
    OPS=0x82
    2b c1 3a 4d 9c 87 d8 6b 3e fe 40 85 [0.842956 Inits done]
    secure task start!
    high task start!
    low task start!
    INFO:    BL3-1: Initializing runtime services
    WARNING: No OPTEE provided by BL2 boot loader
    ERROR:   Error initializing runtime service opteed_fast
    INFO:    BL3-1: Preparing for EL3 exit to normal world
    INFO:    BL3-1: Next image address = 0x1000000
    INFO:    BL3-1: Next image spsr = 0x3c9
    
    
    U-Boot 2015.01-gb41fa5d-dirty (Sep 27 2016 - 15:57:15)
    Pin short with no SD / USB just loops
    Code:
    GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:800;SD:800;USB:8;LOOP:1;EMMC:0;READ:800;SD:800;USB:8;

    #2
    It might be possible to even update the BL2/BL3-1 parts of ATF from https://github.com/ARM-software/arm-trusted-firmware/ but I haven't tried that out yet. BL3-3 is u-boot.

    Comment


      #3
      To disable the bootloader with eMMC, you can use the banal erasing loader on eMMC (it is enough to reset one byte, for example the first).
      1. Activate the multi-boot
      2. Start the system from external media SD card
      3. Do a full backup of the internal memory. This will allow at any time to return exactly to the state of the system, what it is at the time of the backup.
      4. Erase the 1 bytes in bootloader in the internal memory. After that, the system will use the boot loader from external media. By the way, if necessary, You can either re-run the system from SD card (on which there is a copy of the memory) and to restore the status of the device. Or you can start the firmware by using a USB cable.
      If You are interested, I can give You links to the finished images system to run from SD card which already has built-in commands for backup and restore of internal storage.

      Comment


        #4
        Originally posted by balbes150 View Post
        To disable the bootloader with eMMC, you can use the banal erasing loader on eMMC (it is enough to reset one byte, for example the first).
        1. Activate the multi-boot
        2. Start the system from external media SD card
        3. Do a full backup of the internal memory. This will allow at any time to return exactly to the state of the system, what it is at the time of the backup.
        4. Erase the 1 bytes in bootloader in the internal memory. After that, the system will use the boot loader from external media. By the way, if necessary, You can either re-run the system from SD card (on which there is a copy of the memory) and to restore the status of the device. Or you can start the firmware by using a USB cable.
        If You are interested, I can give You links to the finished images system to run from SD card which already has built-in commands for backup and restore of internal storage.
        I'm not sure what you mean above wrt activate the multi-boot unless it has something to do with the special boot loader. I would definitely be interested in it.

        Thanks!

        Comment


          #5
          Some details about universal multi-boot. By the way, when you activate it, not broken the possibility of receiving OTA updates. To enable root in the firmware as required. In loader be minimal change in the level of env variables.



          GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.


          If you wish, You can create your own full copy of the system before any experiments. This will return the system exactly to the state that was at the time of copying. For example, before creating and recording his u-boot. Information in the subject, not much outdated, now is Debian\Ubuntu and use WebMin.

          Comment

          Working...
          X