2014년 7월 11일 금요일

Mango210, CM-V210 Android ICS4.0.4 NAND Boot method





https://drive.google.com/folderview?id=0Bxdf_3fzbUgSNnI5eGJsMjBtRzg&usp=sharing 



커널 확인사항
CONFIG_VIDEO_TV20=y
CONFIG_HDMI_CEC=y
CONFIG_HDMI_HPD=y

안드로이드 확인 사항
"device/crazyboys/mango210/BoardConfig.mk" 파일에 아래 내용이 있어야 합니다.
S5P_BOARD_USES_HDMI := true
ifeq ($(S5P_BOARD_USES_HDMI),true)
BOARD_HDMI_STD := STD_1080P
S5P_BOARD_USES_HDMI_SUBTITLES := true
Endif


소스 이미지를 받습니다.

http://crztech.iptime.org:8080/Release/mango210/android/ics/2014_0325/m210_ics404_nand_boot_image.tgz

소프트 사양
OS : Android Ice Cream Sandwitch 4.0.4
Board : mango210, CM-V210+ CX-V210
LCD : 7" LCD (with press touch)


- How to
$ tar xf m210_ics404_nand_boot_image.tgz
$ cd image

Micro SD card PC에 삽입

[icanjji@icanjji-pc image]$ df
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sda2      1947374844 1571937152 277975584  85% /
udev              2006136          4   2006132   1% /dev
tmpfs              402988       2132    400856   1% /run
none                 5120          0      5120   0% /run/lock
none              2014924         76   2014848   1% /run/shm
/dev/sda1           96880        124     96756   1% /boot/efi
/dev/sdg4          103736       4152     94232   5% /media/6627d2f3-3ec0-70ce-dc9a-4967b533e741
/dev/sdg2          231976     158576     73400  69% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdg3          348264      57828    272460  18% /media/d0eb02fa-3408-a1d4-0da1-796dab7b1748
/dev/sdg1         7070048         48   7070000   1% /media/0000-3333

$ sudo ./sdwriter <device node> 210 bin
ex)$ sudo ./sdwriter sdg 210 bin


Micro SD Card를 Board에 삽입 (SD slot 2)

Boot Switch 변경
Mango210 : 1, 3, 4 ON

CM-V210+ CX-V210 : 2, 3, 6 ON

전원, usb otg cable, 3pin Serial 케이블 연결 후 , 부팅을 합니다.

부팅 후 터미널 프로그램에서
u-boot 실행 되자 마자 아무키나 눌러서 , u-boot 명령창으로 들어갑니다.

소스 이미지를 받습니다.

http://crztech.iptime.org:8080/Release/mango210/android/ics/2014_0325/m210_ics404_nand_boot_image.tgz

소프트 사양
OS : Android Ice Cream Sandwitch 4.0.4
Board : mango210, CM-V210+ CX-V210
LCD : 7" LCD (with press touch)


- How to
$ tar xf m210_ics404_nand_boot_image.tgz
$ cd image

Micro SD card PC에 삽입

[icanjji@icanjji-pc image]$ df
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sda2      1947374844 1571937152 277975584  85% /
udev              2006136          4   2006132   1% /dev
tmpfs              402988       2132    400856   1% /run
none                 5120          0      5120   0% /run/lock
none              2014924         76   2014848   1% /run/shm
/dev/sda1           96880        124     96756   1% /boot/efi
/dev/sdg4          103736       4152     94232   5% /media/6627d2f3-3ec0-70ce-dc9a-4967b533e741
/dev/sdg2          231976     158576     73400  69% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdg3          348264      57828    272460  18% /media/d0eb02fa-3408-a1d4-0da1-796dab7b1748
/dev/sdg1         7070048         48   7070000   1% /media/0000-3333

$ sudo ./sdwriter <device node> 210 bin
ex)$ sudo ./sdwriter sdg 210 bin


