家庭用コンピュータ環境の模索 >Nexus7(2013) 設定と Hack 方法まとめ >DEVELOP
(2014-02-08)
開発ツールなのだが、その中の adb, fastboot などのツールが必要。ツール(ADT)だけインストールする方法もある。
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
(2014-11-19)
$ adb reboot 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 format <partition> format 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 (and format if supported by partition type) -u do not first erase partition before formatting -s <specific device> specify device serial number or path to device port -l with "devices", lists device paths -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 address. default: 0x10000000 -n <page size> specify the nand page size. default: 2048 -S <size>[K|M|G] automatically sparse files greater than size. 0 to disable
partition | filename | |
---|---|---|
modem | ||
sbl1 | ||
sbl1bak | ||
rpm | ||
rpmbak | ||
tz | TrustZone | |
tzbak | ||
aboot | ||
abootbak | ||
boot | boot.img | Linuxカーネル |
system | system.img | /system OSやシステムが用意したアプリ |
persist | persist.img | /persist |
cache | /cache | |
userdata | /data ユーザがインストールしたアプリや、ユーザ用のデータ(/sdcard) | |
sysprop | /sysprop | |
recovery | recovery.img | リカバリー用 |
(2014-02-08)
# 端末の adbd を root 権限で起動しなおす。 $ ./adb root # 一般ユーザ権限で shell を起動する。 $ ./adb shell shell@flo:/ $ id uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0 shell@flo:/ $ # unix と同じように su コマンドを実行する。 shell@flo:/ $ su # このとき、SuperSU のダイアログが出てきて、root 権限の許可を求めるので、了承する。 root@flo:/ # # root 権限が得られている。 root@flo:/ # id uid=0(root) gid=0(root) context=u:r:init:s0 root@flo:/ #
# USB接続で IPアドレスを調べておく。 nkon(10308)~/Android/sdk/platform-tools % ./adb shell shell@flo:/ $ ifconfig wlan0 wlan0: ip 192.168.1.35 mask 255.255.255.0 flags [up broadcast running multicast] shell@flo:/ $ exit # 5555 ポートでサーバを起動しておく。 nkon(10334)~/Android/sdk/platform-tools % ./adb tcpip 5555 restarting in TCP mode port: 5555 # ここでUSBケーブルを外し、WiFi接続にする。 # 接続方法を決める ~/Android/sdk/platform-tools % ./adb connect 192.168.1.35:5555 connected to 192.168.1.35:5555 # 接続方法が tcpip になっている。 nkon(10338)~/Android/sdk/platform-tools % ./adb devices List of devices attached 192.168.1.35:5555 device # あとは、普通に adb コマンドを実行すれば、それが WiFi接続で実行される。 ~/Android/sdk/platform-tools % ./adb shell shell@flo:/ $ id uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0 shell@flo:/ $ exit nkon(10339)~/Android/sdk/platform-tools %ケーブルを接続しなくても良いのは便利。ただし、節電ツールなどを使っていると、すぐにスリープしたり接続が切れたりする(USBデバッグ中は電源を切らない、というオプションがあるのに対して)。あまり実用的ではないかもしれない。Qiで給電していれば実用的なのだろうか。
(2014-11-19)
fastboot -c "*cmdline with root's path*" boot vmlinuz initrd.img
root@flo:/data/media/0/multirom # ls -F adbd mrom.fstab busybox* multirom* error.txt multirom.ini exfat-fuse* ntfs-3g* fw_mounter res/ icons/ roms/ infos/ trampoline* kexec* ubuntu-init/ last_kexec_log.txt* ubuntu-touch-init/ lz4* ubuntu-touch-sysimage-init/ root@flo:/data/media/0/multirom # cat multirom.ini current_rom=Internal auto_boot_seconds=5 auto_boot_rom=Internal auto_boot_type=0 curr_rom_part= colors_v2=0 brightness=40 enable_adb=0 hide_internal=0 int_display_name=Internal rotation=0 force_generic_fb=0 anim_duration_coef_pct=100 root@flo:/data/media/0/multirom # cat mrom.fstab /boot emmc /dev/block/platform/msm_sdcc.1/by-name/boot /recovery emmc /dev/block/platform/msm_sdcc.1/by-name/recovery /misc emmc /dev/block/platform/msm_sdcc.1/by-name/misc /system ext4 /dev/block/platform/msm_sdcc.1/by-name/system /data ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata /cache ext4 /dev/block/platform/msm_sdcc.1/by-name/cache /sbl1 emmc /dev/block/platform/msm_sdcc.1/by-name/sbl1 /sbl2 emmc /dev/block/platform/msm_sdcc.1/by-name/sbl2 /sbl3 emmc /dev/block/platform/msm_sdcc.1/by-name/sbl3 /tz emmc /dev/block/platform/msm_sdcc.1/by-name/tz /rpm emmc /dev/block/platform/msm_sdcc.1/by-name/rpm /aboot emmc /dev/block/platform/msm_sdcc.1/by-name/aboot /sbl2b emmc /dev/block/platform/msm_sdcc.1/by-name/sbl2b /sbl3b emmc /dev/block/platform/msm_sdcc.1/by-name/sbl3b /tzb emmc /dev/block/platform/msm_sdcc.1/by-name/tzb /rpmb emmc /dev/block/platform/msm_sdcc.1/by-name/rpmb /abootb emmc /dev/block/platform/msm_sdcc.1/by-name/abootb /usb-otg vfat /dev/block/sda1 /dev/block/sda flags=removable;storage;display=USB-OTG /persist ext4 /dev/block/platform/msm_sdcc.1/by-name/persist
root@flo:/data/media/0/multirom # cd roms/ root@flo:/data/media/0/multirom/roms # ls -R Internal/ lrx21p_flo/
root@flo:/data/media/0/multirom/roms/lrx21p_flo # ls -F boot/ boot.img cache/ data/ system/ root@flo:/data/media/0/multirom/roms/lrx21p_flo #
root@flo:/data/media/0/multirom/roms # ls -R Internal/ Internal/:
(2014-02-15)
TWRPなどのリカバリで焼くことのできる zip ファイルの仕組みを調べたメモです。
(2014-02-15)
(2014-02-09)
(2014-02-24)
(2014-03-28)
2014-03-28 時点でのバージョンは Beta 2。英語版のみ。
Open Blocks のブロックをブラウザ上で組み合わせる。→ Android で動作するアプリが出来上がる。
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev lib32z1 x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils python-software-properties xsltproc libx11-dev:i386 android-tools-adb android-tools-fastboot liblz4-tool gcc-4.6 g++-4.6 gcc-4.6-multilib g++-4.6-multilib $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update && sudo apt-get install oracle-java6-installer $ sudo apt-get install openjdk-7-jdk
$ export B2G_WORK=~/src/firefoxos $ cd $B2G_WORK $ git clone git://github.com/mozilla-b2g/B2G.git $ cd B2G $ ./config.sh flo $ ./build.sh $ ./build-sh tagert-files-package