SlideShare a Scribd company logo
1
AndroidタブレットでLinuxを色々と遊んでみよう
続編 その2
1、自己紹介
2、Androidの紹介、全体像
3、Android上でのLinuxディストリビューション動作
 ・Debian norootとchroot環境
 ・Androidでx86 PCエミュレータ
 ・KindleFireTVなどを遊んでみる
4、Androidで電子工作遊んでみる
5、Nexus7でOS載せ替えテスト
 ・Android独自ビルドとMultiROM、TWRP
 ・その他カスタムROM
6、Androidを独自ビルドしてみた
7、中華タブレット データ解析
8、MultiROMハッキング
9、次回出展
講演:Kapper
OSC名古屋2016/5/28 16:15~
会場:吹上ホール 4F 第3会議室(2)
講演資料は電子データと
紙面を配布しております。
詳しくはブースまで。
http://kapper1224.sakura.ne.jp/
2
自己紹介 Self Introduction
●
My name: Kapper
●
Twitter account:@kapper1224
●
HP:http://kapper1224.sakura.ne.jp
●
Slideshare:
●
My Hobby:Linux、*BSD、and Mobile ARM Devices
●
My favorite words:Record than experiment important
●
Test Model:Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi
      Nexus7(2012、2013)、Hercules eCAFE EX HD、Jetson TK-1、
      OpenPandora、ARM Chromebook、ZTE OPEN C(FirefoxOS)
      台湾Android電子辞書 無敵CD-920、CD-928
       
●
Recent Activity:
 I have been active in the Tokaido Linux User Group.
 Hacking of Android Nexus7.
 I have recently often use the ARM Chromebook.
 
