3. MAC address 설정 Patch (u-boot)
4. dual camera 지원 (커널)
5. dual camera지원, Capture 안되는 문제 수정 (Android)
6. 안드로이드 마켓 포팅
## 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 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 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-jb411-xxx.tgz
tar xf android-jb411-xxx-prebuilts.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
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"