Contenu connexe Similaire à AllwinnerタブレットのOSを作ってみる (途中版) (20) AllwinnerタブレットのOSを作ってみる (途中版)3. 新ビルドサーバ
● Core i7マザーボード, Memory 12GB, 電源
(あひるさん寄贈)
● 3TB HDD, 256GB SSD, ケース
(しまだ)
● 家のNetwork回線が貧弱なため、ほたさん
(@lindwurm) 宅に設置を委託
● おーぷんここんと、ほたさん(Android mod系のディ
ストリビューションビルドに使用)の共同利用
12. linux-sunxi コミュニティ
● Allwinner マシン向けの Kernel, u-boot 等のメンテ
ナンスと Upstream への反映を行っている
● Allwinner マシンのデータベースを持ち、Hack の仕
方などをまとめている
http://linux-sunxi.org/Identification_guide
● 繰り返し GPL 違反をする Allwinner に対し開示要
求をしたり調査したりも行っているようだ
http://linux-sunxi.org/GPL_Violations
17. 調べてみると
● Q8 というフォームファクタのタブレットである
“ The 7" tablet format is a very popular case style
which is/was used for the cheapest tablets from 2012
through 2014. “
http://linux-sunxi.org/Format_Q8
●
外観は概ね似たような感じであるが、中身は物により、微
妙にchipが異なり、しかも多くの種類があるらしい
– 案の定、 ET_Q8_V1.2 という名前のタブレットが無かったもの
の、近そうなタブレットならあった
18. どうやってディストリを作るか?
● OpenEmbedded + meta-sunxi の組み合わせ
(meta-sunxi も Linux-sunxi コミュニティでメンテナンスさ
れている。)
https://github.com/linux-sunxi/meta-sunxi
● (ここんとしては)慣れている OpenEmbedded でさくっとで
きればいいよね
● とりあえずは Kernel が動くところまで
21. Sunxi の Device Tree事情
● 以前から sunxi の Linux kernel では、 FEX という独自
の Device Tree + α 的な仕組みを持っている
– Linux-sunxi ツリーは、 Linux 3.4 に FEX を追加搭載している。
● Device Tree との互換性はない
● 最近の Linux では Device Tree の方が推奨されている
ため、 Device Tree へのコンバート作業が進んでいる。
● meta-sunxi では、FEX と Device Tree の両方に対応し
ており、デバイスの対応状況によって Kernel などを切り
替えて build することができる。
22. conf/machine/q8.conf
#@TYPE: Machine
#@NAME: Q8 Tablet
#@DESCRIPTION:
require conf/machine/include/sun5i.inc
KERNEL_DEVICETREE = "sun5i-a13-q8-tablet.dtb"
UBOOT_MACHINE = "q8_a13_tablet_defconfig"
SUNXI_FEX_FILE = "sys_config/a13/pov_tab_p703.fex"
23. conf/machine/q8.conf
#@TYPE: Machine
#@NAME: Q8 Tablet
#@DESCRIPTION:
require conf/machine/include/sun5i.inc
KERNEL_DEVICETREE = "sun5i-a13-q8-tablet.dtb"
↑ DeviceTree (Linux)
UBOOT_MACHINE = "q8_a13_tablet_defconfig"
↑ u-boot の config (Linux-sunxi, Linux共通)
SUNXI_FEX_FILE = "sys_config/a13/pov_tab_p703.fex"
↑ FEXファイル (Linux-sunxi)
26. Sunxi-tools
● ホスト側マシンに sunxi-tools をインストールする。
● FELモードでタブレットを起動する
(このマシンの場合、USBケーブルを外して、[電源]+ [Volume +]を長押し
することでFELモードで起動する。画面は何も映らない。)
● タブレットとホスト側マシンを、データが通るmicroUSBケーブルでつなぐ
●
接続確認
$ lsusb
Bus 001 Device 006: ID 1f3a:efe8 Onda (unverified) V972 tablet in
flashing mode
...
●
テスト通信
$ sudo ./sunxi-fel version
AWUSBFEX soc=00001625(A13) 00000001 ver=0001 44 08
scratchpad=00007e00 00000000 00000000
27. u-bootを転送する
● Ubootだけを転送して起動する
$ sudo ./sunxi-fel uboot u-boot-sunxi-with-spl.bin write
● Kernelも含めて転送する
$ sudo ./sunxi-fel -v uboot u-boot-sunxi-with-spl.bin
write 0x42000000 uImage
write 0x43000000 uImage-sun5i-a13-q8-tablet.dtb
write 0x43100000 boot-q8.scr
write 0x43300000 rootfs.cpio.lzma.uboot