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:/ #
$ sudo fdisk -l
Disk /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
...
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;
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 #
지원되는 파일시스템이 fat32와 NTFS를 지원합니다.
fat에는 4Gbyte 이상의 파일을 넣을 수 없는 문제가 있습니다.
NTFS는 4Gbyte이상의 파일을 넣을 수 있지만 readonly로만 mount 되고 불안전 합니다.
그래서 Ext4 파일 시스템을 지원해 보겠습니다.
system/vold/Volume.h/cpp를 아래와 같이 Ext4를 추가 합니다.
50 protected:
51 char *mLabel;
52 char *mMountpoint;
53 VolumeManager *mVm;
54 bool mDebug;
55 int mPartIdx;
56 int mOrigPartIdx;
57 bool mRetryMount; 58 int filesystem;
59