にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2020年08月11日

公式タブレット改造 Nexus7 2013 /systemパーティションのリサイズ設定とpostmarketOSインストール No.38

Nexus7flo1.png


今回はNexus7 2013を用いて/systemパーティションのリサイズと
postmarketOSのインストールまで。
古い機種に新しいOSを入れようとすると、
/system領域が小さいのでリサイズする必要があります。
これが実際に自分でやってみると非常に危険w
自己責任で。

●Nexus7 2013とpostmarketOS
スペック的にまだまだ実用のレベルを維持している
Nexus7 2013ですが、最近は3,000円で買えたり
非常に安くなってきました。
UBPortsも動くしおすすめです。

カスタムROMも非公式ながらAndroid10前後まで動くので面白いです。
Nexus7 2012と比べても倍近いスペックと2GBメモリありますし。
安い、早い、ROMが多いを満たす改造のホープです。

この機種に限りませんが、新しいROMを入れる場合に
/system領域が狭いのでリサイズをやってみたら起動しなくなりましたw
非常に危険行為ですが、習得しておきたい技ですw
こちらを参考にしました。

[GUIDE] Increase your Nexus 4's system partition for more space!
https://forum.xda-developers.com/nexus-4/general/guide-increase-nexus-4s-partition-space-t3800264

https://www.gsmarena.com/oppo_find_7a-reviews-6215p15.php

ちょっとでも失敗すると確実に起動しなくなりますw
当然ですが、全てのデータを一旦消す必要がありますw
なので自分でROMを焼き直せる人だけ可です。
実際に死にましたが、なんとか直せましたけども。

●Nexus7 2013の基本パーティション
重要なのでメモしておきます。
この初期の構成に戻せるように注意。

# ./parted /dev/block/mmcblk0 p
Model: MMC MMC16G (sd/mmc)
Disk /dev/block/mmcblk0: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 67.1MB 157MB 89.6MB fat16 radio
2 201MB 204MB 3146kB modemst1
3 204MB 208MB 3146kB modemst2
4 268MB 284MB 15.4MB ext4 persist
5 336MB 336MB 799kB m9kefs1
6 336MB 337MB 799kB m9kefs2
7 403MB 403MB 799kB m9kefs3
8 403MB 407MB 3146kB fsg
9 470MB 471MB 1536kB sbl1
10 471MB 473MB 1536kB sbl2
11 473MB 475MB 2097kB sbl3
12 475MB 480MB 5243kB aboot
13 480MB 481MB 524kB rpm
14 537MB 554MB 16.8MB boot
15 604MB 605MB 524kB tz
16 605MB 605MB 1024B pad
17 605MB 606MB 1536kB sbl2b
18 606MB 608MB 2097kB sbl3b
19 608MB 613MB 5243kB abootb
20 613MB 614MB 524kB rpmb
21 614MB 614MB 524kB tzb
22 671MB 1552MB 881MB ext4 system
23 1552MB 2139MB 587MB ext4 cache
24 2147MB 2149MB 1049kB misc
25 2215MB 2225MB 10.5MB recovery
26 2282MB 2282MB 8192B DDR
27 2282MB 2282MB 8192B ssd
28 2282MB 2282MB 1024B m9kefsc
29 2349MB 2349MB 32.8kB metadata
30 2416MB 15.5GB 13.1GB userdata


●Nexus7 2013の/systemリサイズ
まずTWRPが起動できる所まで。

1.最新版までアップグレード
2.USBデバッグ
3.母艦PCにfastbootとadbコマンドインストールとPATH設定
4.ブートローダーunlock
5.TWRPインストール
6.TWRP起動してadbコマンドを使えるように設定
7.TWRPでWIPEして編集するパーティションのデータを消す

ここまでは詳細は書きませんが、簡単なので各自で。
出来ない人には/systemのリサイズは諦めましょう。
adbコマンドが使えるようになったらpartedコマンドを拾ってきます。
partedコマンドとはgpt、UEFIマシンで使われるパーティションツールです。
リンク先はテキストファイルですが、拡張子を抜いて保存。恐らくARM共通バイナリです。

https://drive.google.com/open?id=15uhtjeH2Z4DQywbRafrJs5cw7rmhnRG_

保存したらadb pushコマンドでAndroidに転送します。

$ adb push parted /

でadb shellを使います。

$ adb shell

端末が起動したら設定。
まずダウンロードしたpartedコマンドを実行形式に変換

$ chmod +x parted

これでpartedコマンドが使えます。
さあここから本番。

$ ./parted /dev/block/mmcblk0 p

ここでAndroidのパーティション一覧が表示されますが、
復旧させる時にどうしても必要なので、
テキストエディタにコピペして保存しておきます。
で/systemパーティションとその後をチェック。
Nexus7 2013の場合はcacheでした。

Number Start End Size File system Name Flags
21 614MB 614MB 524kB tzb
22 671MB 1552MB 881MB ext4 system
23 1552MB 2139MB 587MB ext4 cache
24 2147MB 2149MB 1049kB misc

/cacheを小さくして/systemに割り当てます。
2つともext4です。後で再フォーマットが必要なので絶対に忘れないように。
多分エラーが出ると思いますが、念の為umount。

$ umount /system
$ umount /cache

でパーティションを削除。

$ ./parted /dev/block/mmcblk0 rm 22
$ ./parted /dev/block/mmcblk0 rm 23

で新しくパーティションを割り当てるのですが、
ここで新しい容量を決めます。
このstartとendの値を指定します。
例えば/systemに671MBから1900MBを割り当てて
残りを/cacheに1900MBから2139MBに指定するとします。

$ ./parted /dev/block/mmcblk0 mkpart primary 671 1900
$ ./parted /dev/block/mmcblk0 mkpart primary 1900 2139

パーティションNoでは無くてStartとEndの容量を指定します。
パーティションNoは勝手に決められます。
でパーティションを再びチェック

$ ./parted /dev/block/mmcblk0 p

すると、22番と23番の容量が変更出来ました。良いね。
でパーティション名を入れます。

$ ./parted /dev/block/mmcblk0 name 22 system
$ ./parted /dev/block/mmcblk0 name 23 cache

これで/systemと/cacheのパーティション名に戻しました。
でもともとのext4フォーマットします。

$ mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p22
$ mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p23

これで使える様になりました。
後は普通にROMを焼けばOKです。

カンの鋭い人なら分かりますが、一番容量の大きい/userdataは
最後のパーティションにあることが多いです。
そしてパーティションを作るにはstartとendを容量指定して
連番で新しく再設定するパーティションが必要。
つまり、/userdataを小さくして/systemを大きくしようと思ったら、
その間の全てのパーティションを削除して同じ順番に作り直す必要があります。

実は、パーティション名を変えれば良いじゃん?って思いませんでした?
やってみて再起動したら全てのパーティションが認識しなくなりましたw
どうやらfstab的なものがあり、その順番に従わなくてはならない様子ですw
そして再起動してしまうと、全てのパーティション
つまり/recoveryパーティションすら認識しないので
TWRPが起動できなくなります。adbコマンドが使えません。
fastbootコマンドではパーティション編集は出来ません。
死んだか?
と思いましたが、実はfastbootコマンドには焼かなくても
外部からリカバリイメージを起動する方法があります。

$ fastboot boot recovery twrp-3.4.0-flo.img

こんな感じでbootコマンドでTWRPをimgファイルから直接起動できました。
これでadbコマンドが使えるのでパーティションの仕切り直しが出来ました。
良かった。死んだかとおもったw

・注意点
 パーティションは必ず初期設定の順番の名前で作り直す
 容量はチェックされていない。自由に設定
 一部のパーティションはちゃんとext4でフォーマットし直す
 万が一認識しなければfastboot boot recovery twrp〜コマンドでrecovey起動出来る
 
partedコマンドの練習にはなりましたが非常に危険です。
絶対に自己責任でお願いします。

nexus7flo2.jpg


●postmarketOSのインストール
拡張した/systemパーティションにROMを焼きます。
増やした分だけ大きいイメージを焼けます。
実はMateやPlasma-mobile、PhoshやGnomeを焼く場合は必須です。
USBケーブルで繋いでlsusbで認識しているのを確認。

実はこんな面倒な事をしなくても/userdataに
書き込みしたかったのですが出来ませんでした。
苦肉の策です。
あとは普通にpmbootstrapコマンドを使います。
こちらをしっかり読んでそのまま。

https://wiki.postmarketos.org/wiki/Installation_from_recovery_mode


$ ./pmbootstrap.py init
$ ./pmbootstrap.py install --android-recovery-zip
$ ./pmbootstrap.py flasher flash_kernel

kernelまで焼いたら本体を焼きます。
一旦母艦PCとnexus7を両方再起動します。
何故かそうしないと通信が出来ません。
またTWRPをリカバリモードで起動します。
でAdvancedを選び、ADB Sideloadを選択し、バーをスライド。
するとターミナル画面が表示して止まるので、
母艦PC側からコマンド。

$ ./pmbootstrap.py flasher --method=adb sideload

