Linux

工人舎SH6でAndroid-x86 4.0RC2

眠っていたSH6を有効活用できないか試行錯誤した結果、Android x86(ICS)がとてもいい感じだったのでメモを残します。

SH6のスペックは
http://jp.kohjinsha.com/models/sh6kt12a/specification/index.html
から抜粋すると、
- Intel® processor A100 (600MHz)
- メインメモリ 1GB
最近のスマホでも1GHzオーバーのプロセッサで動作するのに(それでも動作が重いのに)こんなスペックで大丈夫かいな?と思いましたが、結論から言って予想外に快適でした。
LinuxでもDistributionによっては快適に動きますが、あまり一般的では無いDistroだったりして常用は躊躇する部分もありますが、Androidであればマニアックすぎず、そこそこ快適に使えるのではないかと思いました。

■動作確認結果
スライドパッド ○
内蔵WLAN ×→○ ※ドライバ追加
内蔵LAN × ※そもそも有線LANの設定が無いので使えないっぽい。
Bluetooth ○
タッチパネル ×
内蔵カメラ ○
ハードウェアキーボード ○
スタンバイ ×
日本語入力 ×→○ ※アプリ追加
安定動作 ○
サウンド ○

■レシピ
・android-x86-4.0-RC2-eeepc
http://www.android-x86.org/download

・RaLink RT73 USB Enhanced Driver
http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-3.0.3.tar.bz2

・nicoWnnG IME
https://play.google.com/store/apps/details?id=net.gorry.android.input.nicownng
※Google Playからインストールできる

■インストール手順
インストール自体は超簡単なので、概要だけ記載します。
まずEeePC用のCDイメージ(ISO)を用意して、SH6にUSB接続した外付けDVDドライブからブートします。
grubのメニューからインストールを選択します。
インストールパーティションを選択する際に注意する店としては、先にWindowsが動いているパーティションをext3にフォーマットしても、インストール自体は進みますが起動に失敗します。
明示的にfdiskでWindowsパーティションを削除してLinux用のプライマリパーティションを作成してあげる必要があります。
パーティションをext3でフォーマットしたら、画面の指示に従ってさくさく進めば10分もかからずインストール完了します。
ここでAndroid x86を起動するか、再起動するか?と聞かれるので再起動を選びます。
起動する、を選ぶとCDからブートするので読み込みやらに時間がかかる。再起動した方が早いです。
私の外付けドライブの場合、再起動する時もドライブはロックされた状態なのでディスクが取り出せず、そのままだともう一度インストーラが起動してしまうので思い切ってUSBをぶっこぬきます。

無事にインストーラが起動していればgrubで通常起動かデバッグ起動かを選択する画面がでますので、通常起動を選び、Androidの初期設定を画面に従ってすすめればOKです。
触っているとわかりますが、ここまでほとんど何もしないで動作します。
スライドパッドもキーボードも画面の表示も音も全く問題在りません。
この時点で動かないのは内蔵無線LANのみです。

★インストール後、真っ先にすることは「省電力の抑止」です。
設定>ディスプレイ>スリープ を「常時点灯」とします。
スタンバイに入ってしまうと、キー押下でも電源キーでも復帰しません。
電源キー長スライドで強制的に電源オフして、起動し直さないといけません。

インストール後、Android標準の「端末エミュレーション」アプリを使用する事で、コンソールからの操作が可能です。
これができれば通常のLinuxやBSDを使っているのとほぼ変わりありません。
またsuコマンドで簡単にrootになれます。
携帯をroot化する手間に比べると楽勝すぎます。

内蔵無線LANを動かすには、
rt73.binを/lib/firmwareにコピーします。
コピー後、パーミッションの設定をしてあげます。
$ su
# chmod 644 /lib/firmware/rt73.bin
後は設定>無線とネットワーク>Wi-FiをONにして、アクセスポイントの設定を行うだけです。

ちなみにEeePC向けのISOを使いましたが、ThinkPad用のISOを使うと、内蔵無線LANは最初から動作しますが、スライドパッドが効きませんでした。
どちらかというと無線LANを有効にする方が楽だったのでEeePCのISOを使ってます。

日本語設定についてはGoogle PlayからnicoWnnGをインストールして設定するだけです。
この辺はnicoWnnGの説明を見て貰えればわかると思います。


■課題
・タッチパネルを動作させたい
・スタンバイとそこからの復帰をさせたい
・Android上でgccとか動かしたい

| | コメント (1) | トラックバック (0)

Redmine 1.0.3のインストール

現在Redmine0.8.7を使っているのですが、どうやら最新の1.0.3がなかなかいいらしいという事で、バージョンアップをしてみようと思います。
環境はUbuntu 10.10 amd64です。

まずはRedmineの最新版を入手します。
http://www.redmine.org/
のDownloadから、Latest stable Release 1.0.3をダウンロードします。
公式パッケージはvendorディレクトリ以下に必要なバージョンのRailsも含まれているという事なので、事前にRailsを用意する必要はありません。
これはInstallするSystemのRailsのバージョンが容易に変更できない場合にとても助かります。
ちなみにsvn等からRedmineのソースのみを入手した場合は自力でRailsをFreezeしてあげる必要があります。
→参考:http://redmine.jp/faq/system_management/redmine-0-6-0-is-not-rails-2-compatible/