Micro SD Card를 Board에 삽입 (SD slot 2)

Boot Switch 변경
Mango210 : 1, 3, 4 ON

CM-V210+ CX-V210 : 2, 3, 6 ON

전원, usb otg cable, 3pin Serial 케이블 연결 후 , 부팅을 합니다.

부팅 후 터미널 프로그램에서

Nand 데이터를 지웁니다.

MANGO210 # nand scrub

NAND scrub: device 0 whole chip
Warning: scrub option will erase all factory set bad blocks!
        There is no reliable way to recover them.
        Use this command only for testing purposes if you
        are sure of what you are doing!

Really scrub this NAND flash? <y/N>
Erasing at 0x0 --   0% complete.
nand0: MTD Erase failure: -5
Erasing at 0x35c0000 --  21% complete.
nand0: MTD Erase failure: -5
Erasing at 0xa8e0000 --  66% complete.
nand0: MTD Erase failure: -5
Erasing at 0xffe0000 -- 100% complete.
Scanning device for bad blocks
OK
“fastboot” 명령 입력

MANGO210 # fastboot
Fastboot: employ default partition information
[Partition table on NAND]
ptn 0 name='bootloader' start=0x0 len=0x100000(~1024KB)
ptn 1 name='kernel' start=0x100000 len=0x500000(~5120KB)
ptn 2 name='ramdisk' start=0x600000 len=0x300000(~3072KB)
ptn 3 name='system' start=0x900000 len=0xA000000(~163840KB) (Yaffs)
ptn 4 name='cache' start=0xA900000 len=0xA00000(~10240KB) (Yaffs)
ptn 5 name='userdata' start=0xB300000 len=N/A (Yaffs)



Linux pc에서 Write 하기
< board <-> mini usb calbe <-> linux pc >

# sudo ./fastboot-linux.sh
Write 이미지 완료 후


보드에서
Boot switch 변경
Mango210 : 1, 2 ON
CM-V210 + CX-V210 : 1, 6 ON

# sudo ./fastboot reboot
또는
리셋 합니다.

# logcat &
D/SecTVOutService( 2158): SecTVOutService instantiate
D/libfimc ( 2158): SecFimc::SecFimc()
D/SecTVOutService( 2158): virtual void android::SecTVOutService::setHdmiStatus(uint32_t) HDMI cable status = 1
D/libfimc ( 2158): SecFimc::create(fimc_dev: 1, fimc_mode: 3, buf_num: 1)
D/libfimc ( 2158): bool SecFimc::create(int, int, unsigned int):: /dev/video1
D/libfimc ( 2158): fimc1 fd = 23

2014년 7월 8일 화요일

09. (ARM, Cortex-M3, STM32F207) Mango-M32F2 Dfuse USB Write 테스트 방법-2014-0709


http://cafe.naver.com/embeddedcrazyboys 
http://www.mangoboard.com/

아래 프로그램을 설치 합니다.

STM 사이트에 가셔서 검색 하시면 됩니다.


STSW-STM32080 으로 검색




버전이 3.0.3 이네요.

설치하면 시작에 아래와 같이 설치 되어 있습니다. (버전마다 틀릴 수 있습니다.)

64bit 운영체제는 Dfusexx_amd64.exe를 설치하면 됩니다.


DFU File Manager -> 우리가 writing 하는 hex 파일을 dfu 파일로 변환하는 툴
DfuSe Demonstration -> USB 로 라이팅 하게 해주는 툴
STDFU Tester -> DFU Test 프로그램


보드에 USB Device에 Mini usb Cable을 연결, 전원 연결 및 인가



MangoF2 아래 사진의 빨간색 박스를 아래로 합니다.



전원을 넣고 USB mini 케이블을 연결 합니다.
장치 관리자에서 범용 직렬 버스 콘트롤러에서 아래와 같이 STM Device in DFU Mode 를 확인합니다.


