2015년 7월 25일 토요일

How to recovery eMMC for ODROID-XU3/4

Download u-boot binaries from github.

$ git clone https://github.com/codewalkerster/android_device_hardkernel_odroidxu3.git
Cloning into 'android_device_hardkernel_odroidxu3'...
remote: Counting objects: 228, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 228 (delta 6), reused 0 (delta 0), pack-reused 211
Receiving objects: 100% (228/228), 36.68 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (94/94), done.
Checking connectivity... done.

$ cd android_device_hardkernel_odroidxu3/uboot/
$ ls
bl1.bin  bl2.bin  sd_fusing.sh  tzsw.bin  u-boot.bin
$ chmod +x ./sd_fusing.sh 

Prepare microSD and USB reader


$ cd android_device_hardkernel_odroidxu3/uboot/
$ chmod +x ./sd_fusing.sh

Check mounted point.
$ sudo fdisk -l

Fusing u-boot. 

$ sudo ./sd_fusing.sh /dev/sde
/dev/sde reader is identified.
BL1 fusing
30+1 records in
30+1 records out
15616 bytes (16 kB) copied, 0.109455 s, 143 kB/s
BL2 fusing
28+1 records in
28+1 records out
14592 bytes (15 kB) copied, 0.07118 s, 205 kB/s
u-boot fusing
582+1 records in
582+1 records out
298372 bytes (298 kB) copied, 1.02247 s, 292 kB/s
TrustZone S/W fusing
512+0 records in
512+0 records out
262144 bytes (262 kB) copied, 1.0057 s, 261 kB/s
U-boot image is fused successfully.
Eject SD card and insert it again.

Insert microSD card and eMMC. set switch for microSD-boot.


ODROID-XU4

 

ODROID-XU3/XU3-LITE



Connect USB-UART Module Kit and Open serial terminal.

Check last u-boot version.

U-Boot 2012.07-00029-g0e9204d-dirty (Jul 17 2015 - 15:38:42) for Exynos5422     
                                                                                
CPU: Exynos5422 Rev0.1 [Samsung SOC on SMP Platform Base on ARM CortexA7]       
APLL = 800MHz, KPLL = 800MHz                                                    
MPLL = 532MHz, BPLL = 825MHz                                                    
                                                                                
Board: HardKernel ODROID                                                        
DRAM:  2 GiB                                                                    
WARNING: Caches not enabled                                                     
                                                                                
TrustZone Enabled BSP                                                           
BL1 version: �/� �                                                            
VDD_KFC: 0x44                                                                   
LDO19: 0xf2                                                                     
                                                                                
Checking Boot Mode ... SDMMC                                                    
MMC:   S5P_MSHC2: 0, S5P_MSHC0: 1                                               
MMC Device 0: 7.4 GiB                                                           
MMC Device 1: [ERROR] response error : 00000006 cmd 8                           
[ERROR] response error : 00000006 cmd 55                                        
[ERROR] response error : 00000006 cmd 2                                         
*** Warning - bad CRC, using default environment                                
                                                                                
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   No ethernet found.                                                       
Double Press 'Enter' to stop autoboot:  0                                       
Exynos5422 #      



                                                              
Exynos5422 # pri
baudrate=115200
bootargs=fb_x_res=1280 fb_y_res=720 vout=hdmi led_blink=1
bootcmd=    cfgload;    mmc rescan 0:1; mmc rescan 0:2;    if run loadbootscript_1;         then run bootscript;     else        if run loadbootscript_2;           then run bootscript;        else           ;
bootdelay=1
bootscript=source 40008000
copy_uboot_emmc2sd=emmc open 0;movi r z f 0 40000000;emmc close 0;movi w f 1 40000000;emmc open 0;movi r z b 0 40000000;emmc close 0;movi w b 1 40000000;emmc open 0;movi r z u 0 40000000;emmc close 0;movi w ;
copy_uboot_sd2emmc=movi r f 0 40000000;emmc open 1;movi w z f 1 40000000;emmc close 1;movi r b 0 40000000;emmc open 1;movi w z b 1 40000000;emmc close 1;movi r u 0 40000000;emmc open 1;movi w z u 1 40000000;;
default_bootcmd=echo >>> Run Default Bootcmd <<<;movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootz 40008000 41000000
env_erase=mmc write 0 0x40008000 0x4CF 0x20;
loadbootscript_1=echo >>> Load Boot Script from mmc 0:1 <<<;fatload mmc 0:1 40008000 boot.scr
loadbootscript_2=echo >>> Load Boot Script from mmc 0:2 <<<;fatload mmc 0:2 40008000 boot.scr
loadbootscript_3=echo >>> Load Boot Script from mmc 1:1 <<<;fatload mmc 1:1 40008000 boot.scr
loadbootscript_4=echo >>> Load Boot Script from mmc 1:2 <<<;fatload mmc 1:2 40008000 boot.scr
rootfslen= 100000
stderr=serial
stdin=serial
stdout=serial

Environment size: 1657/16380 bytes






Exynos5422 # run copy_uboot_sd2emmc
reading FWBL1 ..device 0 Start 1, Count 30 
MMC read: dev # 0, block # 1, count 30 ... 30 blocks read: OK
completed
eMMC OPEN Success.!!
                        !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
writing FWBL1 ..device 1 Start 0, Count 30 
MMC write: dev # 1, block # 0, count 30 ... 30 blocks write: OK
completed
eMMC CLOSE Success.!!
reading BL2 ..device 0 Start 31, Count 32 
MMC read: dev # 0, block # 31, count 32 ... 32 blocks read: OK
completed
eMMC OPEN Success.!!
                        !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
writing BL2 ..device 1 Start 30, Count 32 
MMC write: dev # 1, block # 30, count 32 ... 32 blocks write: OK
completed
eMMC CLOSE Success.!!
reading bootloader..device 0 Start 63, Count 656 
MMC read: dev # 0, block # 63, count 656 ... 656 blocks read: OK
completed
eMMC OPEN Success.!!
                        !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
writing bootloader..device 1 Start 62, Count 656 
MMC write: dev # 1, block # 62, count 656 ... 656 blocks write: OK
completed
eMMC CLOSE Success.!!
reading 0 TrustZone S/W.. Start 719, Count 512 
MMC read: dev # 0, block # 719, count 512 ... 512 blocks read: OK
completed
eMMC OPEN Success.!!
                        !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
writing 1 TrustZone S/W.. Start 718, Count 512 
MMC write: dev # 1, block # 718, count 512 ... 512 blocks write: OK
completed
eMMC CLOSE Success.!!

MMC write: dev # 1, block # 1231, count 32 ... 32 blocks write: OK
Exynos5422 # 


Download sd to eMMC self installer image.


Recovery u-boot and android automatically.
댓글 쓰기