Tuesday, August 12, 2014

Fastboot 설치 및 사용법

Welcome document

Fastboot 설치 및 사용법

fastboot는 디바이스에 u-boot로 부트로더까지만 띄운상태에서 SD 카드를 사용하지않고 디바이스에 내장된 flash memory에 USB를 통해서 바로 kernel과 filesystem등을 삽입하여 부팅하는 Tool이다.
기본적으로 u-boot가 fastboot기능을 포함하고 있지 않는다면 이를 이용할수없다.

1. 설치 방법

$ sudo apt-get install android-tools-fastboot 

또는 android SDK를 설치하는 방법이있다.

http://developer.android.com/sdk/index.html
에서 SDK Tools Only 에서
android-sdk_r22.6.2-linux.tgz 를 다운 받고

$ cd android-sdk-linux/tools 
$ ./android 
(Android SDK Manager 실행  기본적인 사항 Install)

$ cd android-sdk-linux/platform-tools(하면 내부에 fastboot 있다.)

2. 해당 디바이스 등록 방법

$ lsusb (로 Google Inc. 리스트에 나오는지 확인 )

...
Bus 002 Device 059: ID 18d1:4e42 Google Inc. (기기번호를  봐두었다가 )


$ sudo emacs /etc/udev/rules.d/99-android.rules

(아래의 내용을 입력)
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666", OWNER="taeung"

(OWNER 본인의 PC username 쓴다. )

$ sudo service udev restart

$ sudo fastboot devices (이것으로 디바이스 정확히 잡히는지 확인 )

3. 사용법

우선 Target 보드와 host PC가 Uart 시리얼통신을 위한 USB연결은 기본적으로 있어야하고 추가적으로 mircro USB와 연결도 해야한다.

동시에 target보드와 host PC를 제어해야하는 상황인데

우선 target보드에서 u-boot 프롬프트로 진입해서 ‘fast’ 혹은 ‘fastboot’ 를 입력한다.
그리고 대기하면

...
Arndale # fast                                                                                                                              
[Partition table on MoviNAND]                                                                                                               
ptn 0 name='fwbl1' start=0x2 len=N/A (use hard-coded info. (cmd: movi))                                                                     
ptn 1 name='bl2' start=N/A len=N/A (use hard-coded info. (cmd: movi))                                                                       
ptn 2 name='bootloader' start=N/A len=N/A (use hard-coded info. (cmd: movi))                                                                
ptn 3 name='tzsw' start=N/A len=N/A (use hard-coded info. (cmd: movi))                                                                      
ptn 4 name='kernel' start=N/A len=N/A (use hard-coded info. (cmd: movi))                                                                    
ptn 5 name='ramdisk' start=N/A len=0x0(~27262976KB) (use hard-coded info. (cmd: movi))                                                      
ptn 6 name='system' start=0x2 len=0x0(~545259520KB)                                                                                         
ptn 7 name='userdata' start=0x2 len=0x0(~545259520KB)                                                                                       
ptn 8 name='cache' start=0x2 len=0x0(~545259520KB)                                                                                          
ptn 9 name='fat' start=0x2 len=0x0(~979369984KB)                                                                                            
OTG cable Connected! 

위와 같은 로그가 뜨고 대기한다.

그후에 host PC 에서

$ sudo fastboot flash kernel zImage 입력하면서 kernel 삽입하면 

sending 'kernel' (2873 KB)...
OKAY [  0.370s]
writing 'kernel'...
OKAY [  0.096s]
finished. total time: 0.466s

Target 보드에서

Starting download of 2942636 bytes                                                                                                          
..                                                                                                                                          
downloading of 2942636 bytes finished                                                                                                       
flashing 'kernel'                                                                                                                           
writing kernel..device 0 Start 1063, Count 8192                                                                                             
MMC write: dev # 0, block # 1063, count 8192 ... 8192 blocks written: OK                                                                    
completed                                                                                                                                   
partition 'kernel' flashed 

다음과같이 커널을 다운받은것을 확인할수있다.

같은 방법으로 host PC에서

$ sudo fastboot flash system hbt_fs 

파일시스템도 삽입하고나서

$ sudo fastboot reboot 하면 저장된 상태로 리셋 된다.  

No comments:

Post a Comment