DFU File Manager를 실행 합니다.



OK를 누릅니다.


빨간 박스를 눌러서 변환하려는 파일을 선택 합니다. (변환하려는 파일이 bin 이면 bin을 눌러야 합니다.)


파일 형식을 hex 로 변경합니다.


파일 선택 후 빨간 박스 Generate 를 누릅니다.


성공하면 아래와 같이 팝업창이 뜹니다.

DfuSe Demonstration 을 실행 합니다. (각 설명은 UM0412.pdf 파일을 참조 합니다.)


빨간 박스 위 Choose를 누릅니다.


변환 했던 파일을 선택 후 열기를 합니다.


아래와 같은 화면을 볼 수 있습니다.


Upgrade 를 누릅니다.


아래 화면을 볼 수 있습니다.


디버그 포트에 디버그 케이블 연결 후 제대로 writing 되었는지 확인 합니다.

보드에 Debug 3핀 케이블을 연결 후 적색 버튼을 위로 올리고, 전원을 인가합니다.


터미널창에서 아래와 같이 디버깅 메시지를 확인 할 수 있습니다.



2014년 6월 23일 월요일

[Exynos4412 Mango220] Android ICS 4.0.4 소스 릴리즈 2014-06-23

http://cafe.naver.com/embeddedcrazyboys
http://www.mangoboard.com/


수정 사항

1. 10.1" LCD 드라이버 포팅
2. 5M, 1.3M , TVP5150 Dual Camera 지원
3. SDMMC, eMMC 부팅 kernel Configuration 추가
4. 이더넷 속도 개선 (SMSC9220) upload:40Mbps, download:70Mbps
5. 카메라 shutt음 촬영 후 나도록 수정
6. Touch AF 추가 (5M)
7. 5M 카메라 센서값 변경
8. 갤러리 앱 2개 표시되는 문제 수정
9. 중국어 키보드 추가
10. default UI Tablet 설정

Source Download: 

How-to

## Mango220 build and boot
# Environment
http://cafe.naver.com/embeddedcrazyboys/22475

#Compile
[ u-boot compile ]

./build_uboot clean
./build_uboot config
./build_uboot

[ kernel compile ]
---------SD/MMC Kernel Config ---------------

#sdmmc boot and 10.1inch cap touch 1280x800 , 5M CAM
./build_kernel clean

./build_kernel defconfig mango220_android_sdmmc_10_1inch_1280_800_mt9p111_5M_CAM_dual_defconfig

./build_kernel

#sdmmc boot and 7inch cap touch 1024x600 , 5M CAM
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_mt9p111_5M_CAM_A_defconfig
[CAM_B] 
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_mt9p111_5M_CAM_B_defconfig
./build_kernel

#sdmmc boot and 7inch cap touch 1024x600 , TVP5150
./build_kernel clean