3
Recent test こんな事やってます
1.Linux distributions on Android 2. Electronic Circuit on ARM
3. Windows and Wine on ARM 4. Plesentations in Asia(HongKong,Taiwan)
Opensouce Conference
RaspberryPiを使ってLチカ
昔に戻って、電子回路工作を楽しんでます
4
今回のテーマ
●
今回はマニアックにAndroidを攻めます!
●
「OSを入れた後に何に使えるかを教えて欲しい」
というご要望を踏まえてアプリの紹介を追加しました
●
今回はそれぞれの実例に集中しています
●
始めての方は前回のNexus7の資料もご一読を
●
資料数が多くなりすぎたので、時間の都合で
後半の内容を割愛する可能性があります。
5
今回の話の流れ
ブートローダー
Kernel
SoCOS載換え
Root化
MultiROM
pkgsrc
Linux
ディストリ
chroot環境
(root)
Mikutter
遠隔操作
サーバ
Debian Noroot
(通常ユーザー)
簡単
アプリ
入れるだけ
難しい
マニア向け
やれる事が
限られる
重要
長く使う為に
サーバ用途
Office用途
ハック、改造用途向け
デベロッパー
ディストリ
ビューター
「End of Life」延長
対象ユーザー(伝えたい事)
Mikutterマニア
x86エミュ
Windowsアプリ
電子工作
Arduino用端末
6
Android改造の簡単な歴史
Android ~4.x
中華タブレット全盛
Root化アプリ多数
↓
アプリ入れるだけ
Android~4.2
Nexus7登場
ブートローダーが
ロックされていない
↓
Root化可能
Android初期~2.3
root取れない
Webkitのバグから
Root化
↓
改造
機種限定
規制厳しい 誰でも出来る アプリで簡単
7
PC市場の中のAndroid
中華パッド
スマート
ウォッチ
Android
スマート
フォン
Android
Windows
Tablet
Windows
ノートPC
iPad
Chromebook
Mac
book
RaspberryPi
Android Stick
1ボードPC
Windows
PC
Google
グラス
モバイルPCデスクトップPC
iPhone
0インチ 6インチ 10インチ
$200
$100
$500
$1000
Mac
PC
画面サイズ
ChromeBox
$179~$350
Apple
Watch
8
中華PC 大分類
Androidでも沢山のLinuxOSを動かす事が出来ます。
Kapperのネット独断調査(間違っていたらごめんなさい。修正します)
数が多すぎるので抜粋。個人的主観です(後日整理します)
端末、機種
プロセッサ
OS Root
対応
代替OS、独自ビルド 推定
価格
コメント
中華タブレット
中華スマートフォン
中華Netbook
Android
FirefoxOS
(ARM、MIPS)
◯ CyanogenMod他
Ubuntu、Debian、Arch他
数千円
~3万円
比較的安価
低スペック
低バッテリ
ガラス割れる注意
Androidスティック
Androidセットボックス
Android
(ARM)
◯ CyanogenMod他
PicUntu、その他
数千円
~2万円
旧機種は安い
新型は高性能
Chromebook
Chromebox
ChromeOS
(ARM、x86)
◯ Ubuntu、Debian他 1万円
~3万円
中華系は少数
高性能
ATOM中華Windows
Tablet
Windows
Android(x86)
△ 移植過渡期
Ubuntu他、Bash、Cygwin
1万円
~2万円
最近の流行
低バッテリ
ガラス割れる注意
Windows Stick Windows(x86)
Ubuntu
△ 移植過渡期
Ubuntu他、Bash、Cygwin
1万円
~2万円
意外と高い
UEFI64bit
1 Board PC Linux(ARM) ◯ Debian、Ubuntu、NetBSD
FreeBSD他。基本は何でも
あり
数千円
~1万円
RaspberryPi互換
ブートロックなし
中華Android
スマートウォッチ
Android
(ARM、MIPS)
△ AsteroidOS他 数千円
~2万円
意外と高い
丸型モニタ不便
中華Android wear
スマートウォッチ
Android Wear
(ARM)
△ AsteroidOS他 1万円
~3万円
結構高い
発展途上
中華Androidカーナビ Android
(ARM,MIPS)
△ 移植過渡期 2万円
~4万円
車載Android
高い
9
AndroidをLinux端末として遊んでみる
●
初期のAndroidとは違う使い方をしたい→何に使うの?
1、Officeやエディタ(キーボード付きミニ端末)
2、Windowsとかx86エミュレータ
3、Mikutter、LibreOfficeなどデスクトップアプリ
4、各種サーバ
5、TeamViewer、VNCでRaspberryPiなどを遠隔操作
6、FlashPlayerを入れて艦これ
7、電子回路用Arduino接続端末として
8、宗教上の理由(以下略
9、Androidに飽きた、余った、リサイクルしたい
10、FirefoxOS、UbuntuTouchとか第3のモバイルOS
10
VNC、RDP ビュワーで遠隔モニタ代わり
●
最初の基本はモニタ代わり、遠隔操作して使う
RaspberryPiやWindowsの端末として
●
ゲームやIoTのサブモニタ、キーボード端末などNexus7に限りま
せんが端末が余ったら使ってみましょう
●
TeamviewerやRDPもRaspberryPiやAndroidに移植されていま
す。自宅ルータ越しての遠隔操作も自由自在
BlackberryQ5
中華スマートウォッチ
Nexus7+Bluetoothキーボード
11
サーバ用端末としてリサイクル
●
Androidには簡易サーバアプリがあるので、古い端末をサーバとして
もリサイクル出来ますかも。LAMPポータブルサーバとしても。
12
FlashPlayerと艦これをAndroidでも
●
AndroidにFlashPlayerは搭載されておりませんが、Dolphin
Browserを使えばFlashPlayerと艦これを遊ぶことが出来ます。
13
ExaGear MobileでWindowsゲームをAndroidで
●
Exagear Mobile(RPG、Strategy)はAndroidの有料アプリで
x86+Wineのエミュレーションする構成
●
非公式ながらもネット報告では色々なWindowsアプリ動作
(Diablo1,2など)
●
WindowsマシンのC:Program files以下をコピーして使う構成
14
Androidのストレージ容量問題
●
旧機種の場合、内蔵ディスクは容量が小さいので不便です。
●
WindowsとUSB接続の為にデータ保存フォルダ/mnt/sdcardはFAT32に
なっています。
●
Linuxの特徴で/mnt/sdcardと外部SDカードのFAT32にはシンボリックリン
クを作ってデータやアプリを飛ばすことが出来
ません。ExtかNTFSにフォーマットが必要です。
もしくはloopbackストレージが必要です。
●
Link2SDやAndroid Partition Toolという
アプリがありますがRoot必須
コマンドでは
rm -rf /storage/sdcard0/<directory>
mkdir /storage/sdcard0/<directory>
mount -o bind /storage/sdcard1/<directory> /storage/sdcard0/<directory>
su
mount -o remount,rw /
cp -pr /mnt/sdcard/<directory> /data/sdext2/<directory>
rm -r /mnt/sdcard/<directory>
ln -s /data/sdext2/<directory> /mnt/sdcard/<directory>
busybox ln -s /data/sdext2/<directory> /mnt/sdcard/<directory>
もしくは
参考サイト:Not possible to create a symlink in /mnt/sdcard?
15
ChrootでARM Linuxインストール
●
ChrootはLinux環境を内部にもう一つ作れます
●
違うバージョンのOSを起動出来る
●
Androidの場合、専用アプリを入れるだけ
●
Chrootの中から基本は外の環境へ
アクセス出来ない
フォルダをマウントすると移動出来る
mount -o bind <directory1> <directory2>
●
ChrootはRootユーザーのみ.
一般ユーザーではFakechrootが必要
(Debian Norootなどで使用)
●
Kernelは標準OSのまま使用するので、
ドライバやモジュールは、オリジナルKernelのまま。
→オリジナルKernelがサポートしていない
 ドライバやOSは使用できない
Android
Linux Device
Ubuntu
Debian
And
other Linux
Ubuntu
Debian
And
other Linux
16
Debian Norootを使ってみる
●
Debian NorootはAndroidのアプリでroot権限を取らずにchroot
で全自動フルインストール出来るDebian
誰でも導入出来る容易さが人気
●
Bluetoothキーボードとマウスを使えば、簡易ノートPC
●
中身はfakechrootを使い通常ユーザー権限で
chroot環境を構築し、Xserver-SDLでXorgを表示している
●
ストレージが内臓/sdcardを前提にしているので容量に課題あり
●
最近のVerはAndroid4.0以降で対応。古いOSは古いVerでどうぞ
台湾 無敵シリーズ電子辞書 CD-920
17
Androidでデスクトップのアプリを動かす
Blenderで3Dグラフィックを作る Scratchでプログラム作成を遊ぶ
Debian jessieパッケージ数は43,000以上、Androidに苦手なデスクトップ
chroot環境でハードウェアを動かすのは大変なのでAndroidとデータリンク
MikutterでTwitterアプリ LibreOfficeで統合Office
18
Ubuntu、Debianって何が出来るの?
●
RaspberryPiを使って何が出来るの?という質問が多いです。
●
Debian、Ubuntuを使って何が出来るのでしょうか?
Windowsと同様に何でも出来る。アプリの使い方を覚える必要あり
1.デスクトップPCとして
2.サーバとして
3.ネット関係、遠隔操作
4.開発マシンとして
5.画像処理、3D、マルチメディア
6.統計、演算、シミュレーション
6.ゲーム、エミュレータ
8.電子工作用制御
 sudo apt-get install arduino
9.CAD、CAM
Linux   
Android
Chroot
Debian
Ubuntu
参考サイト:ペンギンの社~Linuxソフトリンク集
     GetDeb
19
Android対応chrootアプリLinux状況
ディストリ Android
バージョン
インストーラー、
CUI or GUI
Linuxディストリ対応 Root
是非
対応機種
Debian Noroot
(Gimp他)
4.3以降 Full Auto
XserverSDL
Debian No Xまで全自動
ディスク容量注意
Complete Linux 2.2以降 Terminal Debian、Ubuntu、
Fedora、Arch、Ope
nSuse他
Root 沢山のディストリ
自動GUIあり
Debian Kit 4.1以降 Terminal Debian Root Debootstrap
Linux Deploy 2.1以降 Terminal Debian、Ubuntu、F
edora、Arch、Open
Suse他
Root 最も対応数が多い
CentOS対応
GnuRoot 1.6以降 Terminal Debian No IS01などほぼ全機種
古い
GnuRoot debian,
Fedora, Gentoo
1.6以降 Terminal Debian,Fedora,
Gentoo
No 各種GNURoot用
ディストリ
古い
GnuRoot Wheezy X 1.6以降 Xserver Debian No 簡易Xserver
古い
AndroLinux 3.0以降 Terminal Fedora,CentOS ? CentOS対応
APKLinux 4.0.3以降 Terminal Bare-Bone Root 独自パッケージ
Lil' Debi 2.1以降 Terminal Debian Root Debootstrap
CentOSはどうやって動かすの?という質問がありましたので再調査
Kapperのネット独断調査(間違っていたらごめんなさい。修正します)
Terminalベースは慣れが必要ですが容量が小さくすみます。XはXserver-SDLかVNC
20
AndroidのRoot化
●
Androidをroot化することで、様々なアプリと環境が
使える様になります。
root環境でなければ出来ない設定もある。
root化するとメーカーサポートは受けられなくなります
ので注意。
●
Androidのroot化
1、Win上のroot化アプリでファームウェアを書換える
2、bootloaderをUnlockする
3、Android上でrootアプリを使う
●
root化して出来る事
1、OS載せ替え、chroot化、シンボリックリンク
2、アクセス権限の変更、内部アクセス、ターミナル
3、オーバークロック
4、SDカードへのアプリ移動、不要アプリ削除
Nexus Root Toolkit
● Windows用ですがGUIでNexus7のUnlock、root化が出
来るアプリ
●
専用の環境を作りたくない人にお勧め
1、Nexus Root toolkitアプリのダウンロード
2、Google USBドライバのインストール
3、USBでNexus7を繋いで認識
4、機種を選択しボタンをクリックして
  Unlock、root化 Nexus Root Toolkit
スマホ、中華タブレットRoot化
● 最近はRoot化アプリがGooglePlayなどでも公開
● 一例としてKingo Android Root
多数のデバイスをサポート
改造して遊ぶ事が非常に簡単な時代になりました
使用のリスクは自己責任で
Supported Manufacture
23
Android TerminalとBusybox
●
Terminal EmulatorとBusyboxを使うことで
Linuxの基本的な機能を使うことが出来ます。
●
Busyboxは基本的なCUIツールがセットになって
おり一通りの事が出来ます(cp,wget,w3m他)
●
システムやアクセス権を変更する際にはroot化が
必要です。chrootしてLinuxを入れる際にも。
Android Terminal Busybox
24
Debian KitとComplete Linux
●
Android上でchroot環境を構築してapt-getしてパッ
ケージを入れるアプリ。Debian化が出来る。
●
Androidをシンプルにサーバ化できる。root化がいるも
のといらないものと。
●
Debian KitはAndroidの親プロセスのルート環境で
apt-getが使える仕組みなので、自由度が高い(ハイリス
ク?)
●
Debian Norootが入れ
られない古い環境向けも
●
色々なディストリを使いたい
Complete Linux
25
TightVNCserverとVNCviewer
●
もっとも容易なXサーバの代替がVNCserver
●
chroot環境でTightVNCserverを起動すれば
容易にAndroid上でX環境を立ち上げられます。
sudo apt-get install tightvncserver
tightvncserver -geometry 1024x600
●
もちろん、遠隔操作して使うことも可能です。
Complete LinuxVNC Viewer
26
Xserver-SDLを単独で使う
●
Xserverの代替としてDebian norootでも使われ
ているXserver-SDLを単独でも使えます。
●
使い方はXserver-SDLを起動させてから、Chroot
環境で端末から、
env DISPLAY=xxx.xxx.xxx.xxx:0 lxsession &
と起動しAndroid上で再度Xserver-SDLを表示
Complete LinuxXserver-SDL
27
Android用PCエミュレータで代替してみる
●
動作は遅く限定的ですが、PCエミュから
Windowsを起動することも可能です。
●
PC: Bochs,Qemu,DOSBox,Limbo(Qemu)
MAC:vMacMini、Basillisk2
●
Qemuの場合、Windows以外でもNetBSDも
動作しました。(Qemu1.5以降推奨)
NetBSD ておくれLiveイメージ
Windows9x、2000
28
x86 Emulations on ARM Devices
Emulation OS Root
Device
Emulated OS Spec Comment
Qemu Linux
Android
RaspberryPi
No Windows
MacOSX?
Linux,*BSD
Slow Tegra K-1
⇒PenⅡ 266MHz
Ver1.5~(ARM GUI)
Qemu+Wine Linux
Android
RaspberryPi
Required +Windows APP Slow Difficult
kernel 3G/1G only
chroot environment
Exagear-Desktop Linux
RaspberryPi
Required Ubuntu,Debian Fast Tegra K-1
⇒Pen4 1.8GHz
Exagear-Desktop
+Wine
Linux
RaspberryPi
Required Ubuntu+Wine
Windows APP
Fast Tegra K-1
⇒Pen4 1.8GHz
DOSBox Linux
Android
RaspberryPi
iOS,DS,PSP
No DOS,
WIndows9x
(i386~i586)
Slow Tegra K-1
⇒PenⅡ 266MHz
NEON Supports
Voodoo1+Glide
Bochs Linux
Android
RaspberryPi
iOS,PSP
No Windows~XP
(i386~x86-64)
Linux,*BSD
Slow Tegra K-1
⇒PenⅡ 266MHz
XNP2
(PC-98
 Emulation)
Linux
Android
RaspberryPi
iOS
No DOS、
Windows95?
Slow Tegra K-1
⇒?
Internet dogmatic investigation of Kapper (if I wrong it, I'm sorry. )
VMWare and Virtualbox are not working on ARM devices.(Only x86)
29
DOSBoxでWindows95を動かそう
●
DOSBoxからWindows9xを起動することも可能です。
●
ARMなど移植性が高く、エミュレータの中では高速
●
Androidに限らず、沢山の機種やOSで動作出来ます
●
もちろんレトロゲームやJW-Cadなども動きます
●
「はじめてのDOSBox」の資料公開中。是非ご一読を
Windows95
30
BasilliskⅡでOld Macを動かそう
●
BasilliskⅡからOld 68KMacOSを起動する事も可能
●
Androidに限らず、沢山の機種やOSで動作出来ます
●
眠っているソフト資産をAndroidで動かしてみましょう
Basillisk2 on Old MacOS
31
一息いれましょう。Linux何に使うの?●
OSC浜名湖、名古屋、京都でご意見が沢山ありましたのでご質問
●
皆様、Linuxを日常何に使っていますか?
1.UbuntuやDebianとか*BSD、Linux使った事がありますか?
2.RaspberryPiとか1ボードPCを使った事がありますか?
3.電子工作やってますか?興味がありますか?
 ⇒RaspberryPi、IchigoJam関係が情報多い。プログラム必修化で親子に人気
4.スマホやタブレットの第3のOSを使ったことがありますか(iOS,Android以外)
5.ウェアラブル端末(スマートウォッチ、スマートグラス他)に興味ありますか?
6.IT関係やIoT関係の勉強会に興味有りますか?
 ⇒各地で色々と活動されています。是非ご参加を。
(東海道らぐ、NBUG、Python東海、IoT縛り勉強会、伊勢IT交流会、カーネル/VM、
日本Androidの会浜松支部、静岡大学情報学部LT大会、豊橋技科大、姫路IT系勉
強会、鹿児島らぐ、ラックサーバ友の会、セキュリティCTF勉強会、その他)
●
RaspberryPiで初めてLinuxを使うけど、良く分からないという人が沢山います。
初心者Linuxの学習方法ってどうしたら良いかと思いますか?(当時を思い出して)
1.Linux雑誌、ムックを買って読む
2.Web、ブログなどを参考にする
3.知人に聞く
4.勉強会などを参加して聞いてみる
5.コミュニティ、ML、掲示板、2chなどに書き込み質問
6.Twitter、FacebookなどSNSで質問
32
番外編
色々なマニアックハードを遊ぶとしたら?
(未テストあり)
33
Hacking Android devices and OS
1.Kindle fire TV 2. Chromecast
3. IS01, Dynabook AZ(AC100) 4. HMDI stick type PC, Chromebit
Allwinner,RockchipのCPUを使用しているのでUbuntu
が移植。アプリからRootを取ればCyanogenModも
入れれます。Chroot環境でDebian、Ubuntu化も可能
ES File Explorerを使えばAPKファイルからアプリを
インストール可能です。DebianNorootも動きます。
Root権限を取ればGooglePlayも動作します。
中身はAndroidのCoreなのでカスタムROMを入れて
スタンドアローンで色々と遊べるらしいです。
「rCast」「PwndCast」など出ています。
アプリからRootを取ればCyanogenModを入れれます。
Chroot環境でDebian、Ubuntu化も可能。
旧機種Androidの中ではとにかくハッキング面白い
34
中華WindowsタブレットのUnix化(補足)
●
WindowsタブレットでCygwinやエミュでUnix環境
1.Bash on Windows(Ubuntuベース)
2.Cygwin
3.エミュレータ(qemu,virtualbox,VMware他)
4.Legasy,UEFI 64bit BOISからデュアルブート
 Linuxのドライバの移植度がまだ低いのが課題
(その筋の専門の人から色々と報告あり)
QemuCygwin
35
Google-ChromeでAndroidアプリ(補足)
●
Google-ChromeブラウザのARC WelderでAndroidの
アプリが動作。OS環境を問わずAndroidのアプリが1/3
程度使えます
●
ARC Welderのアプリは2016年末にChromeに統合さ
れて標準機能として使えるそうです。
ARC Welder and 2chmateARC Welder(ChromeAPP)
36
AndroidでArduinoを使って電子工作
37
●
USBを通じてArduinoを制御できるそうです。
●
Androidを表示、操作、通信端末として活用
(PCやRaspberryPiなどと)
●
WifiやBluetoothを通じてセンサー情報とやりとり
IoT用の端末⇔母艦として運用されています。
●
Android側で専用アプリが必要です。
●
只今、テスト勉強中です。
ごめんなさい
参考文献
38
AndroidとIoT、BigDataの関係(補足)
●
Androidにセンサーなどを繋ぐ事でIoTの制御端末(自動化、省エネ、ロボット)
また端末から情報を収集する事でBigDataの端末として可能性を秘める
1.Wifi、Bluetooth通信環境とUI、モニタ、ハードウェア接続が容易
2.様々なソフトウェアでデータ演算が可能
3.皆がスマホを持っており、一元的なアプリで莫大な情報交換
4.人というデータ(世代、行動、時間、場所)を直接収集してやり取り
5.端末が高い(Arduino:数百円以上)。拡販が難しい。アプリを使ってもらうの
が難しい
⇒古くはRFID(無線タグ:数十円、バーコード)、ポイントカード:15円に比べると
高すぎる
6.入手したデータをどうやって解析してビジネスに役に立てるか?
⇒一般的には主成分分析(多変量解析)、重回帰分析など統計的手法
 膨大な母集団から層別するにはどこかで人の判断(作業)が必要になる
1.AndroidとArduinoとセンサー
 PC代わりの制御機器として
2.Androidとアプリを介したビッグデータ
センサー センサー
39
Android(Nexus7)のOS乗せ換え
40
Android(Nexus7)にLinuxディストリ
●
インストール方法は主に下記3つ。
1、Linuxディストリをchrootインストールする
2、MultiROMを使ってZipファイルからインストール
3、Nexus7用Ubuntu、Bodhiをインストールする
4、ファームウェアを書き換えてブートローダごと
 各種OSをインストールする
ここからマニアック路線に進みます
41
Android(Nexus7)にLinuxディストリを入れる
●
インストール方法は主に下記3つ。
1、Linuxディストリをchrootインストールする
2、ランチャータイプの仮想OSを利用する
3、OSをエミュレーションして動作させる
4、MultiROMとカスタムリカバリでZIPイメージを入れる
5、ファームウェアを書き換えてブートローダごと
 各種OSをインストールする
ここからマニアック路線に進みます
42
Android対応独自ビルド 状況
ディストリ バージョン インストーラー Multirom
対応
Root
対応
対応機種
Factoryimg ~5.1.1
~6.0.4
◎ ○ △ Nexusシリーズのみ
CynanogenMOD ~6.0.x ◎ ○ ○ 多数
AOKP ◎ ○ ○ 多数
ParanoidAndroid ○ ○ ○ 多数
ClockworkMOD ○ ○ ○ 多数
Bodhi Linux ~3.0 ○ ○ ○ Nexus7 2012サポート終了
KDE Plazma ○ △ ○ Nexus7 2012サポート終了
FirefoxOS ○ ○ △ 独自ビルド
AOKPと
CyanogenMODベース
Ubuntu Touch
Ubuntu Phone
◎ ○ ○ Nexus7(2013)
4、5、10、6
Tizen △ △ △ ?
SalfishOS ~2.0 △ △ △ Nexus5が移植度高い
Kapperのネット独断調査(間違っていたらごめんなさい。修正します)
◎:公式サポートあり、◯:公式HPに導入報告あり、△:ユーザー導入報告あり
Nexus7対応の独自ビルドは数十種類と数が多すぎるので抜粋。
43
FirefoxOS2.5ランチャーを使ってみる
●
FirefoxOS2.5ランチャーはAndroidのホーム画面アプリでFirefoxOSの
OSとアプリをそのまま使える、第3のOSのapkアプリ
●
英語版のみで日本語が難しいのでそのままの実用には課題あり
●
FirefoxOSを遊んでみるには最適。違うOS環境をスマホで体験したい人
FirefoxOS2.5LauncherFirfoxOS HP
http://www.mozilla.org/en-US/firefox/os/
MultiROMとTWRP
● MultiROMを入れるとブートローダ時点でROMを選択できる様になります。
複数のOSを入れる際には必須です。
Unlockが必要です。
● カスタムリカバリであるTWRPを入れると純正以外のROMを入れたりバックアップ
したりできます。NexusRootToolkitで簡単に入れれます
CyanogenMod概要
● CyanogenMod Inc.が開発しているカスタマイズされたAndroidの
数ある独自ビルドの一つで各種デバイスにAndroid~6.0.xを移植
●
公式、非公式なサポートを含めると220デバイスに対応
● ファームウェア(ブートローダー)からOSイメージまで開発。
公式サポートされているデバイスであれば、rootを取らずにワンクリックでイ
ンストール可能。
●
インストールは難しいが謎デバイスにも多数動作報告があり、
旧型機種のアフターマーケットに寄与している。
● Nexus7でも正規に対応しているので、簡単に
母艦からインストールできます。
CyanogenMod9
FirefoxOS
● Nexus7でもFirefoxOSをインストールして使うこと
ができます。
● ROMの入れ替えしますのでカスタムROM必須
FirefoxOS SimulatorFirefoxOS
Ubuntu Touch
● Nexus7 2013であればUbuntu Touch対応。
●
インストーラーとブートローダーがセット
● 機種限定で使えるのはNexusシリーズ。
Ubuntu TouchUbuntu Touch
48
Nexus7にUbuntu13.04
●
当初Nexus7 2012にUbuntu13.04をインストールで
きました。デスクトップ版です。
●
今はUbuntuTouchに開発がシフトしています。
サポートアウトされました。
現在でもNexus7 2012で使っている人がいる様です。
Ubuntu13.04 Nexus7 Ubuntu13.04 Nexus7
49
MultiROM対応のDebian、Ubuntu、Arch
●
2015年8月にDebian他がMultiROM移植されました
●
ZIPファイルで直接Debianなどを直接デュアルブート
50
PKGSRC on Android●
NetBSDのパッケージャーpkgsrcをUbuntu chromebookでも使ってみる⇒何で?
⇒1,最新版のパッケージを使いたい。Mikutterとか随時最新版使いたい
 2,UbuntuのPPAでARMバイナリパッケージが殆ど無い。
  ソースパッケージから1個1個手動コンパイル必要。非常に面倒。
 3,OS、アーキテクチャからpkgsrcが独立しUnix、Linux、MacやWinでも使える
  ほどの高い移植性がARM環境では大変重宝する
 4,Debian SidとかDeb開発版をLTSとかと混載させたくない。独立させたい。
 5,Ubuntu側とかでARM、Kernelサポートアウトされても継続し最新版使いたい
   メーカー公式サポートが終わってからも使える最強パッケージャー。
●
最新版Mikutterが光の早さで移植されて使えます。
最近ディストリ間でMikutterがいかに短い時間でリリースされるか競争してません?
51
CyanogenModを独自ビルド
自分でAndroidを作ってみよう
注)Linuxユーザー向け
自分でAndroidを作ってみたい人が
日本では少ないので増えてほしいです
52
CyanogenModのビルド
●
Androidは一部を除くとオープンソースなので、自分でビ
ルドして作る事が可能です。(FirefoxOSも)
●
ビルドPCの推奨スペック
OS:Ubuntu(VirtualBox)
CPU:Coreiシリーズ
メモリ:4GB以上
HDD:100GB以上
推定時間8~24時間
●
改造したり、Kernel
を新しく作る事が出来る
●
機種毎にビルド方法が
公開されている
基本はコピペだけ
●
まずは公開イメージを
入れてみる
Officially-Supported CyanogenMod
53
Hacking Android devices and OS2.ファイルのカスタマイズ
3. コンパイル 4. Kernelコンパイル(作り変える場合のみ)
1. ソースコードを入手
長いので抜粋しました。
都度新しくなりますので
実際の手順は本家HP参照
54
Nexus7の改造とソースコード
ブートローダーとOS載せ替え
55
Ubuntuのインストーラーのソースコード
●
実際はWgetでイメージをダウンロードしてfastbootで書き込むだけ。
set -e
echo "$COUNTER"
echo "# Begining Ubuntu Core Nexus7 installation"; sleep 2
COUNTER=$((COUNTER+20))
echo "$COUNTER"
echo "# Erasing boot partition"
sudo -Sp '' -- fastboot erase boot <<<"${SPW}"
COUNTER=$((COUNTER+20))
echo "$COUNTER"
echo "# Flashing boot partition"
sudo -Sp '' -- fastboot flash boot ./"${IMAGES[0]}" <<<"${SPW}"
COUNTER=$((COUNTER+20))
echo "$COUNTER"
echo "# Erasing userdata partition"
sudo -Sp '' -- fastboot erase userdata <<<"${SPW}"
COUNTER=$((COUNTER+20))
echo "$COUNTER"
echo "# Flashing Ubuntu Core root file system"
sudo -Sp '' -- fastboot flash userdata ./"${IMAGES[1]%.*}" <<<"${SPW}"
COUNTER=$((COUNTER+20))
echo "$COUNTER"
echo "# Rebooting device"; sleep 2
sudo -Sp '' -- fastboot reboot <<<"${SPW}"
) |
56
ARMブートローダの仕組みとx86比較
種類 ROM RAM MBR
(ディスク)
Kernel init ログイン 特徴
x86~
Linux
BIOSと
DISKブート
ローダー
構成
ARM
Android
ブートロー
ダーの
Unlockが
重要
x86-
Chrome
book
ブートロー
ダー以降は
共通
ARMLinux
ディストリ
Chrome
book
ブートロー
ダー以降は
x86と同じ
BIOS
デバイス認識
ブートディスク選択
GRUB
LILO他
Kernel
ドライバ
Daemon
他
初期化
ドライバ
RAM転送
Kernel
転送
Kernel
rootfs
読み込み
CUI
Xorg
Kernel
ドライバ
rootfs起動
デバイス
Daemon
コンテキスト
マネージャ
Zygote
初期化
ドライバ
RAM転送
ブートローダー(U-boot他)
Kernel
転送
Kernel
rootfs
読み込み
Kernel
ドライバ
Daemon
他
CUI
Xorg
Dalvik
仮想マシン
Android
GUI
ARMの場合、FlashROMからRAMにブートローダを転送し、Kernelと
rootfsを読み込む構成です。ROMに書き込んでるブートローダは
「ファームウェア」と呼ぶそうです。Androidの場合、Unlockが必要です。
Android ブートローダー(ROM)MLO
MLO
初期化
ドライバ
RAM転送
Kernel
転送
Kernel
rootfs
読み込み
ブートローダー(U-boot、SeaBIOS)CoreBoot
Kernel
ドライバ
Daemon
他
CUI
Xorg
57
中華プロセッサ別分類
プロセッサ ハックアプリBootloader Root SDboot 端末 Kernel コメント
RK3066,RK2926
RK3088,
RK3188,RK3268
rkflashkit
create-
sdcard.7z
U-boot
Linuxium
◯ ◯ MK802~8 RK3*** 主流
ツールあり
Ubuntu動作
AllwinnerA10、A20
AllwinnerA31
BROM
BerryBoot
Debian-
Installer
U-boot
Barebox
Coreboot
◯ ◯ CubieBoard SUNXI
Lichee
主流
ツールあり
Debian動作
MT8389
MT6577
Magic
TWRP/CW
M
SPFlashTool
U-boot ◯ ◯ Thunder
Kernel
主流
MediaTek
Exnos5250 U-boot ◯ ? Arndale Board サムスン
Snapdragon U-boot ◯ ? Qualcomm
K3V2 fastboot U-boot ◯ ? Hisilicon
iMX6 U-boot ◯ ◯ Linao Freescale
Atom Z3735 UEFI ◯ ? WIndowsタブ
ATM7029 U-boot ◯ ? Nvidia
Tegra U-boot ◯ ◯ DynabookAZ Actions
OMAP4470 U-boot ◯ ◯ 開発終了?
Kapperのネット独断調査(間違っていたらごめんなさい。修正します)
一部CPUベンダーは直接Androidをハック出来る仕組みにしてあるそうな・・・
58
Androidなどのカスタムブートローダー
●
MultiROM以外にもU-BootなどカスタムブートローダーがARMのチッ
プ毎で出ています。
●
例えば、RockchipRK3188用ではLinuiumというGrubライクな
ROMブートローダーがあり、SDカードからブート出来るものもあります
59
MultiROMとZIPイメージのビルド
60
台湾MOPCON2016、OSC京都2016
●
台湾MOPCON、OSC京都、KOFに出展予定
●
内容:OSC京都、OSC東京、KOF2016
Androidタブレット、RaspberryPiの予定
●
OSC京都 7月30日
オープンショーテック姫路 8月16日?
OSC東京 11月5~6日
台湾MOPCON2016 10月?
KOF2016 11月11~12日
●
東海道らぐのセッションにも是非遊びに来て下さい
●
質問、ご要望はブースまで是非気軽にお聞き願います。
まだ分からない事沢山あります、ゴメンナサイ。
技術的な話題や議論、雑談を含め何でも。
講演資料は会場でも配布しております。
楽しみにお待ちしております。

