Slide 1

Slide 1 text

春なので 新しいこと やってみた (575) 2017/03/11 @ OSC 2017 Tokyo/Spring ほた (lindwurm)

Slide 2

Slide 2 text

2 自己紹介

Slide 3

Slide 3 text

3 自己紹介 ● ほた ● @lindwurm ● カスタム ROM の翻訳・ビルド・開発追っかけ ● 青髪赤目がすき ● 開発の動向を毎週 dev.maud.io に投稿

Slide 4

Slide 4 text

4 いつものおさらい: カスタムROMとは

Slide 5

Slide 5 text

5 カスタム ROM とは ● メーカーが提供している公式な OS ではなく、 ユーザが自由に導入することができるカスタム OS ● Linux ディストリの Android 版みたいな感じで ● ユーザによる書き換えをメーカー側が想定して いなかったために伝統的に ROM と呼称

Slide 6

Slide 6 text

6 カスタム ROM (Android) ● 大きく 2 つに分類できる – メーカーの ROM を改変しただけのもの ● Bloatware 削除とか – Google が AOSP として公開しているソースコード ベースで作られたもの ● わたしが扱うのは後者

Slide 7

Slide 7 text

7 利点 : 常に最新の Android

Slide 8

Slide 8 text

8 利点 : 自分で好きに名前を弄れる

Slide 9

Slide 9 text

9 利点 : 自分で好きに見た目も弄れる

Slide 10

Slide 10 text

10 利点 : 自分で好きに見た目も弄れる

Slide 11

Slide 11 text

11 最近思うこと

Slide 12

Slide 12 text

12 最近思うこと ● 東海道らぐに集まる人: Android タブレットで Linux 動かす方向の人たちが多い ● でもわたしはここ 3 年くらい Android がアツい ● じゃあ逆に PC で Android 動かす方向にやって みよう

Slide 13

Slide 13 text

13 Android-x86 の ご紹介

Slide 14

Slide 14 text

14 x86 な Android 端末といえば ● Zenfone 2 – 今は亡き Atom 搭載の希少な x86 スマートフォン

Slide 15

Slide 15 text

15 そうじゃない

Slide 16

Slide 16 text

16 Android-x86 Project ● www.android-x86.org ● その名の通り x86 な PC 互換の Android 移植 ● 元はほぼ AOSP の移植だった – 最近は CyanogenMod/LineageOS の移植がアツい – 1/17: cm-13.0(Android 6.0.1) の stable 版リリース

Slide 17

Slide 17 text

17 branch: cm-14.1-x86 ● 最新の LineageOS 14.1 の移植が進んでいる ● “Fwd: LineageOS 14.1 x86 codebase is ready” – https://groups.google.com/forum/#!topic/android- x86/J8pUu35VN5g ● Commit log を漁ってみる – 2/25 時点くらいの cm-14.1 に nougat-x86 を merge しているぽい ● ビルドしたら動いた

Slide 18

Slide 18 text

18 branch: cm-14.1-x86

Slide 19

Slide 19 text

19 branch: nougat-x86 ● また Commit log を漁る – 12/9 に x86 としての commits 群がある ● 動くとこまで持って行ってるのでこいつらを当てればたぶん動く ● AOSP と突き合わせた感じ android-7.1.1_r4 – android.googlesource.com 活用しましょう ● 最新は r25 くらいで若干違いが出始めてる ● けど android-x86 の変更部だいたい当てれた

Slide 20

Slide 20 text

20 ありそうな質問 ● x86 PC で Android が動くと何がおいしいの? – 特定の携帯端末に頼らず最新の Android を試せる ● 最近は Hackable な端末が国内にあんまりないので… – ベンチマークスコアで他をぶん殴れる ● kernel は? – AOSP の linux-4.4 ベースです ● mainline に近づける努力はあり、 4.8 とかでやってる人もいる

Slide 21

Slide 21 text

21 ところで

Slide 22

Slide 22 text

22 Android Ice Cold Project (AICP) ● www.aicp-rom.com ● 多機能系カスタム ROM ● 元は AOKP の派生 (fork) – 現在は CyanogenMod/LineageOS の派生 ● LOS に先行した Android 7.x の nightly ビルド配信 ● 実験的機能の積極的な導入 ● 翻訳 / 開発で参加中

Slide 23

Slide 23 text

23 あとはわかるな?

Slide 24

Slide 24 text

24 AICP for x86

Slide 25

Slide 25 text

25 AICP-x86 ● AICP 派生 (fork) ● 多機能な AICP を Android-x86 の成果を用い x86 / x86_64 に port する ● Since: 2017/03/07 ● Build passed: 2017/03/08 ● Publish: today

Slide 26

Slide 26 text

26 Source Code ● gitlab.com/mordiford-x86 – Android-x86 由来 ● manifest, device_generic_common, device_generic_x86, device_generic_x86_64 – AICP 由来 ● build, frameworks_av, framework_base, frameworks_native, packages_apps_Settings, system_core, system_extras – LOS/cm-14.1 由来 ● system_vold

Slide 27

Slide 27 text

27 Build ● ビルド方法は AOSP とそんなに 変わらないです – repo init -u https://gitlab.com/mordiford-x86/manifest.git – repo sync -j8 -c -f –-force-sync – source build/envsetup.sh – breakfast aicp_android_x86-userdebug – make -j8 iso_img

Slide 28

Slide 28 text

28 Build ● ビルド方法は AOSP とそんなに 変わらないです ● ビルド時間 : – 8 コア / 32GB で 80 分 – 36 コア / 224GB で 35 分 ● 共にさくらのクラウド、 Ubuntu Server 16.04.2 / SSD:500GB ● 生成物は .iso イメージで、 Live 起動可能

Slide 29

Slide 29 text

29 現状 ● Build: OK ● Boot: OK ( ThinkPad X230 と X121e で確認) ● Root: OK ( system/extras/su ) ● BT: OK (ファイル転送可、 BT テザリング不可) ● Net: No ( LAN/WLAN 共に接続と同時に操作不能に) ● OTA: No

Slide 30

Slide 30 text

30 その他問題点 ● WLAN は cm-14.1-x86 では 動作していたので見直し ● 画面表示も解像度に対して小さすぎる – cm-14.1-x86 では適切だったので見直し ● OTA はインストール周りの挙動を確認してから