スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

Eclair on SmartQ5 の続き

今日、バグフィックス版の 1.5 (Cupcake) もリリースされたようですね。USB ストレージのマウントとダイヤラーの修正のみですから、いよいよ 1.5 から 2.0 へシフトしてきた雰囲気があります。

その 2.0 (Eclair) ですが、あれから少しずついじってます。
まず日本語入力について。これはマーケットから「OpenWnn フリック入力対応版」をインストールすることで、問題なく使えるようになりました。
画面の色が濃くなってしまうのは、なんらかのバグっぽいですね。SD カードから別の OS を一旦起動させて、それから Eclair に戻せば元に戻る (こともある) らしい。

なんにせよ、買った当初から考えると 1.5 はかなり使い勝手は良くなってきましたし、2.0 も covia さんの奮闘を期待したいものです。
スポンサーサイト
Date: 2010.03.11 Category: Chrome OS  Comments (0) Trackbacks (0)

Chromium OS にパッケージを追加する (ビルドする場合とフォントに関する注意)

前回書けなかった、Chromium OS にパッケージを追加するときにソースからビルドして追加する方法です。
今回追加しようとするのはフォントの VL ゴシック。これは Ubuntu のパッケージがありますし、フォントはほとんど環境に依存しないのでそのまま使えるはずですが、逆に言えばフォントならビルドの際に問題も出にくいでしょうし、確実に Ubuntu パッケージは作れるという意味でも、Chromium OS にパッケージを追加するという作業の確認にはちょうどいいのではないかと思います。

では以前書いた Adding a new package のステップに沿って進めていきましょう。

1. ソースを入手して、Debian パッケージが作成できるようにビルドが行えるようにする
2. ソースディレクトリ内に debian ディレクトリを作成し、その中に control、changelog、rules ファイルを作成する
これは簡単です。Chromium OS をビルドしている環境が Ubuntu でしょうから、その Ubuntu のターミナル上で

apt-get source ttf-vlgothic

と実行します。
これで現在のディレクトリに VL ゴシックのソースと、それを .deb パッケージにビルドするためのパッチが適用されたディレクトリ (今回は ttf-vlgothic-20090204 という名前のディレクトリ) が作成されます。今回はこれでこの 2 つのステップは完了です。

3. ソースディレクトリのトップに make_pkg.sh ファイルを作成する
これは Chromium OS 向けのスクリプトのようです。記述しなければならない項目はある程度決まっているようですが、基本的に他のパッケージからコピーして、パッケージ名の部分だけ書き換える方法が推奨だと思います。
~/chromiumos/src/third_party/ 以下にいくつかディレクトリがあり、その中に make_pkg.sh ファイルがあると思うので、それを ttf-vlgothic-20090204 のディレクトリにコピーして、末尾の make_pkg_common の後を「"ttf-vlgothic"」に書き換えれば OK です。
その後、ttf-vlgothic-20090204 ディレクトリを ~/chromiumos/src/third_party/ ディレクトリにコピーします。

4. ソースディレクトリのトップに README ファイルを作成する
Chromium OS のサイトでは README ファイルと書いていますが、他のパッケージのソースを見ると README.chromium という名前のように思います。このファイルは無くてもビルドできますが、パッケージに関する説明、ソースの入手先、ライセンス、Chromium OS でビルドするにあたって適用したパッチなどを記述します。これも他のパッケージからひな形としてコピーして、適切な内容に書き換えるといいと思います。
また、明記されていませんが LICENSE という名前のファイルでライセンスを置きます。大体のソースアーカイブには同じようなファイル名でライセンスが明記されていると思いますので、それにリンクを張ってもいいようです。

5. 依存関係にあるパッケージを追加する
今回追加するパッケージにはありませんので、このステップはパスします。ビルドに必要な物は chroot 環境に、動作に必要な物はイメージに追加されるようにしなくてはならないと思います。