More Related Content

PDF
AllwinnerタブレットのOSを作ってみる(中編)
PDF
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
PDF
Hello, DirectCompute
PDF
OpenWRT manual
PDF
Secure element for IoT device
PDF
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
PDF
QEMU Disk IO Which performs Better: Native or threads?
AllwinnerタブレットのOSを作ってみる(中編)
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
Hello, DirectCompute
OpenWRT manual
Secure element for IoT device
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
QEMU Disk IO Which performs Better: Native or threads?

What's hot (20)

PPTX
「おうちクラウド」が今熱い!
PDF
CXL_説明_公開用.pdf
PDF
Cephのベンチマークをしました
PDF
痛い目にあってわかる HAクラスタのありがたさ
PDF
10分で分かるLinuxブロックレイヤ
PDF
帰ってきた凄い謎マシン (ARMのDevice Tree話, 2015年6月 東海道らぐ浜松)
PDF
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
PDF
JIT のコードを読んでみた
PDF
Read-only rootfs: theory and practice
PDF
[KubeCon NA 2020] containerd: Rootless Containers 2020
PDF
Linux Namespaces
PDF
mTCP使ってみた
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
PDF
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
PDF
Internet Week 2018 知っておくべきIPv6とセキュリティの話
PDF
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
PDF
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう Beginner for inst...
「おうちクラウド」が今熱い!
CXL_説明_公開用.pdf
Cephのベンチマークをしました
痛い目にあってわかる HAクラスタのありがたさ
10分で分かるLinuxブロックレイヤ
帰ってきた凄い謎マシン (ARMのDevice Tree話, 2015年6月 東海道らぐ浜松)
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
JIT のコードを読んでみた
Read-only rootfs: theory and practice
[KubeCon NA 2020] containerd: Rootless Containers 2020
Linux Namespaces
mTCP使ってみた
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
Internet Week 2018 知っておくべきIPv6とセキュリティの話
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
GPU仮想化最前線 - KVMGTとvirtio-gpu -
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう Beginner for inst...