ダウンロードしたtarボールを解凍して/varディレクトリへ移動、WEBサーバが使用できるようにownerを変更します。

$ tar zxf redmine-1.0.3.tar.gz
$ sudo mv redmine-1.0.3 /var
$ sudo chown -R www-data.www-data /var/redmine-1.0.3

Railsを動かすWEBサーバはAppach+Passengerなどが主流のようですが、私はmongrelを使います。

# apt-get install mongrel
でインストールします。
まずはRedmineを起動してみます。

$ sudo /usr/bin/mongrel_rails start -e production -c /var/redmine-1.0.3 -p 3000 --user www-data --group www-data

おっと、エラーが出ます。
Could not find RubyGem rack (~> 1.0.1)

rackの該当バージョンを入れる必要があるみたいです。
# gem install rack
とすると最新のrack 1.2.1が入ってしまい、相変わらずバージョンが違う、と言われてしまいます。
ここはバージョンを指定してrackをインストールします。
# gem install --version '= 1.0.1' rack

では改めてmongrelを起動します。

No such file or directory - /var/redmine-1.0.3/config/database.yml

またエラーになってしまいました。
database.ymlがないですね。

$ cd /var/redmine-1.0.3/config
# cp database.yml.example database.yml

# emacs database.yml

に以下を記入します。
production:
  adapter: sqlite3
  dbfile: db/redmine.db
  timeout: 5000

引き続きSession Keyの設定とDBの初期化を行います。

$ rake config/initializers/session_store.rb
$ rake db:migrate RAILS_ENV=production
$ rake redmine:load_default_data RAILS_ENV=production

この辺の設定は、
http://redmine.jp/tech_note/install/
を参照しました。

またこの辺で作成したファイルのownerやpermissionがrootになっていたりするので、一括で習性しておきます。
$ cd /var/redmine-1.0.3
# chown -R www-data.www-data *
# chmod db/redmine.db
# chmod db/schema.rb

ではもう一度mongrelを起動してみます。

$ sudo /usr/bin/mongrel_rails start -e production -c /var/redmine-1.0.3 -p 3000 --user www-data --group www-data

どうやらうまく起動したようです。

| | コメント (0) | トラックバック (0)

Redmine 0.8.7から1.0.3へのアップグレード

最新バージョンのRedmineが起動することが確認できたので、古いバージョンから移行します。
実は移行はそれほど難しくありませんでした。

http://redmine.jp/guide/RedmineUpgrade/
を参照してその通りやるだけで、驚くほどあっさり終了です。

| | コメント (0) | トラックバック (0)

モバイルルータ


古いPCにLinuxやBSDを入れて使う場合に必ずつまずくのが無線LANの設定です。
ネイティブドライバがあるものは比較的簡単に、ndiswrapperでWindows用ドライバを入れられるものもそこそこ簡単に使えるようにできると思いますが、そうは言ってもなぜかうまくいかない事が多々あるのも事実です。
ドライバが動かない場合、無線の設定がうまくいかない場合などなど。。。
一番手っ取り早いのが有線LANでの接続ですが、有線だとPCを使う場所が限られてしまいます。デスクトップならともかく、ノートPCで使う場所が限定されるのはもったいない。
そんなときに有効なのが有線LANから無線LANへのコンバータです。
コンバータ側で自宅などの無線LAN APとの接続設定をしておけば、PCとコンバータを短い有線LANで接続するだけで無線LANが使えるようになります。
応用編として有線LANしか内蔵していない液晶TV(うちのAQUOSも)などを無線LANにつなぐことも可能です。

従来はそこそこの値段がしましたが、Amazonさん限定だと3000円弱で手に入るようです。
しかもスイッチでコンバータだけでなくルータやAPとしても使えるらしい。
私はWiMAXのルータを持っているので必要ありませんが、コンバータ以外にも使い道があるのはいざというときにも便利ではないでしょうか。
PCMCIAカードやUSBドングルよりは大きいとはいえ、かなり小型なので電源を本体のUSBから供給してあげればノートPCと一緒に持ち歩くことも十分許容範囲です。

このお手軽さがあると、無線LANの設定で悩むのがアホらしくなるかもしれません。

| | コメント (0) | トラックバック (0)

CentOSでSubversionを使う(http)

事前準備
# yum install subversion mod_dav_svn

まずapacheの設定を変えます。ちょっとDebian風味。
# addgroup www-data
# adduser www-data -g www-data

/etc/httpd/conf/httpd.conf

User www-data
Group www-data

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>

■Subversion設定ファイル
/etc/httpd/conf.d/subversion.conf
に以下を追記。

<Location "/svn">
        DAV     svn
        SVNParentPath   /var/svnrep ← Svnリポジトリのトップを指定
        AuthzSVNAccessFile      /etc/subversion/svnaccess ← アクセス指定ファイル
        AuthName        "realm"   ← レルムを指定
        AuthType        Digest  ← ダイジェスト認証を使う
        AuthUserFile    /etc/httpd/.htdigest  ← ダイジェスト認証の設定ファイルを指定
        Require         valid-user
