Raspberry Pi Model B+ | Raspberry Pi Model A+ | ODROID-W | |
SoC | Broadcom BCM2835 ARM11 processor @ 700MHz with VideoCore IV GPU | ||
System Memory | 512 MB (PoP) | 256 MB (PoP) | 512 MB (PoP) |
Storage | micro SD card slot | micro SD card slot eMMC module socket | |
AV Output | HDMI and 3.5 mm AV jack | HDMI | |
Connectivity | 10/100M Ethernet | N/A | |
USB | 4x USB 2.0 host port + micro USB port | 1x USB 2.0 host port + micro USB port | 1x USB 2.0 host port + micro USB port |
Expansion | 40-pin header for GPIO CSI interface DSI interface | 40-pin header for GPIO CSI interface | |
Power | 5V via micro USB port | ||
Power Consumption | 600 mA to 1.8 A @ 5V | TBD but lower | 150 mA to 1.8 A @ 5V |
Dimensions | 85 x 56 mm | 65 x 56 mm | 60 x 36 mm |
Price | $35 | $20 | $30 |
PMIC | N/A | Ricoh RC5T619 includes DCDCs, LDOs, ADCs, RTC, Battery charger and Fuel gauge | |
RTC power | N/A | Backup battery connector (Molex 53398-0271) |
2014년 11월 11일 화요일
ODROID-W vs Raspberry Pi A+ vs Raspberry Pi B+
2014년 10월 2일 목요일
How to make Installer for ODROID-XU3
Insert microSD/eMMC to PC.
Check media node name.
$ sudo fdisk -l
Fill zero data to media.
$ sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1024000
Run Gparted.
menu -> Device -> Create Partition Table...
Check media node name.
$ sudo fdisk -l
Fill zero data to media.
$ sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1024000
Run Gparted.
menu -> Device -> Create Partition Table...
menu -> Partition -> New
Free space preceding (MiB) 100
New size (MiB): 400
File system: fat32
Apply All Operations
fuse u-boot binaries for SD media.
$ cd device/hardkernel/odroidxu3/uboot
$ sudo sh sd_fusing.sd /dev/sdX
mount fat32 partition.
copy bl1.bin, bl2.bin, tzsw.bin, u-boot.bin files to mounted partition.
$ cd out/target/product/odroidxu3/update/
copy zImage-dtb, system.img, userdata.img, cache.ing to mounted partition.
copy boot.ini file too.
sync and umount.
dump image.
$ sudo dd if=/dev/sdX of=./sd_installer.img bs=512 count=1024000
Extract img file and make checksum by md5sum.
2014년 7월 30일 수요일
build ODROID-U3(Kitkat) on Ubuntu 14.04
build ODROID-U3(Kitkat) on Ubuntu 14.04
# Download and install Ubuntu 14.04 LTS
http://www.ubuntu.com/download/desktop/# Install packages
http://source.android.com/source/initializing.html$ sudo apt-get update
$ sudo apt-get install git gnupg flex bison gperf zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo apt-get install build-essential g++-multilib
$ sudo add-apt-repository "deb http://ftp.debian.org/debian squeeze main contrib non-free"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
# Setup serial terminal
Install minicom
$ sudo apt-get install minicom
$ sudo minicom -s
Setup Serail port
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
=================================================================
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
=================================================================
Save setup as dfl
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
fix permission
$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 7월 29 12:30 ttyUSB0
minicom: Cannot open /dev/ttyUSB0: Permission denied
Just add your user to the dialout group so you have appropriate permissions on the device.
$ sudo usermod -a -G dialout [username]logout.
# Install fastboot and adb
$ sudo apt-get install android-tools-adb android-tools-fastboot
or download android sdk.
$ unzip adt-bundle-linux-x86_64-20140702.zip
$ mv adt-bundle-linux-x86_64-20140702 ~
$ vi ~/.bashrc
export PATH=$PATH:/home/odroid/adt-bundle-linux-x86_64-20140702/sdk/platform-tools
make 99-android.rules
$ sudo vi /etc/udev/rules.d/99-android.rules
# Hardkernel Odroid MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0002", MODE="0666" # MTP media
$ sudo apt-get install android-tools-adb android-tools-fastbootor download android sdk.
$ mv adt-bundle-linux-x86_64-20140702 ~
$ vi ~/.bashrc
make 99-android.rules
$ sudo vi /etc/udev/rules.d/99-android.rules
# Hardkernel Odroid MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0002", MODE="0666" # MTP media
# Install cross compiler
http://www.mdrjr.net/odroid/toots/arm-2010q1.tar.xz
or
http://dn.odroid.com/toolchains/arm-2010q1.tar.xz
or
http://dn.odroid.com/toolchains/arm-2010q1.tar.xz
$ unxz arm-2010q1.tar.xzadd this lines.
$ tar xvf arm-2010q1.tar
$ sudo mkdir /opt/toolchains
$ sudo mv arm-2010q1 /opt/toolchains/
$ vi ~/.bashrc
export PATH=$PATH:/home/odroid/adt-bundle-linux-x86_64-20140702/sdk/platform-tools:/opt/toolchains/arm-2010q1/bin
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
$ source ~/.bashrc
$ $ arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Download source
sign up https://github.com/
$ git config --global user.email xxx@xxx.xxx
$ git config --global user.name xxx
kernel
$ git clone https://github.com/hardkernel/linux.git -b odroid-3.0.y-android
android
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ./repo
$ sudo cp repo /usr/bin
$ sudo chmod a+x ~/bin/repo
$ repo init -u https://github.com/hardkernel/android.git -b 4412_4.4.4_master
$ repo sync
# Build kernel
ODROID-U3 kernel
$ make odroidu_android_442_defconfig
$ make -j8
connect UART-USB module kit and micro USB cable
open minicom
$ minicom
keep typing the space bar in the minicom.
apply power.
entry to uboot mode.
U-Boot 2010.12-svn (May 12 2014 - 15:05:46) for Exynox4412
CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
APLL = 1000MHz, MPLL = 880MHz
DRAM: 2 GiB
PMIC VERSION : 0x00, CHIP REV : 3
TrustZone Enabled BSP
BL1 version: 20121128
Checking Boot Mode ... EMMC4.41
REVISION: 2.0
Manufacture ID 0x45 [ 29820MB ]
NAME: S5P_MSHC4
MMC Device 0: 29820 MB
MMC Device 1: 0 MB
MMC Device 2 not found
USB3503 NINT = OUTPUT LOW!
ModeKey Check... run normal_boot
No ethernet found.
Hit any key to stop autoboot: 0
Exynos4412 #
format disk
Exynos4412 # fdisk -c 0
Count: 10000
NAME: S5P_MSHC4
fdisk is completed
partion # size(MB) block start # block count partition_Id
1 4110 6702223 8418828 0x0C
2 1027 134343 2104707 0x83
3 2048 2239050 4194487 0x83
4 131 6433537 268686 0x83
2 -> system partition
3 -> userdate partition
4 -> cache partition
Exynos4412 # fastboot
[Partition table on MoviNAND]
ptn 0 name='fwbl1' start=0x1 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(~16777216KB) (use hard-coded info. (cmd:)
ptn 6 name='system' start=0x1 len=0x0(~1073741824KB)
ptn 7 name='userdata' start=0x1 len=0x0(~-2147483648KB)
ptn 8 name='cache' start=0x1 len=0x0(~134217728KB)
ptn 9 name='fat' start=0x1 len=0x0(~2009071616KB)
Insert a OTG cable into the connector!
run fastboot
$ fastboot flash kernel arch/arm/boot/zImage
sending 'kernel' (3401 KB)...
OKAY [ 0.559s]
writing 'kernel'...
OKAY [ 0.385s]
finished. total time: 0.944s
write to success
Insert a OTG cable into the connector!
OTG cable Connected!
Starting download of 3482864 bytes
...
downloading of 3482864 bytes finished
flashing 'kernel'
writing kernel..device 0 Start 2455, Count 16384
MMC write: dev # 0, block # 2455, count 16384 ... 16384 blocks written: OK
completed
partition 'kernel' flashed
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7 | VT102 | Offline | ttyUSB0
# Build android
ODROID-U3 Android-4.4.4 (kitkat)
$ ./build_android odroidu
$ ./build_android.sh odroidu
Build android for odroidu
including device/generic/mips/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/sscr/sc1_dvt1/vendorsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/lge/hammerhead/vendorsetup.sh
including device/hardkernel/odroidx/vendorsetup.sh
including device/hardkernel/odroidu/vendorsetup.sh
including device/hardkernel/odroidx2/vendorsetup.sh
including sdk/bash_completion/adb.bash
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.4
TARGET_PRODUCT=odroidu
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-32-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=KTU84Q
OUT_DIR=out
============================================
[[[[[[[ Build android platform ]]]]]]]
make -j1 PRODUCT-odroidu-eng
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.4
TARGET_PRODUCT=odroidu
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-32-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=KTU84Q
OUT_DIR=out
============================================
Checking build tools versions...
including ./art/Android.mk ...
including ./bionic/Android.mk ...
including ./bootable/diskinstaller
including ./abi/cpp/Android.mk ...
write images
$ fastboot flash system out/target/product/odroidu/system.img
$ fastboot flash userdate out/target/product/odroidu/userdate.img
$ fastboot flash cache out/target/product/odroidu/cache.img
$ fastboot reboot
# Fusing uboot
fusing micro SD
Insert micro SD to PC
$ sudo fdisk -l
Disk /dev/sdd: 4072 MB, 4072669184 bytes
36 heads, 52 sectors/track, 4249 cylinders, total 7954432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d2157
Device Boot Start End Blocks Id System
/dev/sdd1 2048 7954431 3976192 b W95 FAT32
$ cd device/hardkernel/proprietary/uboot_4412
$ sudo sh ./sd_fusing_4412.sh /dev/sdd
fusing eMMC
boot from microSD
connect eMMC
Exynos4412 # movi init 1
emmc reset...
REVISION: 2.0
Manufacturer TOSHIBA [ 7456MB ]
NAME: S5P_MSHC4
Device: S5P_MSHC4
Manufacturer ID: 11
OEM: 100
Name: 008G9
Tran Speed: 0
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Size: 0MB (block: 7456)
Bus Width: 8-bit DDR
Boot Partition Size: 4096 KB
Exynos4412 #
Exynos4412 # pri
baudrate=115200
bootargs=fb_x_res=1280 fb_y_res=720 hdmi_phy_res=720
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 run default_bootcmd; f
bootdelay=1
bootscript=source 40008000
cfg_file_name=boot.ini
cfg_load_base_mem=41000000
cfg_load_device=0
cfg_load_partition=1
cfg_load_partition_type=fat
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 u 1 ;
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;emmc;
default_bootcmd=echo >>> Run Default Bootcmd <<<;movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000
erase_uboot_env=mmc write 0 0x40008000 0x977 0x20;
ethaddr=00:40:5c:26:0a:5b
extra_arg_0=0
extra_arg_1=0
extra_arg_2=0
extra_arg_3=0
gatewayip=192.168.0.1
ipaddr=192.168.0.20
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
netmask=255.255.255.0
serverip=192.168.0.10
usb_invert_clken=0
Environment size: 1706/16380 bytes
Exynos4412 #
Exynos4412 # 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 written: 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 written: OK
completed
eMMC CLOSE Success.!!
reading bootloader..device 0 Start 63, Count 2048
MMC read: dev # 0, block # 63, count 2048 ... 2048 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 2048
MMC write: dev # 1, block # 62, count 2048 ... 2048 blocks written: OK
completed
eMMC CLOSE Success.!!
reading 0 TrustZone S/W.. Start 2111, Count 312
MMC read: dev # 0, block # 2111, count 312 ... 312 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 2110, Count 312
MMC write: dev # 1, block # 2110, count 312 ... 312 blocks written: OK
completed
eMMC CLOSE Success.!!
MMC write: dev # 1, block # 2423, count 32 ... 32 blocks written: OK
Exynos4412 #
emmc reset...
REVISION: 2.0
Manufacturer TOSHIBA [ 7456MB ]
NAME: S5P_MSHC4
Device: S5P_MSHC4
Manufacturer ID: 11
OEM: 100
Name: 008G9
Tran Speed: 0
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Size: 0MB (block: 7456)
Bus Width: 8-bit DDR
Boot Partition Size: 4096 KB
Exynos4412 #
Exynos4412 # pri
baudrate=115200
bootargs=fb_x_res=1280 fb_y_res=720 hdmi_phy_res=720
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 run default_bootcmd; f
bootdelay=1
bootscript=source 40008000
cfg_file_name=boot.ini
cfg_load_base_mem=41000000
cfg_load_device=0
cfg_load_partition=1
cfg_load_partition_type=fat
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 u 1 ;
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;emmc;
default_bootcmd=echo >>> Run Default Bootcmd <<<;movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000
erase_uboot_env=mmc write 0 0x40008000 0x977 0x20;
ethaddr=00:40:5c:26:0a:5b
extra_arg_0=0
extra_arg_1=0
extra_arg_2=0
extra_arg_3=0
gatewayip=192.168.0.1
ipaddr=192.168.0.20
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
netmask=255.255.255.0
serverip=192.168.0.10
usb_invert_clken=0
Environment size: 1706/16380 bytes
Exynos4412 #
Exynos4412 # 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 written: 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 written: OK
completed
eMMC CLOSE Success.!!
reading bootloader..device 0 Start 63, Count 2048
MMC read: dev # 0, block # 63, count 2048 ... 2048 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 2048
MMC write: dev # 1, block # 62, count 2048 ... 2048 blocks written: OK
completed
eMMC CLOSE Success.!!
reading 0 TrustZone S/W.. Start 2111, Count 312
MMC read: dev # 0, block # 2111, count 312 ... 312 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 2110, Count 312
MMC write: dev # 1, block # 2110, count 312 ... 312 blocks written: OK
completed
eMMC CLOSE Success.!!
MMC write: dev # 1, block # 2423, count 32 ... 32 blocks written: OK
Exynos4412 #
2014년 6월 27일 금요일
Optimized settings for Low DPI
Resolution : 1280 x 720
HDMI : 720P
ro.sf.lcd_density : 180
Resolution : 640 x 480
HDMI : 480P
ro.sf.lcd_density : 120change resolution
# vi /sdcard/boot.ini
ODROID4412-UBOOT-CONFIG
setenv v_out "hdmi"
setenv fake_fb "true"
setenv fb_x_res "640"
setenv fb_y_res "480"
setenv hdmi_phy_res "480"
setenv led_blink "1"
setenv bootcmd "movi read kernel 0 40008000;movi read rootfs 0 41000000 100
setenv bootargs "console=/dev/ttySAC1,115200n8 androidboot.console=ttySAC1 v
boot
# su
$ mount -o rw,remount /
$ vi /build.prop
ro.sf.lcd_density=180 <- fix
2014년 6월 19일 목요일
How to fake a Wi-Fi or 3G connected event on Android
http://stackoverflow.com/questions/17876259/how-to-fake-a-wi-fi-or-3g-connected-event-on-android
Xposed Framework and Hack Connectivity app link
https://drive.google.com/folderview?id=0B5aZmgmqP9rORThtS21lcVo5X0U&usp=sharing
1. Xposed framework app 설치
3. Hack connectivity app 설치
4. Xposed framework 기동하여 Module 메뉴에서 Hack connectivity 활성화
7. BenchBee 동작
Xposed Framework and Hack Connectivity app link
https://drive.google.com/folderview?id=0B5aZmgmqP9rORThtS21lcVo5X0U&usp=sharing
1. Xposed framework app 설치
2. Framework install 후 rebooting
4. Xposed framework 기동하여 Module 메뉴에서 Hack connectivity 활성화
5. reboot
6. Hack connectiviy app 기동하고 Wifi
2014년 3월 14일 금요일
How to write zImage via dd command.
write zImage via fastboot flash kernel ./zImage
ODROID-U2/U3/X/X2/Q/Q2
downloading of 3481036 bytes finished
flashing 'kernel'
writing kernel..device 0 Start 2455, Count 16384
MMC write: dev # 0, block # 2455, count 16384 ... 16384 blocks written: OK
completed
partition 'kernel' flashed
resetting ...
reset...
kernel start sector 2455
ODROID-XU
Exynos5410 # fastboot
there are pending interrupts 0x00000001
[Partition table on MoviNAND]
ptn 0 name='fwbl1' start=0x8 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=0x4000(~16777216KB) (use hard-coded info. (c)
ptn 6 name='system' start=0x4000000 len=0x100000(~1073741824KB)
ptn 7 name='userdata' start=0x44000000 len=0x200000(~-2147483648KB)
ptn 8 name='cache' start=0xC4000000 len=0x40000(~268435456KB)
ptn 9 name='fat' start=0xD4000000 len=0xB4D000(~-750780416KB)
USB cable Connected![0x4]
..
downloading of 5440448 bytes finished
flashing 'kernel'
writing kernel..device 0 Start 1263, Count 16384
MMC write: dev # 0, block # 1263, count 16384 ... 16384 blocks write: OK
completed
partition 'kernel' flashed
kernel start sector 1263
If you want to update kernel. run terminal emulator app.
1|root@android:/sdcard/update # dd if=./zImage of=/dev/block/mmcblk0 seek=2455
6797+1 records in
6797+1 records out
3480080 bytes transferred in 1.017 secs (3421907 bytes/sec)
root@android:/sdcard/update #
check your kernel wrote via dd.
root@android:/ # uname -a
Linux localhost 3.0.51 #1 SMP Tue Feb 18 10:52:27 KST 2014 armv7l GNU/Linux
root@android:/ #
ODROID-U2/U3/X/X2/Q/Q2
downloading of 3481036 bytes finished
flashing 'kernel'
writing kernel..device 0 Start 2455, Count 16384
MMC write: dev # 0, block # 2455, count 16384 ... 16384 blocks written: OK
completed
partition 'kernel' flashed
resetting ...
reset...
kernel start sector 2455
ODROID-XU
Exynos5410 # fastboot
there are pending interrupts 0x00000001
[Partition table on MoviNAND]
ptn 0 name='fwbl1' start=0x8 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=0x4000(~16777216KB) (use hard-coded info. (c)
ptn 6 name='system' start=0x4000000 len=0x100000(~1073741824KB)
ptn 7 name='userdata' start=0x44000000 len=0x200000(~-2147483648KB)
ptn 8 name='cache' start=0xC4000000 len=0x40000(~268435456KB)
ptn 9 name='fat' start=0xD4000000 len=0xB4D000(~-750780416KB)
USB cable Connected![0x4]
..
downloading of 5440448 bytes finished
flashing 'kernel'
writing kernel..device 0 Start 1263, Count 16384
MMC write: dev # 0, block # 1263, count 16384 ... 16384 blocks write: OK
completed
partition 'kernel' flashed
kernel start sector 1263
If you want to update kernel. run terminal emulator app.
1|root@android:/sdcard/update # dd if=./zImage of=/dev/block/mmcblk0 seek=2455
6797+1 records in
6797+1 records out
3480080 bytes transferred in 1.017 secs (3421907 bytes/sec)
root@android:/sdcard/update #
check your kernel wrote via dd.
root@android:/ # uname -a
Linux localhost 3.0.51 #1 SMP Tue Feb 18 10:52:27 KST 2014 armv7l GNU/Linux
root@android:/ #
2014년 3월 11일 화요일
dual booting android and Ubuntu on ODROID-U3
Modify the Android source code to work with MTP.
Android 4.1.2Android Base source
http://dn.odroid.com/4412/Android/4.1.2_Jan-27-2014/BSP/
Last patch
http://dn.odroid.com/4412/Android/4.1.2_Mar-26-2014/BSP/
Download odroidu.zip
https://www.dropbox.com/s/lc981iwno5kth7a/odroidu.zip
unzip and overwrite device/hardkernel/odroidu/ folder
and edit package/app/Utility because MTP android is changed vfat path.
$ svn diff packages/apps/Utility/
Index: packages/apps/Utility/src/com/hardkernel/odroid/MainActivity.java
===================================================================
--- packages/apps/Utility/src/com/hardkernel/odroid/MainActivity.java (리비전 2163)
+++ packages/apps/Utility/src/com/hardkernel/odroid/MainActivity.java (작업 사본)
@@ -20,6 +20,7 @@
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
+import android.os.Environment;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
@@ -44,7 +45,7 @@
public final static String MIN_FREQ_NODE = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq";
//private final static String BOOT_INI = "/storage/sdcard1/boot.ini"; //"/mnt/sdcard/boot.ini";
- private final static String BOOT_INI = "/mnt/sdcard/boot.ini";
+ private String BOOT_INI = "/mnt/sdcard/boot.ini";
public int mCurrentMaxFreq;
public int mCurrentMinFreq;
@@ -371,6 +372,14 @@
tv.setVisibility(View.GONE);
}
+ File sdcard1 = new File("/storage/sdcard1");
+ if (sdcard1.exists()) {
+ Log.e(TAG, "MTP");
+ BOOT_INI = "/storage/sdcard1/boot.ini";
+ } else {
+ Log.e(TAG, "Mass Storage");
+ }
+
File boot_ini = new File(BOOT_INI);
if (boot_ini.exists()) {
try {
build android for MTP instead of Mass storage.
prepare android rootfs(system.img) for MTP and Ubuntu.
or download system.img
https://drive.google.com/file/d/0B5aZmgmqP9rONjkzbGV2WlpiczQ/edit?usp=sharing
https://www.dropbox.com/s/z875qglex71qh3c/system.img
backup rootfs of Ubuntu.
$ mkdir boot$ sudo cp -a /media/codewalker/BOOT/* boot/
$ mkdir rootfs
$ sudo cp -a /media/codewalker/rootfs/* rootfs/
edit rootfs/usr/local/sbin/odroid-config
mmcblk0p2 -> mmcblk0p3
40 do_expand_rootfs() {
41
42 p2_start=`fdisk -l /dev/mmcblk0 | grep mmcblk0p3 | awk '{print $2}'`
43 fdisk /dev/mmcblk0 <<EOF
44 p
45 d
46 3
47 n
48 p
49 3
50 $p2_start
51
52 p
53 w
54 EOF
55 ASK_TO_REBOOT=1
56
57 # now set up an init.d script
58 cat <<\EOF > /etc/init.d/resize2fs_once &&
...
71
72 case "$1" in
73 start)
74 log_daemon_msg "Starting resize2fs_once" &&
75 resize2fs /dev/mmcblk0p3 &&
76 rm /etc/init.d/resize2fs_once &&
77 update-rc.d resize2fs_once remove &&
78 log_end_msg $?
79 ;;
80 *)
81 echo "Usage: $0 start" >&2
82 exit 3
check u-boot date.
You must use u-boot at least Jan 12 2014 than later.
OK
U-Boot 2010.12-svn (Jan 27 2014 - 15:07:10) for Exynox4412
CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
APLL = 1000MHz, MPLL = 880MHz
DRAM: 2 GiB
PMIC VERSION : 0x00, CHIP REV : 3
TrustZone Enabled BSP
BL1 version: 20121128
Checking Boot Mode ... EMMC4.41
REVISION: 2.0
Manufacturer TOSHIBA [ 7456MB ]
NAME: S5P_MSHC4
MMC Device 0: 7456 MB
MMC Device 1: 0 MB
MMC Device 2 not found
*** Warning - using default environment
USB3503 NINT = OUTPUT LOW!
ModeKey Check... run normal_boot
No ethernet found.
Hit any key to stop autoboot: 0
Exynos4412 #
make new partition table for dual booting.
entry u-boot prompt.
fdisk -c [boot device:0] [system] [userdata] [cache] [vfat]
Count: 10000
NAME: S5P_MSHC4
fdisk is completed
partion # size(MB) block start # block count partition_Id
1 306 1462846 626934 0x0C
2 517 134343 1059817 0x83
3 6362 2089780 13031271 0x83
4 131 1194160 268686 0x83
Exynos4412 #
mount eMMC or SD on PC and format.
$ sudo fdisk -lDisk /dev/sdX: 7818 MB, 7818182656 bytes
253 heads, 59 sectors/track, 1022 cylinders, total 15269888 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdX1 1462846 2089779 313467 c W95 FAT32 (LBA)
/dev/sdX2 134343 1194159 529908+ 83 Linux
/dev/sdX3 2089780 15121050 6515635+ 83 Linux
/dev/sdX4 1194160 1462845 134343 83 Linux
Partition table entries are not in disk order
[~]$ sudo mkfs.vfat /dev/sdX1
mkfs.vfat 3.0.16 (01 Mar 2013)
[~]$ sudo mkfs.ext4 /dev/sdX2
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
...
[~]$ sudo mkfs.ext4 /dev/sdX3
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
...
[~]$ sudo mkfs.ext4 /dev/sdX4
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
...
check your partition on gparted.
copy Ubuntu files.
boot -> /dev/sdX1 (fat)rootfs -> /dev/sdX3 (ext4 userdata partition)
replace current UUID to default UUID.
cat /media/codewalker/5145-2E60/boot.scr
1 '^E^YVOÚ<9f>7R}->^@^@^A<^@^@^@^@^@^@^@^@^E^?ß9^E^B^F^@boot.scr for X with HDMI auto-pr^@^@^A4^@^@^@^@setenv initrd_high "0xffffffff"
2 setenv fdt_high "0xffffffff"
3 setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"
4 setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro mem=2047M"
5 boot
$ sudo tune2fs /dev/sdX3 -U e139ce78-9841-40fe-8823-96a304a09859
tune2fs 1.42.8 (20-Jun-2013)
entry u-boot and stop u-boot prompt.
#fastboot
write system.img via fastboot.
$ fastboot flash system system.img
$ fastboot reboot
$ fastboot reboot
ODROID-U3 is booted Ubuntu.
open terminal.
Ubuntu -> Android
root@odroid:~# su
root@odroid:~# cd /media/boot/ root@odroid:~# su
root@odroid:/media/boot# mv boot.scr boot.scr.ubuntu
root@android:/ # cd /storage/sdcard1/
root@android:/storage/sdcard1 # mv boot.ini boot.ini.android
root@android:/storage/sdcard1 # mv boot.scr.ubuntu boot.scr
open terminal.
Ubuntu -> Android
root@odroid:~# cd /media/boot/
root@odroid:/media/boot# mv boot.scr boot.scr.ubunturoot@odroid:~# cd /media/boot/
root@odroid:/media/boot# mv boot.ini.android boot.ini
2014년 2월 26일 수요일
How to recovery eMMC u-boot on ODROID
eMMC에 u-boot을 잘 못 fusing하거나 망가져 부팅 할 수 없을 때 복구 방법 또는 다른 제품의 eMMC를 구매 후 사용하는 방법
eMMC의 u-boot 영역은 sd 카드와 달리 PC 상에서 접근 할 수 없습니다.
그래서 eMMC의 u-boot을 복구 하기 위해서는 SD로 부팅 하여 eMMC의 u-boot 영역을 써야 합니다.
eMMC 5.0
3. Exynos5422(ODROD-XU3/4)
http://dn.odroid.com/5422/ODROID-XU3/Android/4.4.4_Alpha_3.0_Oct-05-2015/android-4.4.4-alpha-3.0-sd_installer-odroidxu3-20151005.img.zip.md5sum
Windows 사용자는 아래 링크에서 프로그램을 받아 씁니다.
Linux 사용자들은 dd 명령으로 write합니다.
$ sudo dd if=./exynos4412_emmc_recovery_from_sd.img of=/dev/sdX
아래의 사진과 같이 sd 부팅으로 스위치를 바꾸고 전원을 넣으면 자동 복구 합니다.
ODROID-XU4
ODROID-XU3/LITE
수동으로 u-boot만 복구하려면 부팅 후 USB-UART Module Kit을 연결하고 u-boot prompt에서 pri를 입력해 봅니다.
Exynos5410 # 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;bootz 40008000
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: 1565/16380 bytes
Exynos5410 #
eMMC를 연결하고 run copy_uboot_sd2emmc 를 입력하면 복구 됩니다.
Exynos5410 # 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
Exynos5410 #
ODROID-XU3/LITE
Environment size: 1565/16380 bytes
eMMC를 연결하고 run copy_uboot_sd2emmc 를 입력하면 복구 됩니다.
MMC write: dev # 1, block # 1231, count 32 ... 32 blocks write: OK
Exynos5410 #
2. Exynos4412(ODROD-X/X2/Q/Q2/U2/U3)
2.1 수동 복구 방법
sd로 부팅 후 u-boot prompt에서 아래와 같이 입력한다.# movi init 1
# fastboot emmc
PC 터미날에서 android 소스를 풀면 최신 u-boot binaries들이 있습니다.
device/hardkernel/proprietary/uboot/
-rw-r--r-- 1 codewalker codewalker 15360 3월 29 2013 bl1.bin
-rw-r--r-- 1 codewalker codewalker 14592 2월 14 12:43 bl2.bin
-rwxr-xr-x 1 codewalker codewalker 567 2월 3 14:10 emmc_fastboot_fusing.sh
-rw-r--r-- 1 codewalker codewalker 7906 2월 9 14:44 README.TXT
-rwxr-xr-x 1 codewalker codewalker 1240 2월 3 14:10 sd_fusing_4412.sh
-rw-r--r-- 1 codewalker codewalker 159744 3월 29 2013 tzsw.bin
-rw-r--r-- 1 codewalker codewalker 349136 2월 14 12:43 u-boot.bin
또는 github에서 받으시면 됩니다.
아래의 스크립트를 실행하면 자동으로 4개의 bin을 fusing합니다.
$ ./emmc_fastboot_fusing.sh
$ fastboot reboot
ODROID-Q/Q2는 아래 이미지를 받아 sd에 write합니다.
http://dn.odroid.com/4412/Android/4.1.2_Feb-12-2014/ODROID-Q/d2emmc_installer.img.zip
http://dn.odroid.com/4412/Android/4.1.2_Feb-12-2014/ODROID-Q2/d2emmc_installer.img.zip
sd를 연결하고 스위치를 사진과 같이 하시면 sd로 부팅이 됩니다. 동일하게 eMMC를 복구 하시면 됩니다.
2.2 자동으로 복구 하기
포럼에 설명이 잘되어 있습니다.http://forum.odroid.com/viewtopic.php?f=53&t=969
복구용 sd 이미지를 다운 받습니다.
http://forum.odroid.com/download/file.php?id=1089
Windows 사용자는 아래 링크에서 프로그램을 받아 씁니다.
http://com.odroid.com/sigong/nf_file_board/nfile_board_view.php?keyword=&tag=&bid=199
Linux 사용자들은 dd 명령으로 write합니다.
$ sudo dd if=./exynos4412_emmc_recovery_from_sd.img of=/dev/sdX
sd를 꼽고 eMMC를 제거한고 전원을 넣습니다.
U-Boot 2010.12-svn (Jan 12 2014 - 12:55:58) for Exynox4412
CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
APLL = 1000MHz, MPLL = 880MHz
DRAM: 2 GiB
PMIC VERSION : 0x00, CHIP REV : 2
TrustZone Enabled BSP
BL1 version: 20121128
Checking Boot Mode ... SDMMC
MMC Device 0: 7647 MB
MMC Device 1 not found
*** Warning - using default environment
USB3503 NINT = OUTPUT LOW!
ModeKey Check... run normal_boot
No ethernet found.
Hit any key to stop autoboot: 0
do_fat_cfgload : cmd = fatload mmc 0:1 0x41000000 boot.ini
reading boot.ini
2701 bytes read in 25 ms (105.5 KiB/s)
Find boot.ini file from FAT Area!!
boot.ini command = setenv flag_true 1
boot.ini command = setenv flag_false 0
boot.ini command = setenv system_memory_end 80000000
boot.ini command = setenv emmc_update_from_sdmmc 1
boot.ini command = setenv emmc_wait 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run emmc_wait
Insert eMMC Module before usb connect....
debug 터미날을 보시면 위와 같이 대기 상태로 됩니다.

전원을 넣으면 아래와 같이 전원 Red LED가 켜지고 옆에 ALIVE Blue LED가 깜빡 거립니다.
아래와 같이 eMMC를 복구하고 전원이 꺼집니다.
Trigger Detected... read boot.scr form SDMMC & boot
boot.ini command = setenv movi_init 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run movi_init
emmc reset...
REVISION: 2.0
Manufacturer TOSHIBA [ 15028MB ]
NAME: S5P_MSHC4
Device: S5P_MSHC4
Manufacturer ID: 11
OEM: 100
Name: 016G9
Tran Speed: 0
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Size: 0MB (block: 15028)
Bus Width: 8-bit DDR
Boot Partition Size: 4096 KB
boot.ini command = setenv update_device_num 1
boot.ini command = setenv load_device_num 0
boot.ini command = setenv load_partition_num 1
boot.ini command = setenv emmc_open 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run emmc_open;
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.!
boot.ini command = fatload mmc 0:1 40008000 update/bl1.bin;
reading update/bl1.bin
15360 bytes read in 29 ms (516.6 KiB/s)
boot.ini command = setenv bl1_write 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run bl1_write
writing FWBL1 ..device 1 Start 0, Count 30
MMC write: dev # 1, block # 0, count 30 ... 30 blocks written: OK
completed
boot.ini command = fatload mmc 0:1 40008000 update/bl2.bin;
reading update/bl2.bin
14592 bytes read in 32 ms (445.3 KiB/s)
boot.ini command = setenv bl2_write 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run bl2_write
writing BL2 ..device 1 Start 30, Count 32
MMC write: dev # 1, block # 30, count 32 ... 32 blocks written: OK
completed
boot.ini command = fatload mmc 0:1 40008000 update/u-boot.bin;
reading update/u-boot.bin
348936 bytes read in 37 ms (9 MiB/s)
boot.ini command = setenv uboot_write 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run uboot_write
writing bootloader..device 1 Start 62, Count 2048
MMC write: dev # 1, block # 62, count 2048 ... 2048 blocks written: OK
completed
boot.ini command = fatload mmc 0:1 40008000 update/tzsw.bin;
reading update/tzsw.bin
159744 bytes read in 28 ms (5.4 MiB/s)
boot.ini command = setenv tzsw_write 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run tzsw_write
writing 1 TrustZone S/W.. Start 2110, Count 312
MMC write: dev # 1, block # 2110, count 312 ... 312 blocks written: OK
completed
boot.ini command = setenv emmc_close 'if itest.s ${emmc_update_from_sdmmc} -e'
boot.ini command = run emmc_close;
eMMC CLOSE Success.!!
boot.ini command = mmc write 1 0x40008000 0x977 0x20;
MMC write: dev # 1, block # 2423, count 32 ... 32 blocks written: OK
boot.ini command = fastboot poweroff
이후 최신 버전 emmc_self_installer.img를 받아 쓰시면 됩니다.
http://dn.odroid.com/4412/Android/
ODROID-Q/Q2는 최신 버전의 sd2emmc_installer.img로 sd 부팅 하시면 자동으로 eMMC를 복구 합니다.
ODROID-Q/Q2는 최신 버전의 sd2emmc_installer.img로 sd 부팅 하시면 자동으로 eMMC를 복구 합니다.
3. Exynos4412(ODROD-XU)
4.1 복구 방법
아래 링크의 최신 sd 이미지를 받습니다.
아래의 사진과 같이 sd 부팅으로 스위치를 바꾸고 전원을 넣으면 자동 복구 합니다.
sd로 부팅 후 u-boot prompt에서 pri를 입력해 봅니다.
Exynos5410 # 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;bootz 40008000
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: 1565/16380 bytes
Exynos5410 #
eMMC를 연결하고 run copy_uboot_sd2emmc 를 입력하면 복구 됩니다.
Exynos5410 # 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
Exynos5410 #
스위치를 eMMC 부팅으로 바꾸고 부팅 하시면 됩니다.
3.2 자동 복구 방법
피드 구독하기:
글 (Atom)