Viewers also liked (12)

PDF
GPD-WIN、Windows10タブレットに各種Linuxディストリを入れて改造してみた 2017年度名古屋版
PDF
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
PDF
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
PDF
openSUSE42.2 on Windows Tablet T100TA
PDF
DOSBox for beginners はじめてのDOSBox
PDF
NetwalkerとARM Linuxのカスタマイズ情報
PDF
Hacking with ARM Mobile devices on Linux
PDF
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
PDF
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux.
PDF
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
PDF
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
PDF
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
GPD-WIN、Windows10タブレットに各種Linuxディストリを入れて改造してみた 2017年度名古屋版
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
openSUSE42.2 on Windows Tablet T100TA
DOSBox for beginners はじめてのDOSBox
NetwalkerとARM Linuxのカスタマイズ情報
Hacking with ARM Mobile devices on Linux
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux.
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17

Similar to Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux (20)

PDF
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux
PDF
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
PDF
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 東京Fall Hacking the third Smartphone ...
PDF
Japan Linux Conference 2010 Porting MeeGo to Android platforms 20101112
PDF
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 名古屋 #oscnagoya Hacking the third Sma...
PDF
MeeGo Seminar Winter Porting 20101209
PDF
Androidへのdebianインストール奮闘記
PDF
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 京都 #osckyoto Hacking the third Smart...
PDF
AndroidとSELinux
PDF
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...
PDF
はじめてのSSD,MicroSD,USBメモリ延命方法 in Linux Beginner for Linux long-lifetime in USB...
PDF
検証、SEAndroid
PDF
Android端末のroot化について
PPT
使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)
PDF
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
PDF
Android 4.x CyanobenModの 移植方法を調査してみた
PDF
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
PDF
Firefox OS カスタム ROM の作成
PDF
第4回 関西MeeGo勉強会 ネタ
PPTX
Android組込み開発基礎コース Armadillo-440編
Android Nexus7でLinuxを色々と遊んでみよう Hacking of Android Nexus7 by Linux
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 東京Fall Hacking the third Smartphone ...
Japan Linux Conference 2010 Porting MeeGo to Android platforms 20101112
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 名古屋 #oscnagoya Hacking the third Sma...
MeeGo Seminar Winter Porting 20101209
Androidへのdebianインストール奮闘記
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 京都 #osckyoto Hacking the third Smart...
AndroidとSELinux
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...
はじめてのSSD,MicroSD,USBメモリ延命方法 in Linux Beginner for Linux long-lifetime in USB...
検証、SEAndroid
Android端末のroot化について
使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
Android 4.x CyanobenModの 移植方法を調査してみた
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
Firefox OS カスタム ROM の作成
第4回 関西MeeGo勉強会 ネタ
Android組込み開発基礎コース Armadillo-440編

