散々弄り倒したのはアプリケーションレイヤちゅうことで、改めてまっさらにしてみることに。
事前準備:/sdcard/prg/T01C_TO_SP_FY1.enc
1.recovery mode
2.factory data reset
3.auto reboot
4.power off
5.recovery mode
6.system update
7.sd downloader
8.auto reboot
android:2.2.2
baseband:5014.1906.11
kernel:2.6.32.9-rel ftml-android@ftml #1
build:FFR002
full backup
full backup
パテ分かればcwmでのbackupは不要なんだけど分からないので。
cwmをrecoveryに焼かなくても良いのが素敵。
cwmのイメージを落として、
fastboot boot {cwm.img}
cwmが起動したら、backup and restore->backup
cwm終わらせて、再起動。
ねくさす繋ぐと、ルートにclockworkmodディレクトリが作成されているので階層掘ると、backup->yyyy-mm-dd hh.mm.ssなディレクトリがあるので丸ごと母艦に複写。
ディレクトリには、boot.imgとrecovery.img、system,data,cacheのアーカイブがバックアップされている。
個人的には、ねくさすのパテ構成が不明なので、どうやってパテ割り出しているのか興味ある。
パテ分かればcwmでのbackupは不要なんだけど分からないので。
cwmをrecoveryに焼かなくても良いのが素敵。
cwmのイメージを落として、
fastboot boot {cwm.img}
cwmが起動したら、backup and restore->backup
cwm終わらせて、再起動。
ねくさす繋ぐと、ルートにclockworkmodディレクトリが作成されているので階層掘ると、backup->yyyy-mm-dd hh.mm.ssなディレクトリがあるので丸ごと母艦に複写。
ディレクトリには、boot.imgとrecovery.img、system,data,cacheのアーカイブがバックアップされている。
個人的には、ねくさすのパテ構成が不明なので、どうやってパテ割り出しているのか興味ある。
fastboot oem unlock
とりあえず、色々と
リカバリモードの入り方を改めて整理してみる。
l-04c
Home + Vol- + Power
t-01c
Camera + Vol+ + Power
緑LEDが点灯したらPower離す
adb reboot recoveryを投入するのと同じ。
そいや、ねくさすはfastboot modeしか知らなかったので、ついでにadb reboot recoveryを投入してみる。
| adb reboot recovery on sc-04d |
ひぃぃ。
なんちゅうのかな、recovery modeて、漠然とリカバリイメージをブートイメージに転写することが出来たり、リカバリイメージ自体を選択したイメージに置き換えたり出来るモードと思っていたのですが、それ思い込み(recovery modeの振る舞いてベンダ毎に違うし)。ちゅか、そもそも、systemパテは良いとして、bootパテとrecoveryパテに何が配置されているのかさえ調べたことないじゃんて。あー記憶を辿ると、recoveryパテて、recoveryするためのプログラムを配置しているな。と言うことは、recovery mode入るとrecoveryパテからbootするということか。にしても、recoveryパテとか端末毎に違うんだけど、これベンダ/デバイス毎に決めうちか?あと、recoveryプログラムが起動しても、adbdいないんだよね。そう考えると、recoveryパテのイメージさえ壊さなければブリックしないと考えて良いのかな。
なーんて。
はい、勉強し直し。
あと、fastbootて、三星固有と思っていたら違うのね。http://android-dls.com/wiki/index.php?title=Fastboot
G1デバイスて、グローバルなんとかっていうデバイスかなぁと思ったら、HTCにG1て製品あったのね。
ところで、
adb reboot bootloader
を投入してみたところ。
l-04c -> 通常起動
t-01c -> 通常起動
sc-04d -> fastboot mode
bootloaderのロックとかイミフって言っていた自分に何となく納得。
とりあえず、泥ブートの勉強もそうだけど、以下のコマンドの使い方を習得しておくべきかもな。adbをwifi接続する時にちょっと頑張ったくらいで、今まで基本的にadb shellだけで賄ってきたから。
---
fastbootコマンド
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base addres
-n <page size> specify the nand page size. default
2048
adbコマンド
Android Debug Bridge version 1.0.29
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <serial number> - directs command to the USB device or emulator w
ith
the given serial number. Overrides ANDROID_SERI
AL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number
is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number
is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devic
es.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and i
nstall it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosy
stem] [<packages...>]
- write an archive of the device's data to <file>
.
If no -f option is supplied then the data is wr
itten
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks
themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the
device's
shared storage / SD card contents; the defau
lt is noshared.)
(-all means to back up all installed applicatio
ns)
(-system|-nosystem toggles whether -all automat
ically includes
system applications; the default is to inclu
de system apps)
(<packages...> is the list of applications to b
e backed up. If
the -all or -shared flags are passed, then t
he package
list is optional. Applications explicitly g
iven on the
command line will be included even if -nosys
tem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup
archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list
of the following values
1 or all, adb, sockets, packets, rwx, usb, sync
, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes prior
ity over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these de
bug tags are printed.
間仕切り
cat /proc/mtd
cat /proc/partitions
mount
t-01c
dev: size erasesize name
mtd0: 00a00000 00020000 "boot"
mtd1: 15180000 00020000 "system"
mtd2: 06400000 00020000 "cache"
mtd3: 00a00000 00020000 "recovery"
mtd4: 1dfa0000 00020000 "userdata"
mtd5: 3a920000 00020000 ""
major minor #blocks name
31 0 10240 mtdblock0
31 1 345600 mtdblock1
31 2 102400 mtdblock2
31 3 10240 mtdblock3
31 4 491136 mtdblock4
31 5 959616 mtdblock5
179 0 15622144 mmcblk0
179 1 15618048 mmcblk0p1
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mtdblock1 /system yaffs2 ro,relatime 0 0
/dev/block/mtdblock4 /data yaffs2 rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,u
id=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset
=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relat
ime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioch
arset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
l-04c [cyanogenmod7.1.0]
dev: size erasesize name
mtd0: 00440000 00020000 "boot"
mtd1: 0d200000 00020000 "system"
mtd2: 00500000 00020000 "recovery"
mtd3: 002c0000 00020000 "lgdrm"
mtd4: 00100000 00020000 "splash"
mtd5: 00100000 00020000 "FOTABIN"
mtd6: 00640000 00020000 "FOTA"
mtd7: 00040000 00020000 "misc"
mtd8: 04000000 00020000 "cache"
mtd9: 2b360000 00020000 "userdata"
sc-04d
dev: size erasesize name
mtd0: 00100000 00001000 "w25q80"
これ、フラッシュデバイス名。どゆことか今のところ錯乱状態。
cat /proc/partitions
mount
t-01c
dev: size erasesize name
mtd0: 00a00000 00020000 "boot"
mtd1: 15180000 00020000 "system"
mtd2: 06400000 00020000 "cache"
mtd3: 00a00000 00020000 "recovery"
mtd4: 1dfa0000 00020000 "userdata"
mtd5: 3a920000 00020000 ""
major minor #blocks name
31 0 10240 mtdblock0
31 1 345600 mtdblock1
31 2 102400 mtdblock2
31 3 10240 mtdblock3
31 4 491136 mtdblock4
31 5 959616 mtdblock5
179 0 15622144 mmcblk0
179 1 15618048 mmcblk0p1
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mtdblock1 /system yaffs2 ro,relatime 0 0
/dev/block/mtdblock4 /data yaffs2 rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,u
id=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset
=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relat
ime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioch
arset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
l-04c [cyanogenmod7.1.0]
dev: size erasesize name
mtd0: 00440000 00020000 "boot"
mtd1: 0d200000 00020000 "system"
mtd2: 00500000 00020000 "recovery"
mtd3: 002c0000 00020000 "lgdrm"
mtd4: 00100000 00020000 "splash"
mtd5: 00100000 00020000 "FOTABIN"
mtd6: 00640000 00020000 "FOTA"
mtd7: 00040000 00020000 "misc"
mtd8: 04000000 00020000 "cache"
mtd9: 2b360000 00020000 "userdata"
sc-04d
dev: size erasesize name
mtd0: 00100000 00001000 "w25q80"
これ、フラッシュデバイス名。どゆことか今のところ錯乱状態。
ねくさす
|
|
|
![]() |
USBデバッグON
MTP->自動検索->SAMSUNG Mobile MTP Device
Galaxy->自動検索->インストールできません
android_winusb.infに追記
ベンダIDとプロダクトIDは、デバマネで確認したものを設定。
;GalaxyNexus
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E30
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0100
デバマネ->Galaxy->ドライバ更新->検索しないで選択->すべてデバイスを表示->ディスク選択->android_winusb.infを選択->Android ADB Interface選択->再起動
adb接続確認を終え(お決まりのdmesgログ取って)、さてアレと。アレ?BootLoaderのUnlock?なにそれ。fastbootコマンドでoem unlockすれば良いとかあるけど、ここは楽しみたいじゃないですか。unlockしてroot奪取してわーい!だと、あまりにもつまらない。ちゅうか、カーネル入れ替えたいほど動作に不満ないですね、ねくさす。とりあえず、root奪取まで舐り倒したい。
で。
まず、fastbootモードちゅうものを見てみたいではないですか。
如何せん、三星はお初だから勝手も何も分からない。
ボリューム上下+電源ボタンでfastbootモード起動。
ふむふむ、LOCK STATE - LOCKEDですね。
fastbootモードでの選択肢は、
- Start
- Restart bootloader
- Recovery mode
- Power off
Startて何を開始するんだろ?とか、興味津々になるのですが、そいやブリック対策やらフルバックアップとか、準備運動してないじゃんて気付く。
逸る気持ちを抑えながら冬の夜は更け行く。
やべー、この玩具。
電源落とした状態でUSB接続すると、OMAP4440検出。なにこれ?と調べたら、ねくさすのCPUてテキサスのOMAP4460だとか。OMAP4460検出だったのかな?まぁ、いいや。なんでも、AC/USBチャージャも搭載の統合プロセッサなんだって->http://www.tij.co.jp/solution/jp/mobile_internet_device
そいや、チャージ掛けると、泥起動する端末もあれば起動しない端末もあったけど、そういう事情もあるんかね。
登録:
投稿 (Atom)



