Linux
webOS
Raspberrypi3

webOS Open Source Edition をビルドしてみた

ソースが公開されて、ラズパイ3があれば動かせるということだったので試してみました。

webOS Open Source Edition

http://webosose.org/

ビルド環境

Google Compute Engine (GCE)の仮想マシンのインスタンスを一個新たに作りました。

ビルド環境の要求条件はここに書いてあります。
http://webosose.org/discover/setting/requirements/

OS: Ubuntu 14.04
ディスク: 200GB

CPUとメモリは普段はCPU1個、メモリ1.7GBでいいのですが、後述するようにmakeを実行するときだけCPU8個、メモリ30GBに切り換えました。

ビルド

最初にgitをインストール。

sudo apt update
sudo apt upgrade
sudo apt install git

ここに書いてあることをなぞります。
http://webosose.org/discover/setting/building-webos-ose/

git clone https://github.com/webosose/build-webos.git
cd build-webos
sudo scripts/prerequisites.sh
./mcf -p 0 -b 0 raspberrypi3

仮想マシンの設定をCPU8個、メモリ30GBに切り換えてから以下を実行。

make webos-image

ビルドにはかなり時間がかかるので、代わりに以下のようにすればsshをログアウトしても大丈夫です。

nohup make webos-image &

途中でエラーで止まるかもしれません。
https://github.com/webosose/build-webos/issues/7
これと同じエラーならば、回避策があります。

rm -rf ~/.node-gyp/
make webos-image

これで最後までビルドが通りました。通算で4時間半くらいかかりました。
SDカードにイメージファイルは以下のところでできます。

cd BUILD/work/raspberrypi3-webos-linux-gnueabi/webos-image/1.0-r3/deploy-webos-image-image-complete
ls -lh webos-image-raspberrypi3.rootfs.rpi-sdimg 
-rw-r--r-- 3 koba koba 1.2G Apr  3 04:33 webos-image-raspberrypi3.rootfs.rpi-sdimg

確かにディスクの空き容量が100GBは必要でした。

 df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       197G   75G  115G  40% /

動作確認

SDカードへの書き込み

SDカードへのイメージファイルの書き込み方は以下に書いてあります。
http://webosose.org/discover/setting/flashing-webos-ose/

ラズパイのいつもの方法でddで書き込みます。
イメージファイルのサイズが1.2GBなので、2GB以上のサイズのマイクロSDカードを用意すれば書き込むことができます。
ちなみに、イメージファイルはzip等で圧縮すると200MBくらいに小さくなるので、仮想マシンから転送するときは圧縮したほうがネットワークにやさしいです。

起動

Ethernetケーブルをつなぎ、HDMIにテレビを、USBにキーボードとマウスをつないで電源を入れます。

電源を入れてしばらく待つとHDMIでつないだ画面にマウスカーソルが表示されます。
メニューアイコンを出すには、キーボードからF1かWindowsキーを押下します。
( ... 実はこれがわからずに半日つぶしました ... )
YouTubeの動画が見られます。

ネットワーク

ネットワークはDHCPでIPアドレスを取得します。
IPアドレスを知るには、シリアルコンソールからログインするか、一度RaspbianのSDカードで起動してそのIPアドレスをメモしておいて、webOSを立ち上げ直すとよいでしょう。(IPアドレスはMACアドレスにひもづくので短期間なら同じIPアドレスが割り当てられる。)

IPアドレスがわかれば、sshでログインできます。ユーザーはroot, パスワード無し。

画面の解像度を1920x1080から変更する方法

自宅のテレビが1280x720だったので、以下のところを見て変更しました。
http://forum.webosose.org/t/hd-tv-resolution-problem/211

関連

webOS Open Source Edition の観察(1)
webOS Open Source Edition の観察(2)
webOS Open Source Edition の観察(3)
webOS Open Source Edition の観察(4)