6. build_platform_packages.sh と build_image.sh ファイルを編集し、追加するパッケージもビルドとイメージに追加がされるようにする
このステップはそのうち変更がされることがあると思いますが、現在ではビルド対象のパッケージは build_platform_packages.sh のスクリプト内に直接書かれています。ですので、このスクリプトを書き換えないとビルドされません。通常の場合は build_image.sh を編集する必要は無いと思いますが、イメージ作成手順でファイルやディレクトリを増減している場合もあるので、インストールしたはずのパッケージが正常に動作しない場合はこちらもチェックが必要です。
まず build_platform_packages.sh の編集カ所です。このファイルの 34 行目付近に、「THIRD_PARTY_PACKAGES=」で始まる行があります。ここにビルドしたいパッケージのソースを配置したディレクトリを記述していきます。ディレクトリ名は ~/chromiumos/src/third_party/ ディレクトリからの位置で指定します。行を追加する場合はバックスラッシュを行末に追加し、最後の行はダブルクォーテーションで終わるようにします。
ビルドされた .deb パッケージは ~/chromiumos/src/build/x86/local_packages/ に配置されるので、~/chromiumos/src/package_repo/package-list-prod.txt ファイルにビルドしたパッケージ名を追記すればイメージ作成のときにパッケージがインストールされます。

これでうまくいくはずですが、今回のフォントの追加がうまくいきませんでした。作成したイメージで起動してみると、/usr/share/fonts/truetype/ 以下が ttf-droid しか存在しません。ここに vlgothic ディレクトリが追加されるはずです。試しに
dpkg -L ttf-vlgothic
と実行してみると、パッケージは正常にインストールされて /usr/share/fonts/truetype/vlgothic/
にフォントがインストールされている、という形になっています。