すると転送とインストールが同時にはじまります。
ちなみにZIPをそのままadb pushで流して入れても起動しません。多分。
もしエラーが出て止まる場合は、ケーブルを交換するか
/userdataに書き込み設定をしていると止まりますので
/systemパーティションに再度設定し直します。
原因は分かっていませんが/userdataに書き込む設定にするとエラーが出ます。

終わったら再機動。
自動では動きませんので注意。
無事Mateが表示されました。
残念ながらNexus7 2013では部分的にブラックスクリーンになるので、
死んではいませんが操作できません。
なおWaylandは意図的にクアラコムの3Dドライバを削ってあるらしく
表示されないのでGnomeとか起動しません。
framebufferのXorgだけです。
バグ修正まちですね・・・


●まとめ
今回は/systemのリサイズからpostmarketOSのインストールまで。
大きなROM容量を焼き直すにはどうしても/systemのリサイズは必須ですが、
かなりヤバイコマンド設定なので死にましたw
実際に死んで、焦って、考えたらなんとか直せたという感じです。
勉強になりました。

新しいカスタムROMはどうしても/system領域の拡大が必要なので
覚悟して設定してみて下さい。
いざという時もTWRPを直接imgから起動できるので
多分なんとかなります。
壊しても絶対にkapperに相談しないで下さい。絶対に答えません。
自己責任で。
どうしても自分で壊して覚えるしかないのです。
是非格安ジャンクNexus7で練習してみて下さい(ぉぃ
posted by kapper at 16:14 | Comment(0) | Nexus7

2020年04月07日

2,500円 超格安Googleタブレット改造 Nexus7 2012 PostmarketOSインストールテスト 再び No.39

pmnexus7.jpg

今回は久しぶりにNexus7 2012でpostmarketOS。
最近は2,500円で買える程、安くなりました。
RaspberryPi3同等のスペックはあります。
現在でもギリギリ使える程度のスペックがありますので
この格安タブをリサイクルして活かしたいです。
今回は650MB以上のROMを焼く事に成功しました。
ストレージ8〜32GBのユーザー領域を使えるので広いです。

●2,500円中古Nexus7
値上がりするNexus5とは違い、年代とスペックが劣る
Nexus7 2012はどんどん価格が低下する傾向で
市場に中古がだぶついてきました。
安い時に買わなきゃw

でそれとは正反対にpostmarketOSの大きなバグがほぼ埋まりまして
MainlineKernelも公式にサポート開始、サクサクです。
なかなか魅力ある機種に生まれ変わりましたw
しかも爆安。

Tegra3の1.4GHzですが最新のKernelとAlpineLinuxは
当時と比べてもかなりサクサクで嬉しいです。
メモリも1GBあって節約すればなんとかなりますかも。
これでちゃんと周辺機種が使えれば面白いんですが・・・
Kapperは安Nexus7 2012と2013を買い占めています。
市場に弾はまだ沢山ありますが、格安ジャンクをガッツリ改造したいです。
Google公式ROMもありますので、改造初心者にもお勧めです。

https://wiki.postmarketos.org/wiki/Google_Nexus_7_2012_(asus-grouper)

●Androidのパーティション構造
ブートやシステムに関する/Systemが650MBで残りがだいたい/userdataになっています。
Linuxをインストールする時は/userdataにした方が良いです。
つまりデータを削除する必要があります。

Nexus 7 partition sizes (16Gb model)
Android Nexus7 Partitions
...
Partition Name Partition Description by_name Size in Blocks Size in MB
mmcblk0p1 recovery SOS 12288 12
mmcblk0p2 boot LNX 8192 8
mmcblk0p3 system APP 665600 650
mmcblk0p4 cache CAC 453632 443
mmcblk0p5 misc MSC 512 0.5
mmcblk0p6 staging MSP 10240 10
mmcblk0p7 provisioned PER 5120 5
mmcblk0p8 unknown MDA 512 0.5
mmcblk0p9 userdata UDA 14103552 13773
mmcblk0boot0 2048 2
mmcblk0boot1 2048 2

●Nexus7改造について
Root化とかBootloader unlockとかは割愛します。
昔の資料を見てください。
細かい所は前回のブログをご参考に

http://kapper1224.sblo.jp/category/1900023-1.html

問題点として、ブートする/systemに650MBしか容量がありません。
/userdataにpostmarketOSを焼くか
/systemをリサイズするか650 MB以下の小さいイメージを焼くか
しないと起動できません。

・650MB以下にして/systemに焼く
・650MB以上は/userdataに焼く

公式HPに書いてあるのはどちらかです。
ので650MBに収まる様にパッケージを選択するかどうかです。
WMはUSBキーボードが使えていませんのでXFCE4推奨。
アプリとして、容量の大きいvimとfileは外して
xvkbdは必須。Wifiを繋ぐ為にiwdが推奨されています。
ブラウザは一先ずdillo。
Bluetoothとしてbluez。
あとは適当なアプリを選んで。

ちなみにAlpine Linuxのパッケージ名が分からず
何のファイルがあってどんな名前か分からないので、
検索は諦めて直接レポジトリのサーバを見ましょう

http://nl.alpinelinux.org/alpine/v3.9/community/armhf/
http://nl.alpinelinux.org/alpine/v3.9/main/armhf/

勿論、/systemじゃなくて/userdataにインストールして起動できます。
その際には/systemを消す必要がありますのでご注意を。
(/systemが無ければ他のパーティションから起動する仕組み)

Fastbootモードのブートローダーをまず電源ON+音声下ボタンを
長押しして起動させたら

lsusb

でNexus7を無事認識していれば、

fastboot devices

でNexus7が表示されていればOk。
無ければ母艦を再起動するか、USBケーブルを変えるか
/etc/udev/rules.d/51-android.rulesを設定し直しましょう。

git clone https://gitlab.com/postmarketOS/pmbootstrap.git
cd pmbootstrap

650MB以下のイメージファイルで/systemに入れるなら、

./pmbootstrap.py init
ここでWMやパッケージ名を選択。XFCE4推奨。
./pmbootstrap.py install
./pmbootstrap.py flasher flash_kernel
./pmbootstrap.py flasher flash_rootfs
./pmbootstrap.py shutdown

でNexus7を再起動。
立ち上がるはずです。
ログはこちら

http://kapper1224.sakura.ne.jp/200401-pm_install_grouper.txt


●650MB以上のイメージを/userdataに焼き込む
./pmbootstrap.pyの設定は最大650MBまでになっているので変更が必要です。
書いていないんだもん(涙
HOMEの.local以下を編集します。

gedit ../.local/var/pmbootstrap/cache_git/pmaports/device/testing/device-asus-grouper/deviceinfo

するとこんなテキストファイルが出てきますので、
最後のdeviceinfo_flash_fastboot_max_size="650"を"14000"とか
適当に修正します。
修正した容量のimgファイルまでを焼ける様になります。

# Reference:
# Please use double quotes only. You can source this file in shell scripts.

deviceinfo_format_version="0"
deviceinfo_name="Google Nexus 7 2012 Wifi"
deviceinfo_manufacturer="Asus"
deviceinfo_codename="asus-grouper"
deviceinfo_year="2012"
deviceinfo_dtb="tegra30-asus-nexus7-grouper"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs=""
deviceinfo_arch="armv7"

# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="false"
deviceinfo_screen_width="800"
deviceinfo_screen_height="1280"
deviceinfo_dev_touchscreen="/dev/input/event1"

# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline=""
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_flash_offset_base=""
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_fastboot_max_size="650"

保存したら、/systemと/userdataを削除します。
しないと焼けません。
また/systemが空の時に/userdataから起動するのが
postmarketOSのルールらしいので、/systemを
消さないと駄目です。ので
データのバックアップは自己責任で。

fastboot erase system
fastboot erase userdata

消したらインストール


./pmbootstrap.py init
ここでWMやパッケージ名を選択
./pmbootstrap.py install
./pmbootstrap.py flasher flash_kernel

./pmbootstrap.py export

ここで止めて、公式HP通り、
TWRPをダウンロードしインストールして画面を起動させます。
そうしないと、adbコマンドが使えません。ご注意を。

(computer) $ adb shell
(twrp) $ df # look for the data partition. should be something like /dev/block/mmcblk0p9 or p10 with /data next to it
(twrp) $ umount /dev/block/mmcblk0p__ <- fill partition number
(twrp) $ umount /dev/block/mmcblk0p__ <- fill partition number # again, it can be mounted as /sdcard and as /data
(computer again) $ adb push /tmp/postmarketOS-export/asus-grouper.img /dev/block/mmcblk0p__ <- fill partition number

公式通りにやっても実はパーティションはdfでちゃんと表示されてませんが、
パーティションが消える訳では無いので
問題ありませんのでご注意を。

grouperの場合、/dev/block/mmcblk0p9
tilapiaの場合、/dev/block/mmcblk0p10
に焼きます。
焼くのに20分くらい掛かるので長いです。

adb push /tmp/postmarketOS-export/asus-grouper.img /dev/block/mmcblk0p9
./pmbootstrap.py shutdown

焼いたら再起動します。
エラーがでなければOKです。
asus-grouper.imgのROMファイルはtmpだと母艦を落とした際に消えるので
どこかにバックアップして残しておくと便利です。
ちなみに、asus-grouper.imgのイメージファイルは

.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/asus-grouper.img

に保存してありますので、上書きされる前にバックアップを
残しておくと便利です。

またpostmarketOSのWikiにありますコマンドの、
$ pmbootstrap flasher flash_rootfs --partition userdata
は固まって進まなくなるので使わないで下さい。


●まとめ
650MB以上のpostmarketOSが/userdataに焼けました。
Linuxデスクトップが超格安2,500円
Nexus7 2012で起動できました。
RaspberryPi3と同等スペックです。
7インチは良いですね。広いし安いですし。
これでSDカードスロットがあれば完璧だったんですが。
ソフトウェアキーボードはxvkbdで代用しましょう。
XFCE4から色々と。
ネットワークに繋いだりはこれから勉強します。
本当に面白い格安機種です。
posted by kapper at 03:45 | Comment(0) | Nexus7

2019年04月07日

公式タブレット改造 Nexus7 2012 PostmarketOSインストールテスト No.38

PostmarketOSNexus72012.jpg

今日はNexus7 2012にPostmarketOSをインストールした内容を
ブログに書きます。
残念ながらインストールは可能ですが、
従来のXorg関連のWMがブラックスクリーンで表示されないので
XWaylandのWMだけ使えます。
アプリが殆ど無いので残念ながらちゃんとは使えませんけど・・・
一応Westonだけは問題なく起動します(涙



●Nexus7 2012とPostmarketOS
PostmarketOSはAndroidタブレットにAlpineLinuxを入れて
リサイクルしようというプロジェクトで100近い
タブレットやスマホに対応しています。
ただしドライバやWMがちゃんと動くかは難しくて調査が必要です。

https://wiki.postmarketos.org/wiki/Google_Nexus_7_2012_(asus-grouper)

Nexus7 2012でもOSを焼けます。
ただし実用性は殆ど無いかもしれません。
何故かというとXorg関係のWMがブラックスクリーンで表示されないから。
Westonなら起動しますが、アプリがない・・・
惜しいな...
捨てても良いNexus7で勉強しましょう。


●注意 100円均一のMicroUSBケーブルを使用しない
100円均一のUSBケーブルを使うとインストール中に固まります。
USBケーブルを交換すると数分で書き込み出来ました。
挙動が怪しい場合はUSBケーブルを交換しましょう。


●Nexus7にPostmarketOSインストール
公式HPに書いてあるとおりです。
FastbootとかgitとかそこらへんのパッケージはPCにあらかじめ入れておきましょう。
まず、Nexus7の電源を落としてPower+音声-キーを同時押しで
ブートローダーモードを起動します。
Nexus7は簡単にUnlock出来ますので、
USBケーブルでLinux PCと繋いで認識していたら端末から、

fastboot oem unlock

でunlockしますか?と画面に表示されてOKで電源ボタンを押すと
unlockされます。
で後は母艦からインストール作業

git clone https://gitlab.com/postmarketOS/pmbootstrap.git
cd pmbootstrap
./pmbootstrap.py init
./pmbootstrap.py install --no-fde
./pmbootstrap.py flasher flash_kernel
./pmbootstrap.py flasher flash_rootfs
./pmbootstrap.py shutdown

ですが、initの間に色々と指定が必要です。
例えばuser名とWMの指定
ここはWestonしか起動出来ないのでそれを選びます。
残念ながらNoneでも他のWMでも起動しませんでした。
一応試しました。
その後にinstallとflasherコマンドでROM焼きします。
もしエラーが出たり、止まったら焦らずコマンドを止めて
PCとNexus7を再起動してもう一回コマンド入れてみましょう。
何回かやるとつながるはずです。
今の所死んでないので多分大丈夫ですw
色々と焼いて試してみましょう。


で、再起動するとWestonのPostmarketOSが起動します。
Wifiなど細かい設定は公式HPに書いてあるので試してみて下さい(汗
まだトライ中です。ごめんなさい。

●まとめ
一応ROM焼き出来ました。
WestonならUSBハブを繋ぐとキーボード、マウス使えます。
ただしXorg関係のWMが起動しない・・・
まあ公式HPにちゃんと書いてあるので文句言えませんが・・・
せっかくのLinuxもアプリが無いと機能しないかも。
まあPostmarketOSも動作OK出て動いている画面がある機種を
選ぶと良いかもしれません。
Nexus7 2013やNexus5とか・・・
惜しいな。
改造してLinuxディストリが動けば2012ももうちょっと延命出来るんですけど。
まあ色々と試してみましょう。
posted by kapper at 17:56 | Comment(0) | Nexus7

2019年03月17日

公式タブレット改造 Nexus7 2013 ブートローダー復旧とUBPorts 16.04 OTA-8インストール No.37

Nexus71.jpg

久しぶりにNexus7のネタ。UBPortsのインストール。
実はOTA-6の時、インストールに失敗して起動しなくなりました。
リカバリも出来なくて困っていたんですが、
ブートローダー上書きしてみようかとTWRPを入れたら
リカバリ領域でAndroidが普通に起動したので
再びUBPorts OTA-8を入れ直しました。
そんな記録です。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【中古】【安心保証】 Nexus7 2013[Wiーfi16G] ブラック
価格:7367円(税込、送料無料) (2019/3/17時点)




●Nexus7 2013とUBPorts
Nexus7 2013はUBPortsに正式対応しています。
数少ないタブレット端末です。
画面が大きいのでNexus5より読みやすいです。
でも流石に2013年製だから旧機種になってしまいましたが。
Androidも結構重宝しています。

UBPortsに正式採用されていて結構使っている人は海外には多そうです。
まだ高いですが6000円くらいで中古で変えるはずです。


●レンガからの復活
ROMブートローダーは起動するのですが、
2ndブートローダーから起動しないです。
最初はイメージの焼きミスかと思ったのですが
ログでよく分からなくて原因がつかめません。
Androidを焼き直してリカバリもやったのですが起動しません。
原因が分からなくて途方にくれていましたが、
オフィシャルのリカバリが駄目ならカスタムROMと思って
TWRPを起動してみたら普通に起動する。
あ、これひょっとしてブートローダーが死んでた?と思い
上書きして再起動したら普通にAndroidが復旧しました。
やり方はこちらを参考しました。ありがとうございます。

https://gadgetrip.jp/2018/03/install_oreo_to_nexus7_2013/

原因となる要素はいくつかあったのですが
勉強不足で気づきませんでした。
よくよく考えれば分かるはずでした。
まあせっかくリカバリ出来たんだから、再びUBPortsを再インストール。

●UBPortsのインストール
Nexus7のインストーラーバグはOTA-7で直りました。
どうやらメモリ関係でAndroid4.4バージョンはOKで5.1バージョンは駄目だそうな。
発売時期で中身の見えない仕様が変わっているそうです。
そんな危険なバグあるって1年以上前から知っていたらアラームを出せよw
ひどい扱いですんねw
いったいどれだけの人が被害にあったことか・・・

まあ気を取り直してインストール。
インストーラーは同じUBPorts-installerで大丈夫。
イメージは自動的に最新版がダウンロードされますので
そのままUSBで繋いで自動実行するだけです。
一応簡単です。


●まとめ
細かい作業は必要ありませんでしたけど、
復旧出来たから良かったです。
UBPortsのインストーラーは完璧ではないので
ちょっと覚悟がいるかもしれません。
原因が特定できれば復旧出来るんですが・・・
ブラウザ以外にアプリが殆どないのも課題かと・・・
Nexus7 2013は旧機種ですがまだギリギリ使えるレベルなので
そこまで安くないです。2012か・・・

posted by kapper at 09:52 | Comment(0) | Nexus7

2015年09月14日

新世代タブレット Nexus7 2013 FlashPlayer+Dolphin Browser 艦これプレイ最適化テスト No.36

最近スマホやNexus7にDolphin browserとFlashplayerを
インストールして艦これを遊んでいたりします。
ただ、Nexus7 2012やHW302とか使っていますと、
ややもっさりして引っかかります。重いです。
従来の高速化手法を重ねて艦これをほんのちょっとだけ快適にしました。
ほんの僅か気持ち程度ですが、重かった端末を後押しします。
ブラシーボもありますが、興味のある人は試してみて下さい。

◯Dolphin browserとFlashplayer、艦これプレイ
Android4.X系ではFlashplayerは対応していないのですが、
Dolphin browserはFlashplayerに対応していますので
艦これなどを遊ぶことができます。
ノートPCの電池が少ない時とか、ちょっとした時間に動かして遊べます。
前回のブログをご一読願います。

 新世代タブレット Nexus7 2013 AndroidでFlashPlayer 艦これプレイ No.35

Nexus7 2013相当なら良いですが、それ以前のAndroidだと
かなりもっさりです。
従来のAndroid高速化の手法を重ねて、
ほんの僅かだけ艦これを高速化してみました。

◯Dolphin Browserの高速化
Dolphin Browserは初期状態ではもっさりです。
少しだけチューニング出来ます。

・まずアドオンのJetPackをGooglePlayからインストール
 JetPackはレンダリングエンジンをWebkitベースに置き換える?などで
 若干表示が早くなります。勿論FlashPlayerには効果ありませんが、
 ブラウザ表示周りが高速化しますので是非入れましょう。

 Dolphin Jetpack

・テーマをデフォルトに切り替える
 画面下側のイルカマークをクリックしますとテーマの変更出来ます。
 画像のついたテーマを使用しますとリソースを食いますのでデフォルトに戻します
 レンダリングの負担を減らします。

・スマートキャッシュをON
 設定マークの「高度」のスマートキャッシュをONにしてキャッシュを使います。

・通知をOFF
 天気情報、サイドバーの諏訪イプ表示、通知を有効にする
 をOFFにして無効にします

・不要なタブを閉じる、開かない
 メモリを食いますので艦これを遊ぶときは落とします。

◯Android高速化設定
Androidの通常の高速化設定をします。

・開発者オプション設定
 高負荷抑制:クリック
 ウィンドウアニメスケール:アニメーションオフ
 トランジジョンアニメスケール:アニメーションオフ
 アニメーター再生時間スケール:アニメーションオフ
 GPUレンダリングを使用:クリック
 4xMSAAを適用:クリック
 HWオーバーレイを無効:クリック
 OpenGLトレースを有効化:どれか
 アクティビティを保持しない:クリック
 バックグラウンドプロセスの上限:プロセスの上限4
 ランタイムを変更:ARTを使用する

・アプリを管理
 使わないアプリを削除、もしくは強制停止
 結構常駐していますので可能な限り削除して停止します。
 通知を表示:外す

・ホーム画面
 シンプルへ切り替え
 不要なアイコンは削除
 不要な常駐物も削除

・メモリ解放アプリを使用
 メモリやプロセスがどんどんたまっていきますので定期的にクリーンします

・Greenifyを使用してアプリを冬眠
 動いているアプリを冬眠させます。必須。
 手動で動かせますので冬眠しても問題ないです。
 消せないアプリの省力化には必須です。
 Rootを取らなくても使えます。

・デザリング、Bluetooth、GPSの停止
 常駐物としてこれらもプロセスを食います。
 艦これやるときは停止しましょう。

・艦これHPのショートカットをホーム画面に作成

可能な限り設定してチューニングします。
再起動して艦これを立ち上げると僅かづつレンダリングが早くなります。
特に常駐物に注意しましょう。

◯まとめ
少しづつレンダリングが高速化します。
特に表示関連が結構効いてきます。
Rootを取れるならば、解像度を代えたりGreenifyを使って常駐物をもっと冬眠させたり
クロックアップも選択肢にありますが保留で。
でも基本無理な端末以外で艦これ重いなと思った方は試してみて下さい。
posted by kapper at 20:41 | Comment(0) | Nexus7

2015年08月23日

新世代タブレット Nexus7 2013 AndroidでFlashPlayer 艦これプレイ No.35

Android4.4以降ではFlashPlayerを外されましたが、
DolphinBrowserとFlashplayerプラグインをインストールすると
Flashplayerが使える様になって
今のAndroidでも艦これが遊べる様になります。
結構有名なネタだと思ったのですが、問い合わせがありましたので
ブログのネタにします。

○AndroidとFlashplayerプラグイン
まず参考はこちらを一読を。そのままです。感謝。

 【艦これ】スマホで艦これをプレイする方法
 Android 5.0.x Lollipopで「艦これ」がプレイ可能なブラウザ
 【艦これ・とうらぶ】アンドロイドで艦これ・とうらぶをプレイする方法【保存版】2015年

DolphinBrowserかFirefoxのプラグインを使う方法です。
今回はNexus7なのでTegraも想定してDolphinBrowerを使ってみます。

○DolphinBrowserとFlashplayerプラグインのインストール
まずDolphinBrowserとFlashplayerプラグインをインストールします。
海外版だそうです。

 Dolphin Browser for Android - Google Play の Android アプリ
 Dolphin Lab

上のリンク先からダウンロードしてインストールします。
「提供元不明のアプリ」の許可が必要です。
DolphinBrowserをインストールしますと基本的な所は設定されていました。
画面をデスクトップモードに切り替えましょう。
後はFlashPlayerを使う所では△マークが出ますので、クリックすれば動作します。
艦これのHPまで移動して、△マークをクリックすれば起動します。

○まとめ
有名なネタだったのですが試してみてください。
Androidでもそこそこ遊べます。
勿論スマホでも動作しますが、若干画面が狭いです。
Nexus7 2013位であれば快適に遊べるかと。
興味のある人は是非。
posted by kapper at 07:46 | Comment(0) | Nexus7

2015年07月29日

新世代タブレット Nexus7 2013 Debian Noroot & NetBSD pkgsrc インストールテスト No.34

今回はNetBSDのパッケージャーでありますpkgsrcを
Nexus7上のDebian Norootを使ってインストールしてみました。
ビルドは問題なくできたのですが、個別パッケージで
Android全般の課題がありそうな感じがしています。
Androidタブレットやスマホをビルドマシンにすることができますので
手のひらハックマシンとしていつでもどこでもテスト出来ます。

〇Android+Debian Noroot+pkgsrc
AndroidにNetBSDのパッケージャーpkgsrcを入れてみました。
pkgsrcの良い所はOSやアーキテクチャに依存しない程に洗練された設計を持ち
Unix関係全般に加えcygwinを入れたWindows上でさえも動作できます。
当然Linux Kernelのバージョン縛りから独立しており、
新旧問わず運用出来る強みがあります。

pkgsrcをLinuxにインストールするには、下記のパッケージが必要です。
•gcc (and libstdc++)
•libncurses-devel
•zlib and zlib-devel
•openssl-devel (optional but required for some packages)

当然ですが、Androidには移植されていません。
自分でソースコードからビルドする必要がありますが
ちょっと大変そうなので、Linux環境としてDebian Norootを使いました。
Debian環境下であれば、インストール方法としては同一です。
Debian NorootはAndroidのアプリで
一般ユーザー権限でDebianを起動して使える優れものです。
勿論Root権限を必要とするDebian KitやCompleteLinuxを
使っても同じかと思います。
数GB単位で容量を結構食いますから、アプリやデータは最小限にしましょう。
Androidを開発マシンとしてもリサイクルしてみましょう。


〇pkgsrcのインストールテスト
Debianを入れれば後は方法は同一です。
まずGooglePlayからDebian Norootを入れます。
Debian Norootを入れましたらターミナルを日本語化して
読める様にしておきましょう。
細かい準備はこちらをご確認ください


後の作業は普通のDebianと同じです。
コンパイルに必要なパッケージを端末からインストール。

 sudo apt-get install build-essential libncurses5-dev libncursesw5-dev

まずpkgsrc本体をダウンロード。

 wget ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz
 tar xzf pkgsrc.tar.gz
 cd pkgsrc/bootstrap
 export SH=/bin/bash
 ./bootstrap --unprivileged

初期導入終わったら

 export PATH=${HOME}/pkg/bin:${HOME}/pkg/sbin:${PATH}

あとは好きなパッケージをコンパイルしましょう。
例えば、

 cd ~/pkgsrc/pkgtools/digest
 bmake && bmake install && bmake clean

あとは放置していれば関連パッケージをダウンロード、コンパイルして
インストールまで進みます。
止まったら「ctl+z」で一回止めてもう一度bmakeし直します。
ダウンロード中に落ちたら~/pkgsrc/distfilesにtar.gzファイル形式で保存されてますので
削除して再度bmakeをやり直します。

〇perl5ビルドエラー
perl5のビルドがAndroidの「linux-android」の指定で止まります。
通常はこういう環境でビルドすることを想定していないのか、
Androidで使うという前提になっていません。
実はperl5はMikutterとか色々なパッケージのビルドで
使いますので困り毎です。
まいったな〜。

〇まとめ
一部のパッケージでビルドエラーを起こすのが悩み事ですが
一応pkgsrcのインストールからビルドまで動作しました。
今回はDebian Noroot上ですが、必要なバイナリをすべて用意すれば
Android環境でも使うことは可能かと思います。大変そうですが。
後、容量をかなり食いますので出来るだけまっさらな状態で使ったほうが良いです。
是非試してみましょう。
posted by kapper at 20:46 | Comment(0) | Nexus7

2015年07月28日

新世代タブレット Nexus7 2013 Debian Noroot xterm Fonts日本語化 No.33

今回はDebian Norootで標準のターミナルのXtermを使う際に
日本語フォントが入っていないので豆腐文字化けします。
日本語フォントの設定をして読める様にします。
簡単な事ですが、気になるので試して見ましょう。

〇Xterm日本語フォント
Debian Norootを使う際に、
Xtermのターミナルは標準では日本語が表示されない設定になってます。
日本語フォントの指定をすることで日本語が表示できます。
今回の参考サイトはこちらです。感謝です。

 Debian norootで日本語環境@android5.0.1 nexus9
 uim-ximの使い方、およびxtermの日本語関連設定

〇Xterm日本語フォント設定
無事Debian Norootをインストールして起動しましたら、
日本語フォントを入れます。
フォントは好きなものを入れましょう。

 sudo apt-get install fonts-vlgothic

フォントを入れましたらxtermの設定を変更します。
まずデスクトップのアイコンを右クリックして「ランチャーの編集」します。
xtermのコマンド実行欄がこんな風に書かれているはずです。

 fakeroot-tcp /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin/:/usr/bin/:/sbin/:/bin xterm -bg black -fg green -xrm 'XTerm*faceName:DroidSansMono' -xrm 'XTerm*faceSize:8'

見たいに書かれているはずです。
PATHがフルでランチャーに指定してあります。
DroidSansMonoの表示を他のフォントに指定すればよいです。
たとえば先ほど入れました

 'XTerm*faceName:VL Gothic'

と書き直すとフォントがVL Gothicで日本語表示されます。
保存してxtermを起動しなおすと日本語化出来ました。

〇まとめ
設定は簡単なのですが、気がつかないものです。
xtermはDebian Norootを使う際には必要なので
設定しておきましょう。

posted by kapper at 22:23 | Comment(0) | Nexus7

2015年05月14日

新世代タブレット Nexus7 2013 FirefoxOS2.2 独自ビルド版インストール編 その32

お次はNexus7 2013にFirefoxOS2.2の
独自ビルド版をインストールします。
XDAから拾ってきたイメージファイルなので
英語版で日本語入力が使えません。
ビルドする際に設定する必要がありそうなのですが、
大変なのでまずはそのまま使います。

◯FirefoxOS
Mozillaが開発しているhtml5ベースのモバイルOSで、
Androidのベースに独自GUIを搭載しています。
KernelとブートローダーをAndroidと共通で流用しているので
ドライバの動作率が比較的高いです。

Nexus7 2013以降のNexusシリーズを対応しております。
ソースコードから日本語設定でコンパイルするなど
結構手間がかかる所が課題ですが、商用化に成功しており
アプリの数も増えております。
AUがFirefoxOSを採用しており、今後が楽しみです。

◯FirefoxOSのインストール
インストールは簡単でMultiROM Managerからインストールできます。
XDAのスレッドにForefoxOSのROMが公開されていますので、
そちらをダウンロードしてMultibootする形です。
やり方は他のOSと同じです。

まずNexus7 2013とRoot化、Unlockをしておきます。
ここらへんはNexus Root Toolkitを使うと楽です。
次にMultiROMを入れます。
まずTWRP ManagerとMultiROM ManagerをGooglePlayから入れます。
で起動すると設定変更されるので再起動を繰り返します。
次はXDAのスレッドからFirefoxOS ROMのZIPファイルをダウンロード。
最近ならFirefoxOS2.2ですかね?
ブラウザでダウンロードしましょう。
多分Downloadのフォルダに保存されます。

 [Q&A] [ROM][OCT 11] FirefoxOS 1.2 and 1.3

再起動してリカバリモードを起動。
右下のMultiROM→Advanced→Add ROMで
先ほどダウンロードしたZIPファイルを選択します。
後はインストール待ち。
インストール終わりますとMultiROMのブート画面にROM名が登録されるので
それをダブルクリックすれば起動します。
後はOSの初期設定と無線LAN設定をしましょう。


◯ソフトウェアの追加インストール
GUIの下側にMarcketがありますので
そこからクリックします。
色々と対応しています。

◯まとめ
一応問題なく立ち上がります。
日本語化はビルドなど必要なので手間がかかります。
インストールは簡単ですが、どうやって使うかですかね。
アプリはそこそこありますので、試してみましょう。
posted by kapper at 00:28 | Comment(0) | Nexus7

2015年05月13日

新世代タブレット Nexus7 2013 Ubuntu Touch インストール編 その31

お次はNexus7 2013にUbuntu Touchをインストールします。
とは言いましてもMultiROM Managerからクリックするだけです。
簡単に使えますが、

◯Ubuntu Touch
Canonicalが開発しているUbuntuベースの
モバイルOSので、Ubuntuのベースに
モバイルGUIとアプリを搭載しております。
端末も使えるのでLinuxとして使えます。

Nexus7 2013以降のNexusシリーズを対応しております。
課題はアプリケーションの普及でしょうか?
FirefoxOSと比較すると商用化がやや遅れて登場し
普及するかは楽しみです。

◯Ubuntu Touchのインストール
インストールは簡単でMultiROM Managerからインストールできます。
まずNexus7 2013とRoot化、Unlockをしておきます。
ここらへんはNexus Root Toolkitを使うと楽です。
次にMultiROMを入れます。
まずTWRP ManagerとMultiROM ManagerをGooglePlayから入れます。
で起動すると設定変更されるので再起動を繰り返します。
一連の再起動が終わりまして
MultiROM ManagerのGUIにある
「Ubuntu Touchのインストール」をクリックします。
ディストリは安定版のVividとかにしましょう。

再起動するとMultiROMのランチャーにUbuntu Touchが
追加されるのでそれをダブルクリックすれば起動します。
言語は日本語に設定します。
後はOSの初期設定と無線LAN設定をしましょう。

◯ソフトウェアの追加インストール
GUIの下側にUbuntuストアがありますので
そこからクリックします。
数は少ないですがSMSとかは対応しています。

◯まとめ
一応問題なく立ち上がります。
インストールは簡単ですが、どうやって使うかですかね。
ブラウザがあるのである程度の使い方は出来ます。
アプリ数は製品化して常用され始めてから本番ですかね。
posted by kapper at 06:29 | Comment(0) | Nexus7

2015年05月11日

新世代タブレット Nexus7 簡単TWRP ,MultiROM Manager Rootアプリ編 その30

今回はNexus7でTWRPとMultiROMをAndroid上から
コントロール、アップデートを掛けられる
TWRP ManagerとMultiROM Managerをネタにします。
細かい作業で母艦が不要になり、簡単操作で
OS載せ替えやリカバリ設定が出来る様になりますので
大変便利です。
かなり昔のネタなので今更感は大きいですが。
勿論Root化とUnlockは必要です。自己責任で。

◯TWRPとMultiROM
Android Nexus7上でUbuntu TouchやFirefoxOSなど
違うOSを載せ替える際にはリカバリモードでイメージ焼きこみと
ブートローダーで起動時のOSを切り替える必要はあります。

当初は母艦のFastboot、adbコマンドを用いて
USB接続して操作していましたが、
Android上でFastboot、Adbコマンドが使える様になると、
独立したカスタマイズが可能になり、GUIツールが誕生しました。
Android単独でOSの切り替え出来ます。
MultiROM ManagerはUbuntu Touchに対応しておりまして、
ワンボタンでUbuntu Touchのインストールとデュアルブート環境が作れます。
便利な時代ですね〜。

◯TWRP ManagerとMultiROM Manager
GooglePlayからダウンロード可能です。
Root化、Unlockしたら自己責任で入れてみましょう。
Root化やUnlockはNexus Root Toolkitを使うと簡単です。

 TWRP Manager (ROOT)
 MultiROM Manager

入れましたらまずTWRP Managerを立ち上げます。
勿論SuperSUとか必要。
TWRPのランチャー画面が出てきまして、
ROMのInstall、Restoreなどが設定できます。
勿論TWRPをインストールすることも可能です。

ここで変な事をやると後が大変なので、まずTWRPのインストールと
バックアップだけに留めておきましょう。
下手にROMをそのままInstallして上書きすると
元に戻せなくなって最悪Nexus Root Toolkitで
ファクトリイメージへ焼き直しです。

次にMulitROM Managerをインストール。
これで元々のAndroidに加え他のOSをデュアルブート出来ます。
ROMをZIPでダウンロードして登録することで起動出来ます。
Tgzファイルは使えないので展開しておきましょう。注意です。
またUbuntu Touchをインストールするオプションがありまして、
ワンボタンでUbuntu TouchをNexus7 2013にインストール出来ます。
凄く簡単ですよね。


◯まとめ
当初はあれこれ面倒だったFastbootも
今は標準アプリだけでカスタマイズ出来るんですね。
Ubuntu Touch使いたい人もワンボタンです。
各独自ビルドに公式対応しているNexus7は非常に恵まれています。
好きなROMを焼きこみしたい放題ですね〜。
FirefoxOSを使いたい人はZIPのROMイメージを拾ってきましょう。
くれぐれもTWRPでInstall上書きは辞めておきましょう。
FirefoxOSは解凍ソフトが貧弱なので、イメージファイルの焼戻しが不便です。
色々なOSを試してみましょう。
posted by kapper at 21:08 | Comment(0) | Nexus7

2015年04月26日

新世代タブレット Nexus7 簡単Unlock、root化アプリ Nexus root toolkit編 その29

僕はNexus7を複数持っていますが、新しい端末のroot化する際に
母艦を消してしまったので面倒だなーと思っていました。
その際にWindowsでもワンボタンでUnlock、root化が出来る
Nexus root toolkitを入れて使ってみました。
簡単にRoot化が出来るので、面倒と思っていた人は
是非試してみましょう。

◯Nexus root toolkitとは
NexusシリーズのUnlock、toolkitです。
adbコマンドからrootを取る方法をGUIで自動で行ってくれます。
まあ、Windowsを使うことで母艦側のセッティングが
楽で簡単というメリットもあります。
今回はこちらのサイトを参考にさせて頂きました。
大変感謝です。

 nexus-root-toolkitの使い方

root化することのメリット、デメリットあると思いますが、
余ったNexus7があれば是非Linux化してリサイクルしましょう。

◯Nexus root toolkitのインストール
まずwindowsマシンを用意します。
本家サイトからNexus root toolkitをダウンロードしてインストールします。

 Nexus Root Toolkit v2.0.5

次にGoogle USB Driverをインストール。
これ気づきにくいですが重要です。

 Google USB Driver

画面右のDownload Google USB Driverから落として展開します。
Nexus7をUSBケーブルで繋いだ際のドライバインストールに必要です。
次にNexus7側でUSBデバッグを有効化します。
まず、Nexus7側で

「設定」⇒「タブレット情報」⇒「ビルド番号」を
選択してクリック連打します。

クリック連打することで「開発者向けオプション」が設定に追加されます。 
面倒な設定ですね。
開発者オプションにあります「USBデバッグ」をONにします。
これで設定OKです。

設定出来ましたらWindowsとNexus7をUSBでつなぎます。
その際にNexus7のUSBドライバーが認識されないと出てきます。
先ほどダウンロードした、USBドライバーを選択して認識させます。
これが無いとadbコマンドが使えないのでUnlock、Root化出来ません。
一旦USBをを抜いて、Nexus7を挿し直しましたら
USBドライバーが認識しましたら、Nexus root toolkitを起動させます。
画面が出てきますので、
・バックアップ
・Unlock
・Root

の順番にボタンを押して実行します。
動かない場合はNexus7のドライバが認識されていない?
もう一回試してみましょう。
Nexus7が再起動してUnlockします。
Unlock画面になったら音声キーで上を押して
電源ボタンでUnlockをONにします。
その後で再起動。

これを繰り返して無事UnlockとRoot化出来ます。
後はSuperSUとかAndroid Terminal Emulatorとか
Rootアプリを入れて試してみましょう。

◯まとめ
母艦側の設定が減るので手間としてかなり少なくなります。
Ubuntuなどインストールしなおして、レポジトリを登録して〜
とかやると結構大変ですが、こちらは楽です。
端末余っているけどRoot化するの面倒だな〜と思っている人は
是非試してみましょう。
Linux ChrootやUbuntu Touch、FirefoxOSとか入れたい人にもオススメ。

普段ARMのLinuxしか使わないのでWindowsは新鮮ですw
いえいえ突っ込む所はそこじゃないw
Linux使いでも是非Windowsを母艦としても試してみましょう。
posted by kapper at 17:42 | Comment(0) | Nexus7

2015年04月24日

新世代タブレット Nexus7 Debian Kitインストール 動作テスト編 その28

お次はAndroid上でDebootstrapを用いて、
apt-getのパッケージを動作させるDebian Kitをテストしました。
こちらもかなり昔のネタなので、大変恐縮ですが
せっかくだからブログのネタにします。

◯Debian Kitとは
Debian KitとはAndroidのTerminal Emulatorを使って
Debianのパッケージを使える様にするDebian化Kitです。
基本的な所は他のChroot環境と同じですが、
マウントする場所がAndroidの/ である所が
他のchroot環境との違いです。

動かし方はまずイメージファイルを作り、そこにdebootstrapを用いて
Debianのパッケージをインストールしてます。
そこからバイナリをAndroidの/環境で使える様にマウントする形かと。
Androidの/ 環境をapt他で直接操作出来るので面白いと共に
リスクのあるツールとも言えます。
基本的な原理は他のchroot環境と同じです。
root環境が必須です。

◯Debian Kitのインストール
大本の情報はこちらです。情報は昔からある古いものです。
今更と言われると恐縮ですが。

 Debian Kit for Android
 第256回 新春特別企画・Android上でUbuntu…ではなくDebianを使う
 ASUS HD7にdebianをインストール

まずレポジトリから本体ファイルをダウンロード。

 http://sven-ola.dyndns.org/repo/

端末から

 su
 mv debian-kit-1-5.jpeg debian-kit-1-5.shar
 sh /sdcard/Download/debian-kit-1-5.shar

で展開したら「Y」と「Enter」を押して実行。
/sdcard/直下にdebian.imgが作成されます。
外部SDに記録したい場合は指定しましょう。
でmk-debianを実行。

 /data/local/deb/mk-debian -d squeeze

Debian squeezeがインストールされます。ちょっと古いです。
その後、インストールが終わりましたら、「deb」コマンドで実行。

 deb

そうすると先ほどdebootstrapでダウンロードしましたバイナリが使える様になります。
試しにapt-getしてみましょう。

 apt-get update
 apt-get upgrade

最初に「deb」コマンドを使わないとDebianのバイナリが
動かない方式になっていますので注意。
日本語化他は参考サイトをご一読願います。

◯まとめ
Debian kitでdebootstrapとapt-get出来る様になりました。
これでAndroidでもDebian化出来ます。
root環境が必要ですが。
X環境を使いたい場合はvncserverかXserver-SDLを使うと良いかと。
余っているAndroidがあればDebianとして使ってみましょう。
posted by kapper at 01:07 | Comment(0) | Nexus7

2015年04月18日

新世代タブレット Nexus7 遠隔操作 VNCserver RDP動作編 その28

次のOSC名古屋のセミナー用としてAndroidを触ってます。
今回はAndroid用のVNCサーバです。
Androidの画面を他のPCに飛ばす方法です。
まあAndroidのタブレットをモニタ代わりにする逆は良くありますが、
サーバとしてはあまり頻度が低かったりします。

◯VNCサーバ & クライアント
VNCサーバとクライアントはマルチOS環境の遠隔操作アプリです。
双方のOSに依存しない設計なのが魅力です。
今回はVNCサーバ側です。
でもサーバ側ってメリットあるの?
実はこんな用途を想定しています。

・Androidの画面をモニタ、プロジェクタに出力
 セミナーでAndroidの画面に写す際に便利です。
 デモンストレーションに良いかなと
 自宅ならHMDIやChromecastという方法はありますが。
・Line、Skype、Amazon KindleなどをPCの画面に出力
 PCで読めない小説とか開く際には使えるかも


◯VNCserverを立ててみる
GooglePlayからアプリをインストール。
Root化必要なものとそうでないものがあるので注意。

・VNCserver
 無償だがRoot化必要。画像圧縮しないので転送速度は遅い
・VMLite VNCserver
 Root化不要だが有料

とりあえず立ててみましょう。
起動したらPCか何かでVNCviewer。
IPアドレスとポートNoの確認必要。
ルータ側の設定注意。

◯まとめ
VNCserverは実用性高くないですが、
特定の用途には便利です。
特にプロジェクタなど表示関連のハードウェアを
リンクしたい場合にはPCを介した方が楽な場合もあります。
Officeアプリの操作とかも。
興味のある方は使ってみましょう。
posted by kapper at 21:38 | Comment(0) | Nexus7

新世代タブレット Nexus7 Complete Linux InstallerとXサーバ動作編 その27

久しぶりにNexus7をネタにします。
実は2年前に試したネタですけど・・・
うまく使えてなかったのでブログには書いていませんでした。

◯Complete Linux Installerとは
Android用のChroot環境インストーラーです。
Ubuntu, Debian, Kali Linuxなどが
インストール出来る凝ったツールです。
凄いですよね〜。
Root化が必須ですが、余った端末があれば
一度は試してみましょう。
はじめはCUI環境に慣れていると楽です。

Chroot環境なので、Androidを入れたまま
Linuxディストリを使えます。継続して更新されている様なので
新しいバージョンも対応しているはずかと。
Xサーバを併用すれば、Xアプリも使えます。
が、ちょっと慣れが必要です。
CUI環境とChroot環境に慣れていない人には分かりにくいかも知れません。

◯Complete Linux Installerを入れる
まずはRoot環境を入れましょう。説明は割愛します。
次にGoogle PlayでAndroid Terminalを追加でインストール。CUI起動の為、必須です。
その後にComplete Linux Installerをインストールします。
ここまではクリックするだけ。

Complete Linux Installerを起動するとランチャーが左端に表示されます。
そこで「Launch」を選んで入れたいディストリを選択します。
空き容量に注意です。

端末からchroot環境がダウンロードされて起動します。
UbuntuやDebianを選んだ際にはapt-get コマンドが使えればOKです。
一先ずここまで起動しましたでしょうか?Root化必須です。

◯X環境を使う
このままでも面白いですがX環境を入れましょう。
X環境は主に2つあり、

・VNCServer、XRDP経由
・Xserver-SDL経由

普通に使うのであれば解像度が多彩なXserver-SDLが便利ですが、
解像度を変えたりソフトウェアキーボードなどを駆使する場合は
オプション機能が沢山あるVNCServerもありです。

◯VNCserverを使う
Ubuntu、DebianのChroot側でTightvncserverを立ち上げて
Android側でVNCviewerを使って表示する方法です。
VNCと言ってもネットワークを介さないので高速です。
またキーボード、解像度設定などVNC特有の機能が使えます。便利ですね。

まずUbuntu,Debianのchroot環境でVNCserverをインストール

 apt-get install tightvncserver

インストールしましたら実行します。

 tightvncserver &

起動確認しましたらポートNoを確認します。
大抵5900か5901だと思います。
解像度を自分で設定したい場合は

 tightvncserver -geometry 1280x800 &

みたいに設定出来ます。
あとはAndroidの画面に戻してVNCviewerを起動します。
VNCviewerのアプリは好きなので問題無いです。
ログインする際に

アドレス: 127.0.0.1:5901 か localhost:5901
ユーザー:設定したもの
パスワード:設定したもの

で実行すると起動出来るはずです。
起動できなければTightVNCserverが起動していないか
ポートNoが違っているだけだと思います。変えてみましょう。

◯Xserver-SDLを使う
Xserver-SDLはSDLを使ったウィンドウ形式のXサーバです。
非常に高機能で便利です。
Debian Norootで有名ですが単独のChroot環境でも使えます。
まずはGooglePlayかSourcefogeからapkインストールします。
その後、Xserver-SDLを先に起動しておきます。

でChroot環境の端末から、

 env DISPLAY=xxx.xxx.xxx.xxx:0 lxsession &

みたいな感じで起動します。
xxxはIPアドレス:0はDISPLAYポートNo、後はWMを起動。
各自の環境に合わして入れましょう。

後は、Xserver-SDLをタップして画面に戻せばWMが起動しているはず。


◯まとめ
Android上でChroot環境とXサーバ環境を動かしました。
apt-getとか日本語化は必要ですが。
一先ずAndroid上でLinuxディストリ環境が使える様になったはず。
Complete Linux InstallerはUbuntuやDebian他にも
ArchやFedora、OpenSuseのイメージファイルにも対応しているそうなので
是非好きなディストリを試してみましょう。
サーバにOfficeに開発にMikutterと。
余ったAndroid端末を是非有効活用してみましょう。
posted by kapper at 10:20 | Comment(0) | Nexus7

2015年03月24日

新世代タブレット Nexus7 Debian noroot qemu-system-i386 Windows2000エミュレータ動作編 その26

NetBSDの次はWindows2000をNexus7上のqemuで動作させてみました。
動くのは分かっているのですが遅すぎです。
起動にどんだけ時間かかるんだー、と泣けてきます。
Nexus7レベルではスペック不足の為、実用性はありませんが
これで動くということはAndroid4.0以降で動きます。
スペック的にはTegra K-1以上を推奨します。

○Android上でqemu-system-i386
前回のNetBSDとChromebookのネタと同一です。
過去の情報はこちらを参考。

 ARM Tegra K-1 Chromebook13 qemu-system-i386 WIndows2000,98 エミュ動作テスト+ベンチマーク その20
 新世代タブレット Nexus7 Debian noroot qemu-system-i386 NetBSDておくれLiveイメージ動作編 その25

Android上でqemuを動かすには

・Limbo for Android
・Debian noroot+qemu

の2つの方法があります。Limboはroot化が必要なので後日検討。
まずはDebian noroot+qemu-system-i386を試してみました。

○qemu-system-i386とDebian Noroot、qemu動作
下記は過去のブログとほぼ同一です。
まずはAndroidにDebian Norootをインストールします。
Google Playからいけます。
インストールしたら立ち上げてみましょう。
次にqemuです。

qemuはDebian wheezyのバージョンでは古いので
Debian Wheezy-backportsから使います。
設定としてまずrootのターミナルからpin-priorityを設定します。

 apt-get install leafpad
 leafpad /etc/apt/preferences

で下記内容を追加。

 Package: *
 Pin: release a=wheezy-backports
 Pin-Priority: 600

Pin-Priorityで100以下は禁止。500以下は全パッケージを指定、
900以下は半自動で指定、1000以上は強制ダウングレード。
保存しましたらapt-getして入れてみます。

 apt-get update
 apt-get install qemu/wheezy-backports

でwheezy-backportsのqemu関係が一式入ったはず。

○Windows2000のインストール
Androidでは容量が足りなくなるので
別PCでWindows2000をインストールした方が良いかと。
激重なのでNexus7ではやらない方が吉です。
次にHDDイメージファイルを作成します。

 qemu-img create -f qcow2 win2000.qcow2 2G

容量に注意です。Androidでそのままやると一杯になります。
Nexus7へ転送するにはPCからUSBを使った方が楽です。

・PCとNexus7をUSBでつないでコピー
・Nexus7にNexus Media Importerを使いUSBメモリをマウント

容量が大きいのでsdcard以下に置いておきます。
でコピー。
今回はsdcard以下にします。
でqemu動作。

ファイル形式はqemuのファイル形式のqcow2以外でも
mount出来るraw形式でも良いです。
使いやすいタイプを選んで下さい。
次にWindowsのCDイメージを実CDから作成します。
母艦windowsではISOソフト、Linuxの場合ddコマンドを使用します。

ISOファイルを作成しましたらqemuでブートします。
コマンドラインから

 qemu-system-i386 -L pc-bios -cdrom win2000.iso -net nic,model=pcnet -net user -cpu pentium -hda win2000.qcow2 -boot d -vga cirrus -soundhw sb16 -localtime

NICの設定とCPUの設定、VGAの設定を追加します。
CPUはPentium他色々な設定できますが、
486にしてもベンチマーク速度は同一でした。
VGAは標準ドライバがあるcirrusにしておきます。
-boot dコマンドは起動をD:¥のCDROMから起動する設定です。

Windows2000のCDが起動しますと得に異常がなくそのまま進めます。
ただし「F8」キーといったファンクションキーがChromebookでは使えないので
必要ならバーチャルキーボードを簡易的に入れておいた方が良いです。
例えば
 
 sudo apt-get install xvkbd

と言った形でxvkbdを使える様にします。
後は時間がかかりますが簡単な設定で動作します。 
cirrus GD5446を設定していますので、
解像度を好きな値に変更しておきましょう。

○まとめ
速度的に無理がありますが動きます。
イメージファイルさえ動作すれば、どの環境でも動きますので
出来るだけ高速な母艦でインストール作業しましょう。
起動に1時間位でしょうか?
とてもベンチマークを測定する気になれません。
まああくまで実験ということで。
posted by kapper at 01:07 | Comment(0) | Nexus7

2015年03月22日

新世代タブレット Nexus7 Debian noroot qemu-system-i386 NetBSDておくれLiveイメージ動作編 その25

Chromebookでqemu-i386エミュで調査したベンチマークデータを
元にNetBSDておくれLiveイメージやDamnSmallLinuxとか一部のOSが
ARM上qemuエミュでも動く事がわかりました。
今回はAndroid上でqemuを使ってNetBSDておくれLiveイメージを
試しに動かしてみました。
これが動けば他のOSもAndroidで動きます。
Nexus7のスペックではすごく重いですが動作実験ということで。

○Android上でqemu-system-i386
Android上でqemuを動かすには

・Limbo for Android
・Debian noroot+qemu

の2つの方法があります。Limboはroot化が必要なので後日検討。
まずはDebian noroot+qemu-system-i386を試してみました。

色々試行錯誤したのですが、
ARM上でi386をエミュろうとした場合、qemu-1.5.0以降が必要だそうです。
Sidで動いてWheezyで動かなかった理由がqemuのバージョンによるものでしたが、
当時はそんな事分かるわけないし・・・
まあ動いたから良しとしましょう。
ちなみにこれが動けばWindows98やWindows2000も動きます。
多分OSが古い分、こちらの方が軽いかと。

Limboプロジエクトのサイトには、
下記のように書いてありましてqemu1.5以上で動作確認とありました。

 Limbo for Android

Limbo is based on QEMU 1.1.0 which is an old version
and needs to be re-based to newest QEMU 1.7.
QEMU versions 1.5+ contain changes in the cpu timer routines
which need to be ported successfully to Android in order for Limbo to work.


○qemu-system-i386とておくれLiveイメージ動作
まずはAndroidにDebian Norootをインストールします。
Google Playからいけます。
インストールしたら立ち上げてみましょう。
次にqemuです。

qemuはDebian wheezyのバージョンでは古いので
Debian Wheezy-backportsから使います。
設定としてまずrootのターミナルからpin-priorityを設定します。

 apt-get install leafpad
 leafpad /etc/apt/preferences

で下記内容を追加。

 Package: *
 Pin: release a=wheezy-backports
 Pin-Priority: 600

Pin-Priorityで100以下は禁止。500以下は全パッケージを指定、
900以下は半自動で指定、1000以上は強制ダウングレード。
保存しましたらapt-getして入れてみます。

 apt-get update
 apt-get install qemu/wheezy-backports

でwheezy-backportsのqemu関係が一式入ったはず。
でておくれLiveイメージをダウンロード。
ただしAndroidでは容量が足りなくなるので
別PCでダウンロードして展開した方が良いかと。

 wget http://teokurebsd.org/netbsd/liveimage/20141231/liveimage-i386-emu-20141231.img.gz

で展開します。gzなのでファイラーから展開すると楽です。
3.7GBもあるので容量に注意です。Androidでそのままやると一杯になります。
Nexus7へ転送するにはPCからUSBを使った方が楽です。

・PCとNexus7をUSBでつないでコピー
・Nexus7にNexus Media Importerを使いUSBメモリをマウント

容量が大きいのでsdcard以下に置いておきます。
でコピー。
今回はsdcard以下にします。
でqemu動作。

 cd sdcard
 qemu-system-i386 -m 512 -hda liveimage-i386-emu-20141231.img

で待つこと長い間。やっとておくれLiveイメージが動作するはずです。
こればかりはAndroid機のスペックに速度は比例します。

○まとめ
システムの要求と環境が想定外でした。
悩みましたが結局qemuが原因ですね。
これでAndroidでもWindows2000とNetBSDが制覇です。
qemuの速度は浮動小数演算に比例しますのでARMでは特に遅いです。
実際の速度が遅いので対案が必要かと思いますが。
Tegra K-1以上のスペックを推奨します。(TegraK-1⇒Pentium2 266MHz相当)
今後の新機種はともかく、今はテスト向けということで。
posted by kapper at 21:40 | Comment(0) | Nexus7

2014年10月29日

新世代タブレット Nexus7 Debian noroot、Gimpテスト編 その24

今回はAndroidにRootも取らずそのまま入れれるDebianの
Debian norootと派生物のGimpをテストしたので紹介します。
正直言って手軽で便利です。
ちょっと重くなりますが旧機種のリサイクルに最適です。
Androidと並行して是非使ってみましょう。

○Debian noroot
Debian norootとはAndroid上のXserver SDLを用いて
Debian環境をchrootで構築してXを直接Android上に立ち上げます。
他の環境と比べroot化しなくても良いので便利です。
またapkファイルがSourceforgeにありますので、
GooglePlayとかなくても手動インストールできます。
Android1.6以降の対応なので容量さえあれば旧機種でも使えます。
便利ですよね。

XserverSDL Androidを用いて立ち上げるアプリは色々とありまして、
主にX関連のアプリをSDL経由直接動かす形で移植されています。
今回GimpとしてGoogleplayに登録されたアプリも同じです。
環境条件はこんな感じです。


○Debian norootインストール
インストール方法はGoogleplayか
Sourceforgeからapkファイル経由でダウンロードします。

 libsdl-android

アプリをインストールしますと、自動的にDebian rootfsファイルを
ダウンロードしてXSDLが起動します。
いきなり大量にダウンロード開始しますので回線と容量には注意が必要です。
レジュームがかかりますので一旦止めても大丈夫です。

起動しましたら、Nexus7の様に有名な機種以外は
解像度とフォントサイズをボタンで指定します。
フォントサイズはもちろん解像度で変化しますので画面が狭くなります。
後でも変更できますが、XFCEのバーやアイコンが大きくて表示できなくなるので
出来るだけ小さいフォントにした方が楽です。

初期設定が終了しますとXFCE環境が立ち上がります。
Root対応の端末アイコンがデスクトップにありますので
aptとか使いたい場合は実行します。
マウスはタップ移動か重心移動で
キーボードはBluetoothか何か別途用意した方が良いです。
バイナリをAndroidと並行して複数起動させるのでちょっと動作が重くなります。

○まとめ
非常に簡単なので助かります。
Googleplay非対応な機種でも入れられるので
Android電子辞書とか旧スマホでも使えます。
個人的に遊ぶには便利です。
これはソースコードが公開されていますので
設定を変えれば多分Debian以外のrootfsを入れて起動することも多分可能です。
是非自分のお気に入りのディストリ環境を整備してみましょう。
Androidエミュレータでも動作しそうなので面白いです。
posted by kapper at 19:27 | Comment(0) | Nexus7

2014年03月30日

新世代タブレット Nexus7 Ubuntu Phone 14.04β r250テスト編 その23

前回のブログでNexus7のUbuntu Phoneをデュアルブートにしました。
今回は本体内蔵のアップグレードでr250を入れて動作確認しました。
ざっくり言いますとサイドバーを動かした際にフリーズして落ちるバグが
なくなり、フリーズしにくくなりました。
アプリはまだまだですが、やっと動かせるレベルになったと
言えるかもしれません。

○Ubuntu Phoneデュアルブート
インストール詳細は前回のブログに書きました。
Ubuntu Phoneは独自のイメージ配布なのでapt-getは使っていけません。
Ubuntu Phoneのsetthing-updateから直接イメージを落とします。
やってみましょう。


○Ubuntu Phoneアップデート
Ubuntu PhoneをAndroidのランチャーから立ち上げて再起動。
立ち上がりましたら左サイドバーの左下アイコンよりメニュー起動。
Home画面を一個左にスライドさせて、Applicationの画面のInstalledに
System Settingというアイコンがありますので、起動。
右下にUpdatesのアイコンがあるので起動。
Updateを押すとイメージファイルをダウンロードしてインストールします。
再起動が掛りUbuntu Phoneがアップデートされます。


○アプリの追加インストール
アプリの追加にはUbuntuONEのアカウント登録が必要です。
無料なので作成しておきましょう。
再びHome画面のApplicationタブのやや下にある
More Suggestionが追加アプリです。
他にはDash Pluginsがあります。
More Suggestionで追加したいアプリをクリックしますと
UbuntuONE登録画面になりますので登録、アカウント入力しますと
インストール出来る様になります。
まだ動かないもの多数ですが、入れてみましょう。
とりあえず入れるしかなさそうです。


○まとめ
一応動くようにはなりましたがtwitterとか挙動おかしいですし、
一部でまだフリーズします。
そしてちょっともっさり気味です。
まだAndroidには追い付きませんが少しづつ形になってきました。
posted by kapper at 07:58 | Comment(0) | Nexus7

2014年01月15日

新世代タブレット Nexus7 Ubuntu Phone &Android デュアルブートインストール編 その22

今日はNexus7を用いてUbuntu Phoneを試してみました。
最近公開されたインストーラーではAndroidと
デュアルブート出来る様になっています。
まだ完成度は低いですが動くレベルまでにはなってます。
興味のある方はどうぞ。

○UbuntuPhone & Androidデュアルブート Nexus
UbuntuPhoneはスマホ向けUIにUnityを改造した環境で
Nexusシリーズに対応しております。
まだ完成度は低いですが、そこそこ動くレベルにはなってきました。



○Nexus7へのUbuntuPhoneインストール
Nexus7のBootloaderをUnlockする方法は何度も書いているので割愛します。
Unlockした状態でNexus7で起動したという前提で進めます。
もちろんx86 UbuntuとUSB接続は必要です。
バックアップは各自取っておいてください。
詳細は本家HPをご確認ください。

 
 DualBootInstallation 

まずはPPAを登録して関連パッケージをインストールします。

 sudo add-apt-repository ppa:phablet-team/tools
 sudo apt-get update
 sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

Android上からUSBデバッグをONにします。
これを使わないとUSBメモリとして認識できず
インストール出来ません。
その後 Ubuntu上からインストーラーを実行させます。
下記スクリプトをダウンロードして実行します。

 http://humpolec.ubuntu.com/latest/dualboot.sh

 chmod +x dualboot.sh
 ./dualboot.sh FULL


ブートイメージをNexus7に書き込みます。
Nexus7が再起動してインストーラーが勝手に動きます。
途中で何回も止まるかと思いますが、
その際はNexus7を再起動してAndroidからUSBデバッグをONにします。
するとUSBメモリとしてUbuntuから認識して再び再起動
インストーラーが再開します。
多分USBメモリとしての端末の有無でインストーラーが判断している様子です。

問題なく書き込めたらAndroidが再起動します。
見慣れぬUbuntuDualBootのインストーラーのアプリが一個増えているはずです。
タップすると下方向にUbuntuインストーラーのボタンがあるので
ネットワーク接続しているのを確認したのちにボタンを押します。
すると自動でUbuntuのイメージがダウンロード開始しまして
勝手にインストールします。
電池はしっかり充電しておきましょう。
インストールが終了するとUbuntuブートボタンになっているはずなので
一回再起動して更新したのちに、UbuntuDualBootのアプリを実行して
再び下ボタンを押すと再起動してUbuntuPhoneが起動します。

エラーが起こった場合はイメージファイルの書き込みが出来ていないので
最初からやりなおしましょう。

○Ubuntu Phone使ってみて



○まとめ
意外と簡単です。
Nexus7でUbuntuPhoneが起動しました。
ただ使い道がなさそうです。
それなりに動くレベルまで作り込んだのは流石ですが。
iOSとAndroid2強の時代に参入するのは厳しそうです。
これ本当に売るんですか?
wineが動くとか目玉が無いと。
重いし。
posted by kapper at 19:18 | Comment(0) | Nexus7
にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