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