ここで build_image.sh の内容を確認してみると、同じディレクトリの customize_rootfs.sh というスクリプトを呼び出しています。このスクリプトの 218 行目あたりに
UNNEEDED_TRUETYPE_FONTS=$(ls -d /usr/share/fonts/truetype/* | grep -v ttf-droid)
という行があります。この後で UNNEEDED_TRUETYPE_FONTS に入っているディレクトリを削除しているので、ここで ttf-droid 以外のフォントが削除されているようです。なので、フォントを追加する場合はこの行を
UNNEEDED_TRUETYPE_FONTS=$(ls -d /usr/share/fonts/truetype/* | grep -v "ttf-droid\|vlgothic")
のように書き換えます。
ついでに、そのすこし下で gtk-font-name に DroidSans を割り当てているので、これを VL PGothic に変更すれば UI のフォントも VL ゴシックになります。フォントサイズに 8 を指定していますが、これを大きくすると Options 画面のボタンが押せなくなったりするので注意が必要です。

ブラウザ内のフォントを指定するには、Options の Under the Hood タブを開き、Web Content 項目にある Change font and language settings ボタンをクリックすれば、フォントを指定することができます。

こんな感じでパッケージをビルドして追加することができます。とはいえ、Ubuntu や Debian のパッケージがそのまま使える可能性が高いことを考えれば、ビルドをしなければならないパターンはそんなにないかもしれません。
Date: 2009.11.26 Category: Chrome OS  Comments (0) Trackbacks (0)

Chromium OS についてのあれこれ

・ログインアカウントは gmail アカウント。ビルドした際にローカルユーザーアカウントを設定していれば、そのアカウントでもログイン可能。gmail アカウントでログインした場合は、各種 google サービスにそのままログインできる。

・ネットワークがない状態では、ローカルユーザーアカウントか、過去に一度でもログインしたことのあるアカウントでのログインのみが可能。

・NetworkManager のようなネットワーク管理ツールでネットワークの管理を行う。無線 LAN も使えるはずですが、mini9 のモジュールがうまく読み込まれないため未確認。e-mobile の D02HW はカーネルモジュールが無く、使用不可。静的 IP アドレスの設定を行うインターフェイスは見あたらない。

・プロクシは Options の「Under th Hood」タブにある。(実際に使ってはいないので、動作は不明)

・設定などはすべて英語。

・USB キーボードやマウスはポートに接続すればそのまま使える。

・USB メモリを接続すると、Content Browser という小窓が開いてファイルを選択することが出来る。ブラウザで表示できる形式のファイルを選択すれば、ブラウザで表示することができる。マウント先は /media の下。SD カードスロットはカーネルモジュールがないため使用不可。

・USB メモリのアンマウント方法は不明。ターミナルを開いて手動でアンマウントしてもすぐに再マウントされる。

・液晶を閉じるとスリープになる。開くとロックされた状態で、パスワードの入力が必要。シャットダウンは電源ボタンを押す。動作中に Ctrl+Alt+L を押すと手動でロックできる。また、一定時間操作をしないと自動的にロックされる。その時間を変更する方法は不明。

・F12 を押すと開いているウィンドウの一覧。Ctrl+Alt+T でターミナルを表示。Alt+Tab で開いているウィンドウを切り替える。F8 を押すとキーボードがポップアップで表示され、そこで Shift、Ctrl、Alt を押すことで組み合わせたキーのショートカットの機能を表示できる。

・/ (ルート) ディレクトリはリードオンリーでマウントされている。/etc、/home、/var 以下は第二パーティションに変更されたファイルが書き出される。

・YouTube の再生などは問題なく可能だが、Fn+5/6 の音量調整はできない。YouTube のプレイヤーにある音量操作で調整するしかなさそう。

とりあえずこのくらいでしょうか。
Chromium OS を使ってみて、個人的には Windows 7 Starter で行われる予定だった仕様を思い出します。もし Windows 7 Starter が当初の予定通りの仕様で進められていれば、あと一年も待たずに同じような機能のものが製品として使えた可能性があるのですよね。
そういう意味では、使い方によっては Chromium OS も面白い効果があるかもしれません。
なにより、OS へのログインではなくそのまま Google サービスにログインするというこの方式は、意外と便利に思えますね。
Date: 2009.11.25 Category: Chrome OS  Comments (1) Trackbacks (0)

Chromium OS で日本語入力

11/25 locale 設定の部分を追記。

uim.jpg
少々手順が不明な部分もありますが、とりあえず日本語入力が出来ました。いろいろと試行錯誤したので、不要な手順なんかも混じってそうですが。。。
使用したのは uim と anthy です。今回はこれらのビルドはせず、Ubuntu 9.10 のパッケージを流用します。

手順は、とりあえず build_platform_packages.sh までは終わらせて、パッケージのビルドを完了させます。
そして、前回書いたパッケージを追加数方法で uim と anthy のパッケージを追加して、イメージの作成をしてからいくつか設定を行います。

まずパッケージの追加です。以下のパッケージを、~/chromiumos/src/build/x86/local_packages ディレクトリに置きます。
anthy_9100h-0ubuntu1_i386.deb
im-switch_1.16ubuntu1_all.deb
libanthy0_9100h-0ubuntu1_i386.deb
libcanna1g_3.7p3-6.1_i386.deb
libgcroots0_0.8.3-4_i386.deb
libuim-data_1%3a1.5.3-1_i386.deb
libuim6_1%3a1.5.3-1_i386.deb
uim-anthy_1%3a1.5.3-1_i386.deb
uim-common_1%3a1.5.3-1_all.deb
uim-gtk2.0_1%3a1.5.3-1_i386.deb
uim-utils_1%3a1.5.3-1_i386.deb
uim-xim_1%3a1.5.3-1_i386.deb

それから、~/chromiumos/src/package_repo/package-list-prod.txt に以下の行を追加します。
im-switch
anthy
uim-common
uim-utils
uim-xim
uim-anthy
libcanna1g
uim-gtk2.0

次に build_image.sh を実行し、イメージを作成します。できあがった rootfs.img をループバックマウントします。

sudo mount -o loop ~/chromiumos/src/build/image/ID/rootfs.img /mnt

(chroot 環境の外で行います)
マウント先に chroot します。

sudo chroot /mnt

im-switch コマンドでデフォルトの IM を変更します。

im-switch -c

uim-toolbar が選択されていると思うので、これを uim にします。
また、デフォルトだと uim の入力方式が直接入力になっているため、これを anthy に変更します。これはファイルを直接編集します。

vi /usr/share/uim/default.scm

一行コメントがあるだけだと思うので、その下に
(define default-im-name 'anthy-utf8)
を追記して、保存して閉じます。

** 2009/11/25 追記
uim はロケールの設定が必要となります。日本語ロケールにしないと日本語入力ができないと思います。設定するのは /etc/default/locale (当然 chroot 内です) 。このファイルに

LANG="ja_JP.UTF-8"

と記述します。
デフォルトでは ja_JP のロケールは定義されていないので、

locale-gen --lang ja_JP.UTF-8

と実行して、ロケールを定義します。
** 追記ここまで

これで chroot 環境から exit し、/mnt をアンマウントして image_to_usb.sh で USB メモリにイメージを書き込みます。
Chromium OS が起動したらログインして、テキスト入力エリアで Shift+Space を押すと (SCIM 等とは違い、Ctrl+Space ではないので注意) 日本語入力が出来ると思います。

ところで Chromium OS 上ではスクリーンショットを撮る方法は・・・やはり無いのでしょうかね。
Date: 2009.11.23 Category: Chrome OS  Comments (0) Trackbacks (0)

Chromium OS にパッケージを追加する

Chromium OS はデフォルトで Android でも使われていたフォントを使用するので、日本語サイトの表示などには問題ありません。
しかし当然のことながら日本語の入力ができません。
アプリに関してはブラウザ以外は使えないのですから、ほとんど不要と言えますが、日本語入力環境は必要ですよね。
と言うわけで、まずは Chromium OS にパッケージを追加する方法を調べてみます。

Chromium OS のサイトに、Adding a new packae というページがあり、ここにパッケージを追加する方法が記述されています。これによると、
1. ソースを入手して、Debian パッケージが作成できるようにビルドが行えるようにする
2. ソースディレクトリ内に debian ディレクトリを作成し、その中に control、changelog、rules ファイルを作成する
3. ソースディレクトリのトップに make_pkg.sh ファイルを作成する
4. ソースディレクトリのトップに README ファイルを作成する
5. 依存関係にあるパッケージを追加する
6. build_platform_packages.sh と build_image.sh ファイルを編集し、追加するパッケージもビルドとイメージに追加がされるようにする

という手順が必要なようです。結構な手間ですし、特定のパッケージのみをビルドするオプションも見あたらないため、毎回全てのパッケージをビルドすることになります。
この方法は後で説明するとして、もう少し簡単に追加する方法があったのでそれをメモしておきます。

簡単なのは、Ubuntu のパッケージをそのまま流用してしまう方法です。
流用したいパッケージが、Chromium OS に含まれないパッケージに依存していたりすると手間が増えますが、ビルドするよりはよっぽど楽だと思います。
Ubuntu のパッケージをインストールする方法は、イメージを作成する時と、イメージ作成後に行う方法があります。
イメージ作成後は dpkg コマンドでインストールしていくだけなので、手間はかかりますがひとつずつ確実に作業を進められます。依存関係の解決が確実でない場合は、まずこの方法を使ってインストールしてみるといいと思います。
イメージ作成時にインストールする方法は、ファイルを書き換えるなどして事前の準備があります。しかし一度作業してしまえばイメージ作成時に自動的にインストールされるようになるので、必ず必要となるパッケージはこの手順を使うといいと思います。

まずイメージ作成後にパッケージを追加する方法です。
まず chroot 環境で build_image.sh まで完了させます。そのとき作成された rootfs.img (~/chromiumos/src/build/image/(ID)/ ディレクトリ内にある) を、以下のようにしてループバックマウントします。

sudo mount -o loop rootfs.img /mnt


これで rootfs.img が /mnt にマウントされたので、インストールしたい .deb パッケージを /mnt 以下の適当なディレクトリ (/mnt/tmp など) にコピーします。
rootfs.img へ chroot します。

sudo chroot /mnt


.deb をコピーしたディレクトリへ移動して、dpkg -i コマンドでパッケージをインストールします。インストールが終わったら不要なパッケージは削除した方がいいと思います。

cd /tmp
dpkg -i package.deb
rm package(s).deb


あとは chroot 環境から抜けて、アンマウントします。

exit
sudo umount /mnt


これで rootfs.img 内の環境にパッケージをインストールできたので、image_to_usb.sh コマンドで USB メモリに書き出せば OK です。

イメージ作成時にパッケージを追加する方法です。
まずインストールしたいパッケージを、依存関係の解決に必要なパッケージも含めてすべて ~/chromiumos/src/build/x86/local_packages ディレクトリーにコピーします。
次に、~/chromiumos/src/package_repo/package-list-prod.txt をエディタで開き、末尾にでも (場所はどこでもいいと思います) 追加したいパッケージ名を記述していきます。そのパッケージと依存関係のパッケージは自動的に選択されると思いますが、場合によっては build_image.sh で依存関係のエラーが出るかもしれません。その場合は必要なパッケージ名をこのファイルに追加してください。
これで chroot 環境から build_image.sh を実行すれば、追加したパッケージもインストールされたイメージができあがります。


Chromium OS は Ubuntu の Karmic (9.10) をベースにしているので、Ubuntu package search を使って Karmic のパッケージが見つかればそれが使える可能性が高いと思います。

長くなってしまったので、パッケージをビルドさせる方法は次にします。
Date: 2009.11.22 Category: Chrome OS  Comments (0) Trackbacks (0)
最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。