[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_tvp5150_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_tvp5150_CAM_B_defconfig


./build_kernel


#sdmmc boot and 7inch cap touch 1024x600 , SR130PC10 1.3M 
./build_kernel clean

[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_sr130pc10_1_3M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_sr130pc10_1_3M_CAM_B_defconfig


./build_kernel
  
----------eMMC Kernel Config ----------------------------
#eMMC boot and 10.1inch cap touch 1280x800 , 5M CAM
./build_kernel clean

./build_kernel defconfig mango220_android_emmc_10_1inch_1280_800_mt9p111_5M_CAM_dual_defconfig

./build_kernel

#eMMC boot and 7inch cap touch 1024x600 , 5M CAM
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_mt9p111_5M_CAM_A_defconfig
[CAM_B] 
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_mt9p111_5M_CAM_B_defconfig
./build_kernel

#eMMC boot and 7inch cap touch 1024x600 , TVP5150
./build_kernel clean

[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_tvp5150_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_tvp5150_CAM_B_defconfig


./build_kernel


#eMMC boot and 7inch cap touch 1024x600 , SR130PC10 1.3M 
./build_kernel clean

[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_SR130PC10_1_3M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_SR130PC10_1_3M_CAM_B_defconfig


./build_kernel

[ android compile ]
tar xf android-ics4.0.4-xxx.tgz


[SDMMC boot ]
$ cd android-jb411
$ vi device/crazyboys/mango220/BoardConfig.mk
BOARD_USES_EMMC := false
#BOARD_USES_EMMC := true

수정 후 컴파일 

[EMMC boot ]
$ cd android-jb411
$ vi device/crazyboys/mango220/BoardConfig.mk
#BOARD_USES_EMMC := false
BOARD_USES_EMMC := true

수정 후 컴파일 

How to compile

./build_android.sh


#SD Boot 최초 한번 
SD card를 linux pc에 삽입
#df 
명령으로 디바이스 확인
# cd image
#How To Fusing
$ dmesg | tail
[12403.632015] usb 2-5: new high-speed USB device number 25 using ehci_hcd
[12403.856263] hub 2-0:1.0: unable to enumerate USB device on port 5
[12483.752014] usb 2-5: new high-speed USB device number 26 using ehci_hcd
[12483.976252] hub 2-0:1.0: unable to enumerate USB device on port 5
[12513.801490] sd 9:0:0:0: [sdd] 15644672 512-byte logical blocks: (8.01 GB/7.45 GiB)
[12513.802983] sd 9:0:0:0: [sdd] No Caching mode page present
[12513.802986] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[12513.807109] sd 9:0:0:0: [sdd] No Caching mode page present
[12513.807113] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[12513.808249]  sdd: sdd1 sdd2 sdd3 sdd4

#image 
[SDMMC image Write]
$ cp sdmmc-image/* .
$ cp zImage-sdmmc-xxx zImage


sudo ./sdwriter sdd 220 bin

#Boot mode
SD CH2  : Off[1], ON, Off, Off, Off, Off[6]
eMMC CH4: Off[1], Off, On, Off, On, Off[6]




[Linux host pc ubuntu 12.0.4 ] 
[icanjji@icanjji-pc image]$ lsusb 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 05e3:0716 Genesys Logic, Inc. USB 2.0 Multislot Card Reader/Writer
Bus 002 Device 005: ID 18d1:0002 Google Inc. 

Mango220 <-> usb otg <-> Linux PC 연결 후 

"lsusb" 명령으로 드라이버 인식을 확인 합니다. 

[SD/MMC and eMMC fusing command ]
## 8GB 
fdisk -c 0 500 1000 300
fatformat mmc 0:1
fastboot

## Host PC 
sudo ./fastboot flash fwbl1 E4412_S.bl1.SMDK.MR3.bin
sudo ./fastboot flash bl2 E4412_S.bl2.SMDK.MR3.bin.signed
sudo ./fastboot flash bootloader u-boot.bin
sudo ./fastboot flash tzsw E4412_S.tzsw.SMDK.MR3.bin.signed

sudo ./fastboot flash kernel zImage
sudo ./fastboot flash ramdisk ramdisk-uboot.img
sudo ./fastboot -w
sudo ./fastboot flash system system.img


sudo ./fastboot flash kernel zImage;sudo ./fastboot flash ramdisk ramdisk-uboot.img;sudo ./fastboot -w;sudo ./fastboot flash system system.img

[env]
setenv bootcmd "movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"




## Window PC only

드라이버 설치 image 디렉토리 )

adb_usb_driver 디렉토리 
mango220-how-to-adb-driver.pdf

[eMMC only start ]
Boot switch : 3, 5 ON
SD/MMC card insert
## u-boot

emmc partition 0 1 0
mmc erase boot 0 0 0; mmc erase user 0 0 0
[eMMC only end ]


[SD/MMC and eMMC fusing command ]
## 8GB 
fdisk -c 0 500 1000 300
fatformat mmc 0:1
fastboot


image 디렉토리에서 dos command 실행

## Host PC 
fastboot flash fwbl1 E4412_S.bl1.SMDK.MR3.bin
fastboot flash bl2 E4412_S.bl2.SMDK.MR3.bin.signed
fastboot flash bootloader u-boot.bin
fastboot flash tzsw E4412_S.tzsw.SMDK.MR3.bin.signed

fastboot flash kernel zImage
fastboot flash ramdisk ramdisk-uboot.img
fastboot -w
fastboot flash system system.img




# u-boot ethernet 

eth1addr 변수를 꼭 지정하고 해야합니다.
ex) setenv eth1addr 00:40:5c:26:0a:5c

인터페이스는 다음과 같이 선택합니다.
0번 포트 선택: setenv ethact smc911x-0

## fusing via tftp 
[ u-boot ip ]
setenv ipaddr 192.168.3.20; setenv serverip 192.168.3.9; setenv gatewayip 192.168.3.1; setenv netmask 255.255.255.0

[ bootloader fusing ]
==> set boot mode to eMMC CH0
tftp 41000000 E4412_S.bl1.SMDK.MR3.bin; emmc open 0; movi write zero fwbl1 0 41000000; emmc close 0
tftp 41000000 E4412_S.bl2.SMDK.MR3.bin.signed; emmc open 0; movi write zero bl2 0 41000000; emmc close 0
tftp 41000000 u-boot.bin; emmc open 0; movi write zero u-boot 0 41000000; emmc close 0
tftp 42000000 E4412_S.tzsw.SMDK.MR3.bin.signed; emmc open 0; movi write zero tzsw 0 42000000; emmc close 0

[ Kernel fusing ]
tftp 41000000 zImage; movi write kernel 0 41000000


[tftp boot]
setenv bootcmd "tftp  40008000 zImage ;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"

[ SD Env ]
setenv bootcmd "movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"

2014년 6월 20일 금요일

Mango210 Android ICS 4.0.4 Relase 20140325


http://cafe.naver.com/embeddedcrazyboys
http://www.mangoboard.com/
소스 다운로드 :

수정내용:

1.usb storage 관련 patch  
2.기본 언어 한국어로 변경 
3. usb to 이더넷 드라이버 포팅 
4. USB host reboot 명령으로 부팅 시 host 인식 에러 발생 patch
5. DPI 160으로 적용
6. nand booting 메뉴얼 작성 patch 
7. mmc booting 메뉴얼 작성 및 patch
8. usb mouse 우측키 클릭 시 back 키가 안되는 문제 patch
9. 7인치 감압식 LCD Developer Guide
10. 7인치 정전식 LCD  Developer Guide
11. 10.1인치 정전식 LCD  Developer Guide 
12. 5M MT9P111 Camera Developer Guide
13. 1.3M  SR130PC10 Camera Developer Guide
14. TVP5150 TV 인코더 Developer Guide

문서 링크 : 

##u-boot build
cd uboot
Nand에 Write할때와 sd/mmc에 Write할 경우 설정을 변경 후 컴파일을 해야 합니다. 

include/configs/mango210.h파일에서 
- NAND Write 시 
#define CFG_FASTBOOT_NANDBSP
//#define CFG_FASTBOOT_SDMMCBSP

- SD/MMC Write 시 
//#define CFG_FASTBOOT_NANDBSP
#define CFG_FASTBOOT_SDMMCBSP
수정 후 컴파일 

$ ./build_uboot


## kernel build

## 7inch 1024x600 cap touch ft5x06
$ ./build_kernel defconfig mango210_ICS404_mrvl8787_ft5x06_defconfig
$ ./build_kernel

이전 모델 인 경우 
## 7inch 1024x600 cap touch HX8526
$ ./build_kernel defconfig mango210_ICS404_mrvl8787_HX8526_defconfig
$ ./build_kernel


## 7inch 800x480 LCD, Camera 1.3M sr130pc10, nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_800x480_1.3M_defconfig
$ ./build_kernel

## 7inch 800x480 LCD, Camera 5M MT9P111, nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_800x480_1.3M_defconfig
$ ./build_kernel

## 7inch 800x480 LCD, TVP5150 , nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_800x480_1.3M_defconfig
$ ./build_kernel



## 7inch 1024x600 LCD, Camera 1.3M sr130pc10, nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_1024x600_ft5x06_1.3M_defconfig
$ ./build_kernel

## 7inch 1024x600 LCD, Camera 5M MT9P111, nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_1024x600_ft5x06_5M_defconfig
$ ./build_kernel

## 7inch 1024x600 LCD, TVP5150 , nand256MB
$ ./build_kernel defconfig mango210_7inch_nand256MB_1024x600_ft5x06_tvp5150_defconfig
$ ./build_kernel


## 10.1inch 1280x800 LCD, Camera 1.3M sr130pc10, nand256MB
$ ./build_kernel defconfig mango210_10_1inch_nand256MB_1.3M_defconfig
$ ./build_kernel

## 10.1inch 1280x800 LCD, Camera 5M MT9P111, nand256MB
$ ./build_kernel defconfig mango210_10.1inch_nand256MB_5M_defconfig
$ ./build_kernel

## 10.1inch 1280x800 LCD, TVP5150, nand256MB 
$ ./build_kernel defconfig mango210_10.1inch_nand256MB_tvp5150_defconfig
$ ./build_kernel

위와 같이 커널에서 빌드 커널하거나, image에 copy해둔 zImage를 사용하셔도 됩니다.
zImage_1024x600_1.3M*
zImage_1024x600_5M*
zImage_1024x600_tvp5150*
zImage_1280_800*
zImage_1280_800_1.3M*
zImage_1280_800_5M*
zImage_1280_800_tvp5150*
zImage_800x480*
zImage_800x480_1.3M*
zImage_800x480_5M*
zImage_800x480_tvp5150*

nand boot 시 컴파일 

## kernel build

## 7inch 800x480 LCD
$ ./build_kernel defconfig mango210_7inch_nand256MB_wifi8787_defconfig
$ ./build_kernel

##android 갑압식
- BoardConfig.mk (/android/device/crazyboys/mango210)
BOARD_PRESS_TOUCH :=true

##android 정전식
- BoardConfig.mk (/android/device/crazyboys/mango210)
BOARD_PRESS_TOUCH :=false

갑압식 정전식에 따라 위와 같이 수정을 후 ./android_build.sh

## android nand build

- BoardConfig.mk 
TARGET_USERIMAGES_USE_EXT4 := false

- init.rc
on fs
# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    mount yaffs2 mtd@system /system
    mount yaffs2 mtd@system /system rw remount
    mount yaffs2 mtd@userdata /data  nosuid nodev
    mount yaffs2 mtd@cache /cache  nosuid nodev

- init.mango210.rc 파일에 
# mount ext4 partitions
#   mount ext4 /dev/block/mmcblk0p2 /system wait rw
#   mount ext4 /dev/block/mmcblk0p3 /data wait rw noatime nosuid nodev
#   mount ext4 /dev/block/mmcblk0p4 /cache wait rw noatime nosuid nodev

위와 같이 수정이 되어 있어야 함. 

## android mmc booting build

- BoardConfig.mk 
TARGET_USERIMAGES_USE_EXT4 := true

- init.rc
on fs
# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
#    mount yaffs2 mtd@system /system
#    mount yaffs2 mtd@system /system rw remount
#    mount yaffs2 mtd@userdata /data  nosuid nodev
#    mount yaffs2 mtd@cache /cache  nosuid nodev

- init.mango210.rc 

 mount ext4 partitions
   mount ext4 /dev/block/mmcblk0p2 /system wait rw
   mount ext4 /dev/block/mmcblk0p3 /data wait rw noatime nosuid nodev
   mount ext4 /dev/block/mmcblk0p4 /cache wait rw noatime nosuid nodev
   
## Android ICS Build
$tar xf xxxx_ics404_prebuilt.tgz
# android 디렉토리가 생성되고, android 디렉토리 안에 prebuilt 디렉토리 생성됨
$tar xf xxxx_ics404.tgz
$ cd android
$ ./android_build.sh

 
5번  선택

$ ./android_build.sh

$ cp out/target/product/smdkv210/ramdisk-uboot.img ../image
$ cp out/target/product/smdkv210/system.img ../image



## NAND booting 시 How to 
sd card Linux Host PC 삽입

[root@crzubntu image]# df
파일시스템           1K-블럭 사용됨 사용가능 사용% 마운트 됨
/dev/sda1             37486120   4995552  30586340  15% /
none                   2009524       376   2009148   1% /dev
none                   2013752       164   2013588   1% /dev/shm
none                   2013752       332   2013420   1% /var/run
none                   2013752         0   2013752   0% /var/lock
none                   2013752         0   2013752   0% /lib/init/rw
/dev/sda5            576740904    276112 547168000   1% /home
192.168.0.113:/home/icanjji/work
                     1746752512 527285248 1132045312  32% /media/113
/dev/sdb1              7019508        48   7019460   1% /media/0000-3333
/dev/sdb2               231808    147592     84216  64% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdb4               103328      4152     93844   5% /media/5e0b575b-8a69-f635-ef85-219453a24cf2
/dev/sdb3               354284     58268    277728  18% /media/f7442953-22a3-55b1-87bf-bacdb21de52b

$ sudo  ./sdwriter sdb 210 bin

보드에 삽입 후 부팅
Mango210 Board : SD Boot ( 1,3,4 ON) 
CM-V210 : SD Boot ( 2,3,6 ON )

after boot u-boot 

MANGO210 # fdisk -c 0; fatformat mmc 0:1;fastboot

Host PC Linux 
fastboot flash kernel zImage ;  fastboot flash system system.img; fastboot flash ramdisk ramdisk-uboot.img ;  fastboot -w 

$ sudo fastboot flash kernel zImage ; sudo fastboot flash system system.img; sudo fastboot flash ramdisk ramdisk-uboot.img ; sudo fastboot -w 


#set u-boot 
setenv bootcmd 'movi read kernel 20008000; movi read rootfs 21000000 300000;bootm 20008000 21000000'
setenv bootargs 'console=ttySAC1,115200'


## SD/MMC 부팅 시 
sd card Linux Host PC 삽입

[root@crzubntu image]# df
파일시스템           1K-블럭 사용됨 사용가능 사용% 마운트 됨
/dev/sda1             37486120   4995552  30586340  15% /
none                   2009524       376   2009148   1% /dev
none                   2013752       164   2013588   1% /dev/shm
none                   2013752       332   2013420   1% /var/run
none                   2013752         0   2013752   0% /var/lock
none                   2013752         0   2013752   0% /lib/init/rw
/dev/sda5            576740904    276112 547168000   1% /home
192.168.0.113:/home/icanjji/work
                     1746752512 527285248 1132045312  32% /media/113
/dev/sdb1              7019508        48   7019460   1% /media/0000-3333
/dev/sdb2               231808    147592     84216  64% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdb4               103328      4152     93844   5% /media/5e0b575b-8a69-f635-ef85-219453a24cf2
/dev/sdb3               354284     58268    277728  18% /media/f7442953-22a3-55b1-87bf-bacdb21de52b

$ sudo  ./sdwriter sdb 210 

보드에 삽입 후 부팅
Mango210 Board : SD Boot ( 1,3,4 ON) 
CM-V210 : SD Boot ( 2,3,6 ON )