More from Netwalker lab kapper (20)

PDF
Google のプレゼン資料自動作成生成 AI、Gamma を使ってみた。とても美しい資料が短時間で作れるが有料
PDF
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
PDF
はじめての生成AIローカルLLM、llama.cppとllamafile。練習演習あり初心者向け講座
PDF
Windowsタブレット最近事情とその他ネタin 2023東海道らぐ ガジェットハッキングユーザーグループ
PDF
はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8
PDF
はじめてUSBメモリへLinuxをインストールする方法 Beginner for install Linux in USB memory in 2021
PDF
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
PDF
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
PDF
Beginner for install Linux and *BSD in the inexpensive ARM and Intel based mo...
PDF
Beginner for install US$40 JUNK Intel Macbook in 2020 はじめての4,500円ジャンクIntel Ma...
PDF
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC Online2020 #osc20on Hacking Linux ...
PDF
Hacking the third Smartphone OS and Some Mobile device in #COSCUP 2019  第三款智能...
PDF
Beginner for install DOSBox-X and PC-98 emulation. 初めてのDOSBox-XインストールとPC-98エ...
PDF
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
PDF
超激安WinタブレットにLinux、*BSDを入れて 賢く経済的にリサイクルしよう in OSC東京2018 #osc18tk
PDF
NetBSD8.0 on UEFI Bootloader and Windows Tablet #osc18hi
PDF
最近の事とDebconf18に初発表してきた #debconf18
PDF
Hacking with x86 Windows Tablet and mobile devices on Debian #debconf18
PDF
最近の事と #NT金沢 2018に初出展してきた
PDF
Bug for Install Linux on Atom Z8700 Portabook ポータブックのLinuxインストールバグ対策 2018 #東海道らぐ
Google のプレゼン資料自動作成生成 AI、Gamma を使ってみた。とても美しい資料が短時間で作れるが有料
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
はじめての生成AIローカルLLM、llama.cppとllamafile。練習演習あり初心者向け講座
Windowsタブレット最近事情とその他ネタin 2023東海道らぐ ガジェットハッキングユーザーグループ
はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8
はじめてUSBメモリへLinuxをインストールする方法 Beginner for install Linux in USB memory in 2021
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Linux and *BSD in the inexpensive ARM and Intel based mo...
Beginner for install US$40 JUNK Intel Macbook in 2020 はじめての4,500円ジャンクIntel Ma...
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC Online2020 #osc20on Hacking Linux ...
Hacking the third Smartphone OS and Some Mobile device in #COSCUP 2019  第三款智能...
Beginner for install DOSBox-X and PC-98 emulation. 初めてのDOSBox-XインストールとPC-98エ...
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
超激安WinタブレットにLinux、*BSDを入れて 賢く経済的にリサイクルしよう in OSC東京2018 #osc18tk
NetBSD8.0 on UEFI Bootloader and Windows Tablet #osc18hi
最近の事とDebconf18に初発表してきた #debconf18
Hacking with x86 Windows Tablet and mobile devices on Debian #debconf18
最近の事と #NT金沢 2018に初出展してきた
Bug for Install Linux on Atom Z8700 Portabook ポータブックのLinuxインストールバグ対策 2018 #東海道らぐ

Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux