Report for porting Tizen to Galaxy S2

45
GALAXY S II WiMAX (とか) に入れてみた

description

Report for porting Tizen to Galaxy S2

Transcript of Report for porting Tizen to Galaxy S2

Page 1: Report  for porting Tizen to Galaxy S2

GALAXY S II WiMAX(とか)に入れてみた

Page 2: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

2/41

1年前 1年前 (2012/7/3)(2012/7/3)

Tizen IRCTizen IRC にてにて

Page 3: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

3/41

やあ、誰か やあ、誰か TizenTizen をを GalaxyS2GalaxyS2 にに入れられるか知ってる奴いる?入れられるか知ってる奴いる?

   https://www.tizen.org/irclogs/%23tizen.2012­07­03.log.html#t2012­07­03T09:49:52

Page 4: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

4/41

どうだろう。どうだろう。   期待しない方がいいよ。期待しない方がいいよ。

  https://www.tizen.org/irclogs/%23tizen.2012­07­03.log.html#t2012­07­03T09:54:10

Page 5: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

5/41

理由1. GLGL やモデムなどモデムなどのドライバーが無い

● OEM から取得する必要がある

2. 新しく発売される Tizen デバイスの売上売上に影響するに影響する

Page 6: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

6/41

理由3. 現在の Tizen はハイエンド向けで、ローエンドでは十分な機能を発揮できない十分な機能を発揮できない

● ローエンド向けを用意する気はない

4. きっと他にもあるはず

Page 7: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

7/41

AndroidAndroid で動いているデバイスはで動いているデバイスはそれでユーザーの要求を充足できてそれでユーザーの要求を充足できて

いるのだから誰もいるのだから誰も TizenTizen が動くことをが動くことを 期待してないだろ 期待してないだろ

  https://www.tizen.org/irclogs/%23tizen.2012­07­03.log.html#t2012­07­03T09:54:10

Page 8: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

8/41

移植に手を出していた移植に手を出していたので軽く凹みました ので軽く凹みました ......

Page 9: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

9/41

AndroidAndroid スマホをスマホを触っていると触っていると

Page 10: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

10/41

それ、 ですか?それ、 ですか?

Page 11: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

11/41

動かせるようになってから動かせるようになってから会う機会がありません会う機会がありません ......

Page 12: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

12/41

自己紹介 Yuya Adachi (@moguriso)

Device Driver Engineer For ← ←

Tizen nerd http://moguriqt.hatenablog.jp/

Page 13: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

13/41

アジェンダ 移植手順 kernel 改造

Tizen rootfs 作成

起動スクリプト修正

Xorg 関係の修正

トラブルシュート

Q & A

Page 14: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

14/41

移植手順移植手順

〜〜 kernelkernel 改造〜改造〜

Page 15: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

15/41

Kernel 改造 (1) Samsun Opensource Center より ダウンロードする( http://opensource.samsung.com/)

ISW11SC で検索

Page 16: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

16/41

Kernel 改造 (2) kernel config の修正

Android config(dali_jpn_kddi_defconfig) からの差分が 50 個位

起動デバイスを内蔵 ROM(mmcblk0p*)から MicroSD に切り替え

CONFIG_CMDLINE=”root=/dev/cyasblkdevblk0p*”(GT-I9100 の場合 → /dev/mmcblk1p*)

CONFIG_CMDLINE_FORCE=y

Page 17: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

17/41

Kernel 改造 (3) devtmpfs と udev 自動認識用

CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y→ 有効化しないと /dev/tty0 などが udev に検出されない

仮想コンソールと FB コンソール CONFIG_VT_CONSOLE=y

→ 起動時のログ出力用

CONFIG_FRAMEBUFFER_CONSOLE=y

Page 18: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

18/41

Kernel 改造 (4) その他ファイルシステム系

CONFIG_LOGFS=y

CONFIG_FSCACHE=y

その他 CGROUP, BTREE, LOGO ( 要らないかも知れない )

CONFIG_ANDROID_LOGGER=y (dlog が使う )

Porting guide には CONFIG_FB_S3C などもあるが デバイスが違う or 初期化位置 / 順序が異なるため未使用

Page 19: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

19/41

移植手順移植手順

〜〜 Tizen rootfs Tizen rootfs 作成〜作成〜

Page 20: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

20/41

Tizen rootfs 作成 (1) 真っ当なやり方

mic コマンドを使う

$ sudo mic create RD-210.ks -o ./

Page 21: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

21/41

Tizen rootfs 作成 (2) mic コマンドだけでは /opt/home/app/.e の データ等、一部生成されない

download.tizen.org の tar image をバラして使う

Page 22: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

22/41

移植手順移植手順

〜起動スクリプト修正〜〜起動スクリプト修正〜

Page 23: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

23/41

起動 S 修正 (1) Tizen 2.0 起動順序

Tizen Porting Guide より

Page 24: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

24/41

起動 S 修正 (2) /etc/rc.d/rc.sysinit の下記を修正

mmcblk0 の mknod をコメントアウト

rc3 の起動ループにログ出力を追加

Page 25: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

25/41

移植手順移植手順

〜〜 XorgXorg 関係の修正〜関係の修正〜

Page 26: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

26/41

Xorg 関係の修正 /etc/X11/xorg.conf.d/display.conf

/etc/X11/xorg.conf.d/input.conf xorg-x11-drv-emulfb-0.5.8-1.1.armv7l.rpm

ソフトレンダリング用の compositor xorg-x11-misc-emulfb-0.0.3-6.1.armv7l.rpm

上記を有効化するための conf ファイル 上記 RPM を展開して rootfs に上書きする

https://download.tizen.org/snapshots/2.1/common/latest/repos/tizen-main/armv7l/packages/armv7l/

Page 27: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

27/41

1.0 は起動しました

Page 28: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

28/41

トラブルシュートトラブルシュート

Page 29: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

29/41

2.0a 〜が起動しません[/etc/rc.d/rc3.d/S44boot-osp start]Starting OSP app-serviceSmack: "smack_inode_setsecurity" netlbl error 93.... test successs ret = 0[/etc/rc.d/rc3.d/S44indicator start]Smack: "smack_inode_setsecurity" netlbl error 93.Smack: "smack_inode_setsecurity" netlbl error 93.appcore: sf_connect failed: -2[sys_assert]START of sighandler[sys-assert]exepath = /opt/apps/aospd00043/bin/osp-app-service[sys-assert]processname = osp-app-service[sys_assert]this thread is main thread. pid=945[sys-assert]cs timestr 29[sys-assert]start print_node_to_filesighandler = 0x40026ec9, g_sig_oldact[i] = (nil)[sys_assert]END of sighandler

OSP serviceOSP service との接続でとの接続で NGNG

→ → appcoreappcore がが serviceservice にに接続出来ずにしぬ接続出来ずにしぬ

Page 30: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

30/41

2.1b は rc3 にも行けず sysvinit が systemd に変わったため

起動シーケンスが並列化された

fstab から自動生成された mount point を見に行くため root fs も見失った ...

Page 31: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

31/41

2.1b 起動部分 (1)

Page 32: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

32/41

2.1b 起動部分 (2)

Page 33: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

33/41

2.1b を sysvinit にする

2.1b を sysvinit にする

Page 34: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

34/41

2.1b 起動 (GT-I9100)

ある程度はある程度は操作もできます操作もできます

Page 35: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

35/41

2.1b 起動 (ISW11SC)

全く全く TouchScreenTouchScreen がが効きません 効きません 2013.052013.05

Page 36: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

36/41

何故 Touch 出来ない ? GT-I9100

”Atmel maXTouch Touchscreen”

Xorg が正常に TouchScreen として認識する

Page 37: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

37/41

何故 Touch 出来ない ? ISW11SC

”melfas-ts”

Xorg が mousemouse と認識した後と認識した後 keyboardkeyboard と認識と認識

Page 38: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

38/41

ロジックは正しい ...

evdevmultitouchevdevmultitouch のの実装は正しそう実装は正しそう

→ → melfas_ts(driver)melfas_ts(driver) がが返す値がおかしい?返す値がおかしい?

Page 39: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

39/41

RD-210 では ... RD-210(devphone) の TouchScreen も melfas-ts を使っている

Kernelconfig が異なり使っているドライバ も異なる

“board-specific setup code includes that in its tablet of I2C devices.” との記載があり、 arch/arm/mach-exynos/board-melfas.cで I2C-Dev3 の初期化を行なっている

board-malfasboard-malfas をを移植すれば動くか?移植すれば動くか?

→ → 2013.072013.07 辺りに辺りに melfas_tsmelfas_ts をを 修正して操作 修正して操作 OKOK になってます。になってます。   ISW11SCISW11SC だとだと alsaalsa 経由で音も経由で音も なります。 なります。

Page 40: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

40/41

ちなみに動かして意味あるの?

ISW11SC はとても安いのでコレで動くことには意義があると思う (Tizen に限らず )

Page 41: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

41/41

ちなみに動かして意味あるの? 海外の人からは好意的な言葉を貰うことが多いです .

“not working well” とも言われましたが ...

周りで Xorg 関連の仕事してる人に 聞かれた際に役に立ちました …

TouchScreen/TouchPanel ドライバを追いかけて Touch 関連の案件でアドバイスを求められました ...

libhybris で GL アクセラレーションを効かせるまではやりたい(ヤル気が続けば ... )

Page 42: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

42/41

Page 43: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

43/41

Page 44: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

44/41

Q & AQ & A

Page 45: Report  for porting Tizen to Galaxy S2

Copyright 2013 yuya adachi

45/41

ご清聴ありがとうございました