</Location>

■ダイジェスト認証のユーザ設定
# htdigest -c /etc/httpd/.htdigest 'realm' username
-cオプションは設定ファイルを新規作成します。
後からユーザを追加する場合は、
# htdigest /etc/httpd/.htdigest 'realm' username
としないと設定ファイルが消えてしまいますので要注意。

■Subversionのアクセス設定ファイル
/etc/subversion/svnaccess

[groups]
admin = username
developer = username
tester =

[/]
@admin = rw

[tools:/]
@developer = rw

こんな感じ。toolsはsvnリポジトリ。グループは@を頭につけます。

■リポジトリをつくる
# svnadmin create /var/svnrep/tools

設定ができたらapacheを再起動する。
$sudo /etc/init.d/httpd restart

| | コメント (0) | トラックバック (0)

ServerMan@VPSの初期設定その1

■ホスト名の設定
/etc/sysconfig/network
HOSTNAME=host.domain.jp
を追加。

■localeの変更
/etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="ja_JP.utf-8"
に変更する。

■cronでDynamicDNSの自動アップデート
私はddo.jpを使っているので、

ddo_update.sh
#!/bin/sh
wget -O - 'http://free.ddo.jp/dnsupdate.php?dn=username&pw=passwd'
[
として、
$ chmod 755 ddo_update.sh

# ln -s ddo_update.sh /etc/cron.daily/ddo_update
としてデイリー実行に追加する。

| | コメント (0) | トラックバック (0)

CentOS5.4でsshのRootログインを禁止する

ServerMan@VPSが開通して色々設定をしていますが、肝心のことを忘れていました。
sshでrootログインできると色々と大変です。
さくっとrootログインできないようにします。
くれぐれも事前にユーザを作っておくのを忘れないようにしましょう。

# emacs /etc/ssh/sshd_config

#PermitRootLogin yes

PermitRootLogin no

とします。コメント外して、noに変える、です。
でsshdをリスタートします。

# /etc/init.d/sshd restart

これでrootログインができなくなりました。

| | コメント (0) | トラックバック (0)

CentOS5.4でrubyを使う

さてCentOS5.4のrubyはバージョンが少し古いようです。>1.8.5
これだとセキュリティ的にも問題がありそうですし、なによりgem(1.3.7)のインストールでは1.8.6以上を要求されるので使えません。
そこでyumでのインストールはせずにソースからインストールします。

ソースはrubyのホームページからダウンロードをたどって持ってきますが、1.9系はまだ色々と問題が起こることが多いので、今回は1.8系の最新版である1.8.7-p249を使用します。

http://www.ruby-lang.org/ja/downloads/

$ tar jxf ruby-1.8.7-p249.tar.bz2
$ cd ruby-1.8.7-p249
$ vi /ext/Setup
→ 必要なライブラリのコメントを外す。zlibは必須。
$ ./configure;make
$ sudo make install
で/usr/local/bin/rubyが入る。

次にrubygemsをもってきます。
http://rubyforge.org/projects/rubygems/
rubygems-1.3.7.tgz

$ tar zxf rubygems-1.3.7.tgz
$ cd rubygems-1.3.7
# ruby setup.rb

rubygemsが無事に入ったらgemで色々インストールしましょう。
# gem install sqlite3-ruby rails mongrel

これでとりあえずruby環境はそろいました。

| | コメント (0) | トラックバック (0)

ServersMan@VPSが開通しました

5月の頭頃に申し込んだServersMan@VPSが開通しました。
OSはCentOS5.4とのこと。
正直Redhat系はなじみがないのですが、月額ワンコインは魅力です。
早速sshでログインしてみましたが、回線速度も良好でなかなか快適です。
256MBのメモリも、topで見てみたところ19336k usedになっている程度です。
httpサーバなどを立てると足りなくなりそうな気はしますが、とりあえず大丈夫そうですね。

早速、
# yum update
# yum install w3m gcc gcc-g++ make autoconf automake libtool bison flex subversion
を入れます。

次にユーザーを作成します。
# adduser hogehoge

次にsudoの設定をするのですが、CentOSにはいつも使うvisudoがないみたい。
しかたないので、
# vi /etc/sudoers
hogehoge ALL=(ALL) ALL
を追記します。
ユーザーにもどって試してみましょう。
$ sudo ls -la
パスワードを求められてファイルリストが表示されたらOKです。

これで安心して作業ができます。

| | コメント (1) | トラックバック (0)

alsaplayerでストリーミング再生

さっそくやってみました。
やり方も何も、ファイルの代わりにURIを指定するだけです。

サンプルとしてJOQRの「鷲崎K太郎」を再生してみます。
※http://www.joqr.co.jp/blog/wk/

$ alsaplayer http://www.joqr.co.jp/podcast_qr/wk/wk100517.mp3

おお、鷲崎さんとK太郎さんがしゃべってるw

alsaplayerのCPU占有率は6%前後をコンスタントにキープしています。
これでラジオを聞きながらの作業も快適です。

| | コメント (0) | トラックバック (0)