<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Resilient Mind</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.markn.org/blog/atom.xml" />
    <id>tag:www.markn.org,2012-01-25:/blog//6</id>
    <updated>2012-01-19T13:19:24Z</updated>
    <subtitle>Life in London, in the space time continuum.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.12</generator>

<entry>
    <title>ANAビジネスクラスのチャイルドメニュー</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2012/01/ana-8.html" />
    <id>tag:www.markn.org,2012:/blog//1.246</id>

    <published>2012-01-15T16:22:23Z</published>
    <updated>2012-01-19T13:19:24Z</updated>

    <summary>先日子供と日本線に乗ったときに、チャイルドミールを頼みました。1歳の子に食べられるものが出るか心配でしたが、結果的にはなかなかでした。乗ったフライトは全日空のロンドン-東京線です。ビジネスクラスのチャ...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Flight" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[先日子供と日本線に乗ったときに、チャイルドミールを頼みました。1歳の子に食べられるものが出るか心配でしたが、結果的にはなかなかでした。乗ったフライトは全日空のロンドン-東京線です。<br /><br />ビジネスクラスのチャイルドミールがどんなものか、Web上を検索してもなかなか情報がなかったので、備忘録をかねて。<br /><br />LHR-NRTのフライト(NH202)。まずは(生意気にも)アミューズ。<br />サンドイッチなど。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P1010594.html" onclick="http://www.markn.org/blog/2012/01/15/P1010594.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010594-thumb-320x240.jpg" alt="P1010594.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>次に前菜。ハムやチーズなど。パンは大人と同じもののようです。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P1010597.html" onclick="http://www.markn.org/blog/2012/01/15/P1010597.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010597-thumb-320x240.jpg" alt="P1010597.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>そしてメイン。パスタとビーフストロガノフ。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P1010598.html" onclick="http://www.markn.org/blog/2012/01/15/P1010598.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010598-thumb-320x240.jpg" alt="P1010598.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>

デザートもあったのですが、食べられなかったので残念ながら頼みませんでした。<br /><br />帰りのフライト。NRT-LHR線(NH201)。やはりアミューズから。イチゴのピューレ(?)とチーズ。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P10109561.html" onclick="http://www.markn.org/blog/2012/01/15/P10109561.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010956-thumb-320x240.jpg" alt="P1010956.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>前菜。ラップとかウィンナーとかサラダとか。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P1010957.html" onclick="http://www.markn.org/blog/2012/01/15/P1010957.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010957-thumb-320x240.jpg" alt="P1010957.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>メイン。やはりパスタと、あとはコロッケや野菜。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.markn.org/blog/2012/01/15/P1010959.html" onclick="http://www.markn.org/blog/2012/01/15/P1010959.html','popup','width=1024,height=768,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.markn.org/blog/2012/01/15/P1010959-thumb-320x240.jpg" alt="P1010959.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" height="240" width="320" /></a></span>デザートはプリンだったのですが、卵アレルギーで食べられないので頼みませんでした。<br /><br />エコノミークラスのチャイルドミールも実物は見たことがないので、これが内容から違うのか、器と盛り付けだけが違うのかは分かりませんが、内容としてはなかなかよかったのではないかと思います。1歳の胃袋に入る量ではなかったので、大部分残してしまったのがもったいなかったです。<br /><br /><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>イギリスのボーダ(Border Agency)でIRIS廃止へ</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/08/border-agency-iris.html" />
    <id>tag:www.markn.org,2011:/blog//1.245</id>

    <published>2011-08-19T11:04:34Z</published>
    <updated>2011-08-19T11:10:18Z</updated>

    <summary> 少し前から、私はイギリスの入国でIRIS(生体認証)による入国ができなくなりました。 以前の登録が期限切れしたのが原因のようです。 そのため、その次に出国する際に(IRISの登録は出国時にしかできな...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Flight" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="London" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[

<p>
少し前から、私はイギリスの入国でIRIS(生体認証)による入国ができなくなりました。
以前の登録が期限切れしたのが原因のようです。
</p>
<p>
そのため、その次に出国する際に(IRISの登録は出国時にしかできない)聞いてみたら、なんとIRISの登録はもうやっていないというではありませんか。
日本便が到着する午後3時以降のターミナル3の入国審査は非常に混雑するので、大変困ります。
</p>
<p>
実際、前回帰ってきたときは、ホールの外にまで人が溢れようかという混み様。
仕方なく、<a href="http://www.markn.org/blog/2010/12/ana-5.html">以前キープしておいた</a>Fast Track用のカードを使って入国することにしました。
で、自分の順番のときに入国審査の係の人に聞いたところ、IRISは廃止になるそうです。
既に新規登録は廃止になり、既存の登録者も今後1年ほどかけてフェーズアウトしていくことになるということです。
Gatwick空港のSouthなど、空港によっては、機械そのものの撤去も始まっているようです。
</p>
<p>
しかし、廃止にするならするで、混雑がさほどでもなくても1時間以上待たされる、入国審査のあの混雑を何とかしてほしいものです。
カウンターはいっぱいあるくせにロクに係はいないし、行列のコントロールは最悪だし。
先日は、後ろのほうにいる人を別の列に並びなおさせて、ぎりぎりで並びなおしにならなかった私は余計に時間がかかってしまいました。
列の先頭が複数あっても、係のいるカウンターはほとんど増えないためです。
</p>
<p>
これまでIRISで行列知らずだったので、次の国外出張が憂鬱です。毎回ファーストクラスに乗れるわけでもなし...。
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>

<p>
<br />
</p>


]]>
        
    </content>
</entry>

<entry>
    <title>Moving</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/06/moving.html" />
    <id>tag:www.markn.org,2011:/blog//1.244</id>

    <published>2011-06-14T13:44:50Z</published>
    <updated>2011-06-14T13:49:14Z</updated>

    <summary>先週引っ越しをしました。引っ越し先ですぐ電話とネットワークを使えるように早めに申し込んでおき、実際に電話は引っ越し直後から使えるようになっていたのですが、ネットワークがどうしても接続できませんでした。...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="London" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[先週引っ越しをしました。<br />引っ越し先ですぐ電話とネットワークを使えるように早めに申し込んでおき、実際に電話は引っ越し直後から使えるようになっていたのですが、ネットワークがどうしても接続できませんでした。<br /><br />昨日ようやく復活し、サーバを含め再起動できました。<br /><br />プロバイダの電話番号もネットワークにつながらないとわからないため、ようやく会社に出てから電話したところ、DSL ModemのユーザIDやパスワードが変更されていることがわかりました。おそらく、私がもともとTiscaliというプロバイダのカスタマで、この会社が現在はTalkTalkという会社に吸収されたためだと思います。<br /><br />カスタマサービスの対応は親切丁寧でしたが、そもそも新しい電話番号を含め、一切の情報がTalkTalkからは送られてきていませんでした。電話番号も、ためしに携帯電話にかけてみて知った次第です。<br /><br />これが英国の顧客対応の現実ですね...。<br /><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Dublin</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/06/dublin.html" />
    <id>tag:www.markn.org,2011:/blog//1.243</id>

    <published>2011-06-04T11:08:16Z</published>
    <updated>2011-06-04T11:11:17Z</updated>

    <summary>昨日からアイルランドの首都のダブリンに移動しています。街中ということもあってか、みな遅くまで出歩いています。繁華街のTemple Barというところでは、夜の10時ごろでもまだまだ夜は始まったばかりと...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[昨日からアイルランドの首都のダブリンに移動しています。<br />街中ということもあってか、みな遅くまで出歩いています。繁華街のTemple Barというところでは、夜の10時ごろでもまだまだ夜は始まったばかりという感じで人があふれています。<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Galway</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/06/galway.html" />
    <id>tag:www.markn.org,2011:/blog//1.242</id>

    <published>2011-06-02T18:41:25Z</published>
    <updated>2011-06-02T18:43:42Z</updated>

    <summary>今週は出張でアイルランドのGalway(ゴールウェイ)という町に来ています。なぜかホテルでも打ち合わせ先でも、会社にVPNできず、仕事のメールがぜんぜん読めません。ということで、ある意味大変ありがたい...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[今週は出張でアイルランドのGalway(ゴールウェイ)という町に来ています。<br />なぜかホテルでも打ち合わせ先でも、会社にVPNできず、仕事のメールがぜんぜん読めません。<br />ということで、ある意味大変ありがたい不具合なのですが、帰ってからが恐ろしい...。<br /><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux - VirtualBoxで共有フォルダを使う</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-virtualbox.html" />
    <id>tag:www.markn.org,2011:/blog//1.241</id>

    <published>2011-05-11T11:14:33Z</published>
    <updated>2011-05-11T11:16:04Z</updated>

    <summary> Tiny Core Linuxもバージョン3.6がリリースされ、私も使ってみました。 それほどは変わっていませんが、細かいところが多数改良されているようです。 さて、VirtualBoxで使っている...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[

<p>
Tiny Core Linuxもバージョン3.6がリリースされ、私も使ってみました。
それほどは変わっていませんが、細かいところが多数改良されているようです。
</p>
<p>
さて、VirtualBoxで使っている方も多いと思いますが、ホストOSとの共有フォルダを使う方法です。
Tiny Coreでは、tczパッケージでVirtualBox Guest Additionsが提供されているので、基本的にはそれをインストールするだけで使えます。
</p>
<blockquote>
<pre>% tce-load -wi virtualbox-ose-adiitions
</pre>
</blockquote>
<p>
ただ、これをインストールすると依存関係でXorgを含めた多数のパッケージがインストールされてしまいます。
Xorgが不要な場合や、私のように
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-9.html">カスタマイズ</a>している場合はあまりうまくありません。
そのため、最小のモジュールで使えるようにしてみました。
</p>
<p>
<br />
</p>
<p>
まず、Guest Additionsのモジュールのみをインストールします。
</p>
<blockquote>
<pre>% tce-load -wi virtualbox-ose-adiitions-modules-2.6.33.3-tinycore
</pre></blockquote>
<p>
virtualbox-ose-adiitions-modules-2.6.33.3-tinycore.tczであり、virtualbox-ose-modules-2.6.33.3-tinycore.tczではないので注意してください。
このtczは、3つのカーネルモジュールをインストールするだけです。
</p>
<p>
次に、virtualbox-ose-adiitions.tczから、mount.vboxsfを抽出し、/usr/local/sbinにコピーします。
</p>
<blockquote>
<pre>% cd /tmp
% tce-fetch.sh virtualbox-ose-adiitions.tcz
% tce-load -i squashfs-tools-4.x (まだダウンロードしていなければオプションは-wil)
% unsquashfs virtualbox-ose-adiitions.tcz
% sudo cp squashfs-root/usr/local/sbin/mount.vboxsf /usr/local/sbin
% rm -rf squashfs-root
</pre>
</blockquote>
<p>
このファイルがリブート時に再現されるよう、/opt/.filetool.lstに追加し、バックアップします。
</p>
<blockquote>
<pre>% echo usr/local/sbin/mount.vboxsf &gt;&gt; /opt/.filetool.lst
% filetool.sh -b
</pre>
</blockquote>
<p>
これで、以下のようにして共有フォルダをマウントできるようになります。
</p>
<blockquote>
<pre>% sudo mount.vboxsf 共有フォルダ名 マウントポイント
</pre>
</blockquote>
<p>
これで、非常に軽量に共有フォルダを有効にすることができました。
</p>
<p>
</p>
<p>
なお、この情報は、<a href="http://forum.tinycorelinux.net/index.php?topic=4831.0">フォーラム</a>にあったものをもとにしています。
</p>
<p>
<br />
</p>


]]>
        
    </content>
</entry>

<entry>
    <title>Server crash</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/server-crash.html" />
    <id>tag:www.markn.org,2011:/blog//1.240</id>

    <published>2011-05-05T18:20:57Z</published>
    <updated>2011-05-05T21:50:22Z</updated>

    <summary>ここ2日程度サーバが停止していましたが、実はサーバがクラッシュしてしまいました。具体的には、VMのイメージを誤って消してしまったのですが...。復元のためにあらゆるソフトを試してみましたが、不可能でし...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Information" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ここ2日程度サーバが停止していましたが、実はサーバがクラッシュしてしまいました。具体的には、VMのイメージを誤って消してしまったのですが...。<br /><br />復元のためにあらゆるソフトを試してみましたが、不可能でした。論理的にはデータはディスク内に残っているのですが、どういう消え方をしたのか、ファイルエントリを見つけることもできませんでした。<br /><br />悪いことに、バックアップを取ろうとしていた矢先の出来事で、バックアップは2ヶ月前のものが最新でした。<br /><br />サーバ外にもデータの残っているWebサイトのデータは9割以上は復旧しましたが、3月以降のブログのエントリについては、URLが変わってしまいました。メールは推定7割程度のファイルが復旧できましたが、それ以外はなくなってしまいました。それ以外のデータで、3月以降にアップデートされたデータは消えてしまいました...。<br /><br />バックアップは大事ですね...。<br />]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (9) - microcoreで最小のXorg環境を作る</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-9.html" />
    <id>tag:www.markn.org,2011:/blog//1.239</id>

    <published>2011-05-05T11:01:17Z</published>
    <updated>2011-05-05T11:22:44Z</updated>

    <summary> (Initially posted on 20 April 2011)  これまでの流れ。 前回の方法に味をしめて(?)、microcoreでも同じ方法が使えるのではないかと思いました。 もともと、...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[<p>
(Initially posted on 20 April 2011) 
<br/>
</p>

<p>
<a href="http://www.markn.org/blog/linux/">これまでの流れ</a>。
</p>
<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-8.html">前回の方法</a>に味をしめて(?)、microcoreでも同じ方法が使えるのではないかと思いました。
</p>
<p>
もともと、microcoreとtinycoreの差分はtczで提供されているので、microcoreで起動したら、次のようにすればmicrocoreをtinycore相当にすることができます。
</p>

<blockquote>
<pre>% tce-load -i Xprogs
% tce-load -i Xlibs
% tce-load -i Xvesa
% tce-load -i flwm_topside
</pre>
</blockquote>
<p>
もちろん、Dynabook SS 3410ではXvesaの代わりにXorg-7.5でなければいけません。
しかし、この部分は既に前回最小のファイルセットを見つけました。
</p>
<p>
あとは、XprogsとXlibsに対して同じような作業をすればいいわけです。
</p>
<p>
<br />
</p>
<p>
で、また地道な作業で最小限のファイルセットを作成しました。
例により、自動的に新しいmicrocore.gzを作成するためのスクリプトと一緒に公開しておきます。
</p>
<blockquote>

<p>
<a href="http://www.markn.org/blog/2011/04/20/microcore-xorg.tar.gz">microcore-xorg.tar.gz</a>
&nbsp;
<a href="http://www.markn.org/blog/2011/04/20/microcore-xorg-flwm.tar.gz">microcore-xorg-flwm.tar.gz</a>
</p>
</blockquote>
<p>
準備として、/mnt/hda1/boot/microcore.gzを用意してください。
また、以下のパッケージを/mnt/hda1/tce/optionalに(tce-load -wで)入れておいてください。
</p>
<blockquote>
<pre>Xlibs.tcz
Xorg-7.5-lib.tcz
Xorg-7.5.tcz
Xprogs.tcz
feh-1.3.4.tcz
firmware.tcz
flwm.tcz
giblib.tcz
openssl-0.9.8.tcz
pixman.tcz
</pre>
</blockquote>
<p>
作成方法は、アーカイブを展開したあと、

</p>
<blockquote>
<pre>% sudo sh mkmicrocore.sh
</pre>
</blockquote>
<p>
となります。
これで、/tmp/microcore.gzが作成されます。
なお、Virtual Boxで試す場合は、Xorg-7.5.tcz.vbox.minlistをXorg-7.5.tcz.minlistにリネームしてmkmicrocore.shを実行してください。
</p>
<p>
<br />
</p>
<p>
今回は2バージョンあり、microcore-xorg-flwmはatermおよびflwmが入っています。
そのため、このパッケージではX Window上でターミナルを開いて作業することが可能です。
なお、flwmは私の好みで、tinycore標準のもの(flwm_topside)ではなくてタイトルバーが横につくもの(flwm)を入れてあります。
標準のものにするには、flwm_topside.tczをtce-load -wでダウンロードし、flwm_topside.tcz.minlistを以下の内容で作成します。
</p>
<blockquote>
<pre>usr/bin/flwm_topside
</pre>

</blockquote>
<p>
また、mkmicrocore.shを以下のように修正します。
</p>
<blockquote>
<pre>(修正前) sh copyfromlist.sh flwm
(修正後) sh copyfromlist.sh flwm_topside
(修正前) echo flwm &gt;&gt; /tmp/microcore/etc/sysconfig/desktop
(修正後) echo flwm_topside &gt;&gt; /tmp/microcore/etc/sysconfig/desktop
</pre>
</blockquote>
<p>
<br />
</p>
<p>
microcore-xorgはこれらは入っておらず、Xが起動したら.xsessionの中身を実行することしかできません。

</p>
<p>
.xsessionには、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html">以前</a>書いたように、次の行を追加しておきます。
</p>
<blockquote>
<pre>xset s off
xset -dpms (dynabookではこの行がないと一定時間後にスクリーンが消える)
feh -F -D 10 -r --hide-pointer /mnt/hda2/Photos/
</pre>
</blockquote>
<p>
microcore-xorgの場合、終了する場合はCtrl+Alt+BackspaceでX自体を終了させます。
デジタルフォトフレームを作るという本来の目的ではこれでも十分です。
コンソールでの作業はできますし、tce-loadで一時的に追加パッケージを入れてメンテナンスもできますから。
</p>
<p>
<br />
</p>
<p>

さて、ベンチマークです。
これまでの結果も合わせて表にしました。
</p>
<table border="1" cellspacing="4">
<tbody><tr>
 <td>パッケージ
 </td>
 <td>grubから画像表示まで
 </td>
 <td>電源入から画像表示まで
 </td>
 <td>メモリ使用量
 </td>
 <td>tinycore.gzのサイズ
 </td>

 <td>tczのサイズ
 </td>
 <td>備考
 </td>
</tr>
<tr>
 <td><a href="http://www.markn.org/blog/2011/05/tiny-core-linux-6.html">Xorg + GQView</a>
 </td>
 <td align="right">28s
 </td>
 <td align="right">40s
 </td>

 <td align="right">98MB
 </td>
 <td align="right">8.01MB
 </td>
 <td align="right">16.20MB
 </td>
 <td>&nbsp;
 </td>
</tr>
<tr>
 <td><a href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html">Xorg + Feh</a>

 </td>
 <td align="right">26s
 </td>
 <td align="right">38s
 </td>
 <td align="right">56MB
 </td>
 <td align="right">8.01MB
 </td>
 <td align="right">14.61MB
 </td>

 <td>&nbsp;
 </td>
</tr>
<tr>
 <td><a href="http://www.markn.org/blog/2011/05/tiny-core-linux-8.html">Xorg最小化</a>
 </td>
 <td align="right">23s
 </td>
 <td align="right">33s
 </td>

 <td align="right">45MB
 </td>
 <td align="right">11.03MB
 </td>
 <td align="right">0.00MB
 </td>
 <td>grubの待ち時間を3sから1sに変更
 </td>
</tr>
<tr>
 <td>microcoreベース+最小Xorg (flwmあり)
 </td>

 <td align="right">21s
 </td>
 <td align="right">31s
 </td>
 <td align="right">35MB
 </td>
 <td align="right">8.79MB
 </td>
 <td align="right">0.00MB
 </td>
 <td>&nbsp;

 </td>
</tr>
<tr>
 <td>microcoreベース+最小Xorg (flwmなし)
 </td>
 <td align="right">18s
 </td>
 <td align="right">28s
 </td>
 <td align="right">34MB
 </td>
 <td align="right">8.45MB
 </td>

 <td align="right">0.00MB
 </td>
 <td>&nbsp;
 </td>
</tr>
</tbody></table>
<p>
<br />
</p>
<p>
というわけで、最終的に起動時間が30秒を切りました。
tinycore.gz (実際にはmicrocore.gz)のサイズも、Xorgとfehを入れてオリジナルのtinycore.gzとそれほど変わらなくなりました。
</p>
<p>
BIOSスクリーンの時間はいかんともしがたいですが、実際grubからの起動時間を見ていると約18秒と、このスペック(Celeron 400MHz)にしては驚異的な速度で起動するのがわかります。
参考までに、環境作成に使用していたVirtualBox(ホストはCore i7-640M 2.8GHz、Windows 7 64bit、割り当てCPUは1個、メモリ192MB)での起動時間は5秒程度です。

</p>
<p>
<br />
</p>
<p>
ここで紹介している方法は、オリジナルのtinycore.gzやmicrocore.gzからファイルを削除するわけではないので、今後バージョンがあがっても修正が不要か、わずかな修正で動作することが期待できます。
</p>
<p>
PCとしてではなく、デジタルフォトフレームのようなアプライアンスを作るベースとしてTiny Core Linuxをカスタマイズしてきましたが、いかがでしょうか?
</p>
<p>
<br />
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (8) - Xorgの最小化</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-8.html" />
    <id>tag:www.markn.org,2011:/blog//1.238</id>

    <published>2011-05-05T11:00:36Z</published>
    <updated>2011-05-05T11:22:32Z</updated>

    <summary>  (Initially posted on 19 April 2011)  これまでの流れ。 軽い画像ビューアであるFehをインストールして起動も結構早くなったのですが、Dynabook SS 34...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ <p>
(Initially posted on 19 April 2011) 
<br/>
</p>

<p>
<a href="http://www.markn.org/blog/linux/">これまでの流れ</a>。
</p>
<p>
軽い画像ビューアである<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html">Fehをインストールして</a>起動も結構早くなったのですが、Dynabook SS 3410は標準のXVesaが使えず、Xorgを入れる必要があるので、その分パッケージが大きくなるのが難点です。
</p>
<p>
注意深く見れば、Xorgのパッケージ(圧縮状態で14.28MB)のうち、不要なものを除く、というよりも必要なものだけを入れ、tinycore.gzに入れてしまえば軽くなるのではないでしょうか。
</p>
<p>
試しに、Xorg-7.5とそれに必要なパッケージ群を、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">以前説明したように</a>すべてtinycore.gzにパックしてみました。
結果はgrubのメニューから最初の画像が表示されるまで約30秒。
...かえって遅くなってしまいました。
free -mのusedの値も77MBになってしまいます。

</p>
<p>
やはり、細かく見なければいけないようです。
</p>
<p>
<br />
</p>
<p>
Xorgはけっこう難敵なので、手始めにFehを調べてみると、fehの実行に必要なファイルは以下のみであることがわかりました。
</p>
<blockquote>
<pre>/usr/local/bin/feh
/usr/local/share/feh/fonts/yudit.ttf
/usr/local/lib/libgiblib.so.1 -&gt; libgiblib.so.1.0.6
/usr/local/lib/libgiblib.so.1.0.6
</pre>
</blockquote>
<p>

Fehに必要なパッケージは圧縮状態で336kBですが、上記の3ファイルの合計は非圧縮でも242kBです(参考まで、上記ファイルをgzip圧縮したものは114kB)。
そのため、これらを取り出してtinycore.gzに取り込んでしまえば、サイズがさらに小さくなってパッケージの読み込みも不要になります。
</p>
<p>
<br />
</p>
<p>
さてXorgについてです。
やり方は、まずXorg-7.5を入れずに(/mnt/hda1/tce/onboot.lstからエントリを削除)起動します。
そして、Xorgのパッケージ群をunsquashfsで別途展開しておきます。
</p>
<blockquote>
<pre>% tce-load -i squashfs-tools-4.x (まだダウンロードしていなければオプションは-wi)
% cd /tmp
% unsquashfs -d expat2 /mnt/hda1/tce/optional/expat2.tcz
% unsquashfs -d fontconfig /mnt/hda1/tce/optional/fontconfig.tcz
% unsquashfs -d openssl /mnt/hda1/tce/optional/openssl-0.9.8.tcz
% unsquashfs -d pixman /mnt/hda1/tce/optional/pixman.tcz
% unsquashfs -d Xorg-bin /mnt/hda1/tce/optional/Xorg-7.5-bin.tcz
% unsquashfs -d Xorg-lib /mnt/hda1/tce/optional/Xorg-7.5-lib.tcz
% unsquashfs -d Xorg /mnt/hda1/tce/optional/Xorg-7.5.tcz
% unsquashfs -d Xorg-fonts /mnt/hda1/tce/optional/Xorg-fonts.tcz
</pre>
</blockquote>
<p>
次に、メインファイルであるXorgを移動します。
</p>
<blockquote>
<pre>% sudo cp -p Xorg/usr/local/bin/Xorg /usr/local/bin

</pre>
</blockquote>
<p>
これでXorgを起動すれば、さまざまなエラーが出ると思います。
最初はライブラリが足りないですし、次にエラーログが/var/log/Xorg.0.logに出てきます。
これらを確認しつつ、ひとつづつ/tmpからファイルをコピーしていきます。
実際には、ファイルのリストを作りながら、tarでコピーしていきました。
地道な作業です。
</p>
<p>
その後、Xを起動しては/var/log/Xorg.0.logを確認し、エラーが出ているライブラリを追加する作業を繰り返します。
</p>
<p>
そのうちエラーが出なくなって画面が出るようになるのですが、ここで問題です。
その状態ではキーボードの入力を受け付けない(マウスは受け付ける)ことです。
これは、どのファイル不足しているのが原因か、ログファイルからはわかりませんので、何とかいろいろ試すしかありません。
少々苦労しましたが、それらのファイルを特定しました。
</p>
<p>
なお、私が扱っているDynabook SS 3410の場合、Tridentのチップなので、ドライバは、
</p><blockquote>
<pre>/usr/local/X11/modules/drivers/trident_drv.so
</pre>
</blockquote>

<p>
となりましたが、他のチップの場合は同じディレクトリにある他のファイルを取り込めば動くかもしれません。
たとえば、VirtualBoxの場合、
</p>
<blockquote>
<pre>/usr/local/lib/X11/modules/drivers/vesa_drv.so
/usr/local/lib/X11/modules/libshadow.so
</pre>
</blockquote>
<p>
を追加することで動作しました。
</p>
<br />


<p>
そんな感じでだいぶ苦労しましたが、「最小セット」のリストができました。
ついでに、自動でtinycore.gzを作成するスクリプトも作りました。
</p>
<blockquote>

<p>
スクリプトのダウンロードは<a href="http://www.markn.org/blog/2011/04/19/tinycore-xorg.tar.gz">tinycore-xorg.tar.gz</a>からどうぞ。
</p>
</blockquote>
<p>
使い方は、まず必要なパッケージとして、squashfs-tools-4.xとadvcompを利用可能にしておきます。
また、Xorg-7.5.tczほか、必要なtczファイルを/mnt/hda1/tce/optionalにダウンロードしておきます。
その後以下のように実行するだけで、新しい/tmp/tinycore.gzが出来上がります。
</p>
<blockquote>
<pre>% sudo sh mktinycore.sh
</pre>
</blockquote>
<p>
やっていることは以下のとおりです。
</p>
<ol>

<li>元となるtinycore.gzを/tmp/tinycoreに展開
 </li>
<li>必要なパッケージを展開
 </li>
<li>リストの内容に従い、パッケージ内のファイルを/tmp/tinycoreにコピー
 </li>
<li>上記2.と3.をパッケージの数だけ繰り返す
 </li>
<li>/tmp/tinycoreを再パックして、/tmp/tinycore.gzを作成する
 </li>
</ol>
<p>
なお、これはtridentのドライバしか組み込みません。
VirtualBoxで動かしてみたい場合は、ファイルの中にそれ用の設定ファイルも用意したので、次のように置換してからmktinycore.shを動かしてください。
</p>
<blockquote>
<pre>% mv Xorg-7.5.tcz.vbox.minlist Xorg-7.5.tcz
</pre>

</blockquote>
<p>
<br />
</p>
<p>
tinycore.gzの展開と作成の詳細については、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">tinycore.gzの作り方</a>も参照してください。
</p>
<blockquote>
<p>
なお、この方法だと、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">以前組み込んだとき</a>とはd101m_ucode.binの位置が違う(以前: /lib/firmware/e100、今回: /usr/local/lib/firmware/e100)のですが、問題ありません。
</p>
</blockquote>

<p>
これでできたtinycore.gzのサイズは、約11.03MB。
オリジナルのtinycore.gzが約8.01MBなので、おおよそ3MB増量ということになります。
tce-loadでXorg-7.5とFehをインストールすると、合計では、
</p>
<blockquote>
<pre>8.01 (tinycore.gz) + 14.28 (Xorg-7.5) + 0.33 (Feh) = 22.62MB
</pre>
</blockquote>
<p>
ということで、およそ半分弱にまで容量が減ったことになります。
</p>
<p>
<br />
</p>
<p>
さて、期待(?)の起動時間です。
grubからは約23秒、電源を入れてからのトータル約35秒でした。
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html">前回</a>からさらに3秒ほど高速化しました。
grubの待ち時間を1秒にして、トータル約33秒になりました。
メモリ消費量は、free -mのused部分で45MBです。
前回(56MB)に比べて、11MBほど減らすことができました。

</p>
<p>
<br />
</p>
<p>
もっとやろうと思うと...もうtinycoreはあきらめて、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-9.html">microcoreベースで構築</a>するしかないですね。
</p>
<p>
<br />
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (7) - イメージビューアの軽量化</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html" />
    <id>tag:www.markn.org,2011:/blog//1.237</id>

    <published>2011-05-05T10:59:59Z</published>
    <updated>2011-05-05T11:22:21Z</updated>

    <summary>  (Initially posted on 17 April 2011)  これまでの流れ。 Dynabook SS 3410 (Celeron 400MHz/192MB) + CF SSD (8G...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ <p>
(Initially posted on 17 April 2011) 
<br/>
</p>

<p>
<a href="http://www.markn.org/blog/linux/">これまでの流れ</a>。

</p>
<p>
Dynabook SS 3410 (Celeron 400MHz/192MB) + CF SSD (8GB)+ Tiny Core Linuxによるデジタルフォトフレームは一応の完成を見たのですが、さらにサイズを小さく、高速に起動することを考えてみました。
</p>
<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-6.html">前回の一応の完成</a>では、スライドショーを行うイメージビューアにGQView1を使ったのですが、それよりもサイズが小さいFehというものを見つけました。
コマンドラインからフルスクリーンとスライドショーを指定できるので、条件を満たしています。
</p>
<p>
まずはインストールします。
</p>
<blockquote>
<pre>% tce-load -wi feh-1.3.4
</pre>
</blockquote>
<p>
パッケージサイズを見てみましょう。

</p>
<blockquote>
<pre>% tce-size feh-1.3.4
  feh-1.3.4.tcz                                303104,   0.29 MB
  giblib.tcz                                    40960,   0.04 MB

  Total size (bytes)                           344064,   0.33 MB
+ Indicates need to download                        0,   0.00 MB
</pre>
</blockquote>

<p>
tczパッケージのサイズ合計で、前回のEye of Gnomeは20.75MB、GQView1は1.92MB、そして今回のFehは0.33MBです。
えらい違いですね。
</p>
<p>
Fehでのスライドショーは、次のようにします。
Fehは自分ではスクリーンセーバをoffにしないので、xsetで切ってからにします(が、今のところxsetはうまくいっていません)。 
</p>
<blockquote>
<pre>% xset s off
% feh -F -D 10 -r --hide-pointer /mnt/hda2/Photos/
</pre>
</blockquote>
<p>

<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-6.html">前回</a>同様、画像ファイルが/mnt/hda2/Photos/に入っているとします。
Fehのオプションは、-F (フルスクリーン)、-D (スライドショーで一枚を表示する時間)、-r (ディレクトリを再帰的に検索)、--hide-pointer (フルスクリーンモードでマウスカーソルを消す)です。
また、-dをつけておくと、画像にオーバラップしてファイル名等の情報が表示されます。
.xsessionに入れるときも前回同様で、gqview1の代わりに上記の2つのコマンドを入れます。
</p>
<p>
このFeh、feh --helpで見てみるとわかりますが、そのほかにも動作中にマウスやキーボードでさまざまなコントロールができるなど、軽いくせにかなり高機能です。
</p>
<p>
この状態で、grubのメニューから、最初の画像が表示されるまでは約26秒です。
電源を入れてからgrubの待ち時間(3秒)も入れた、トータルの起動時間は約38秒となりました。
2秒の高速化はパッケージの大きさの差のせいでしょう。
free -mによるメモリ使用量は56MBでした。
これならメモリ64MBのマシンでも何とか動作しそうです。
</p>
<p>
<br />
</p>
<p>
いや待てよ。
Xorgのサイズを見てみましょう。
</p>
<blockquote>
<pre>% tce-size Xorg-7.5
  expat2.tcz                                    77824,   0.07 MB
  fontconfig.tcz                               135168,   0.13 MB
  openssl-0.9.8.tcz                           2093056,   2.00 MB
  pixman.tcz                                   237568,   0.23 MB
  Xorg-7.5-bin.tcz                             311296,   0.30 MB
  Xorg-7.5-lib.tcz                             221184,   0.21 MB
  Xorg-7.5.tcz                               10235904,   9.76 MB
  Xorg-fonts.tcz                              1662976,   1.59 MB

  Total size (bytes)                         14974976,  14.28 MB
+ Indicates need to download                        0,   0.00 MB

</pre>
</blockquote>
<p>
14.28MBもあります。
この中には、不要なファイルもあるはずです。
これを最低限必要なファイルのみにして、やはりtinycore.gzに取り込んでしまえば、オプションのパッケージの読み込みを一切不要にできるわけです。
そもそも、Tiny Core Linuxの標準のtinycore.gzには、XvesaをベースとしたXの環境が付属しているわけで、必ずしもXorg-7.5のすべてのファイルがなくても動作するのではないでしょうか。
</p>
<p>
問題は、Xのファイル群はかなり複雑なので、必要・不要なファイルの洗い出しが大変なことでしょう。
</p>
<p>
とりあえずはTry &amp; Errorでやってみるしかありません。
それについては...<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-8.html">続きます</a>(ていうか、やるのか?)。
</p>
<p>
</p>

<p>
</p>
<p>
<br />
</p>

]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (6) - デジタルフォトフレームの作成</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-6.html" />
    <id>tag:www.markn.org,2011:/blog//1.236</id>

    <published>2011-05-05T10:59:22Z</published>
    <updated>2011-05-05T11:22:11Z</updated>

    <summary>  (Initially posted on 16 April 2011)  これまでの流れ。 さて、HDD(SSD)へのインストールも終わりました。 いよいよ必要なパッケージをインストールして、デジ...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ <p>
(Initially posted on 16 April 2011) 
<br/>
</p>

<p>
<a href="http://www.markn.org/blog/linux/">これまでの流れ</a>。
</p>
<p>
さて、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-5.html">HDD(SSD)へのインストール</a>も終わりました。
いよいよ必要なパッケージをインストールして、デジタルフォトフレームとしてスライドショーができるようにします。

</p><p>
<br />
</p>
<p>
スライドショーをするためのソフトの条件ですが、以下のようになります。
</p>
<ul>
<li>フルスクリーンで表示できること
</li>
<li>スライドショーの機能(複数のファイルを次々に表示する)があること
</li>
<li>これらを自動起動するため、上記をコマンドラインで指定できること
</li>
</ul>
<p>
Tiny Core Linuxのパッケージで、画像を表示するためのプログラムで最も軽いのはおそらくflpicseeです。
これはtczファイルの状態で16kBしかありません。
しかも、スライドショーができます。
しかし、コマンドラインでスライドショーの指定ができないので、デジタルフォトフレームとしての「電源を入れたら写真を表示」が実現できません。
</p>

<p>
そのため、いくつかのソフトを調べてみました。
まず思いつくのはeog (Eye of Gnome)です。
多くの(GNOMEベースの)ディストリビューションで標準の画像ビューアになっており、スライドショーもコマンドラインで指定できます。
Tiny Coreのパッケージにもあるのですが、Gnomeベースであることもあり、とても重いのがしょんぼりです。
</p>
<p>
せっかく軽いOSを入れているのですし、単に画像を表示するだけで余計な機能はいらないので、なるべく軽いアプリケーションがよいわけです。
</p>
<p>
そこで目をつけたのがGQViewというアプリケーションです。
GQViewについては、Tiny Coreにはバージョン1と2の2種類のパッケージが提供されていますが、バージョン1はgtk1ベースで軽そうです。
</p>
<p>
容量を調べてみました。
</p>
<blockquote>
<pre>% tce-size eog
  atk.tcz                                       53248,   0.05 MB
  bzip2-lib.tcz                                 28672,   0.03 MB
  cairo.tcz                                    512000,   0.49 MB
  dbus-glib.tcz                                106496,   0.10 MB
  dbus.tcz                                     315392,   0.30 MB
  eog.tcz                                      503808,   0.48 MB
  expat2.tcz                                    77824,   0.07 MB
  fontconfig.tcz                               135168,   0.13 MB
  GConf.tcz                                    233472,   0.22 MB
  gdk-pixbuf2.tcz                              221184,   0.21 MB
  glib2.tcz                                   1273856,   1.21 MB
  graphics-libs-1.tcz                          790528,   0.75 MB
  gtk2.tcz                                    3088384,   2.95 MB
  hicolor-icon-theme.tcz                         8192,   0.01 MB
  libcroco.tcz                                 233472,   0.22 MB
  libexempi.tcz                                413696,   0.39 MB
  libexif.tcz                                  147456,   0.14 MB
  libgnome-desktop.tcz                          77824,   0.07 MB
  libgsf.tcz                                   126976,   0.12 MB
  libIDL.tcz                                   163840,   0.16 MB
  librsvg.tcz                                  139264,   0.13 MB
  libstartup-notification.tcz                   16384,   0.02 MB
  libxcb-util.tcz                               36864,   0.04 MB
  libxcb.tcz                                   110592,   0.11 MB
  libxft.tcz                                    45056,   0.04 MB
  libxml2.tcz                                  696320,   0.66 MB
  openssl-0.9.8.tcz                           2093056,   2.00 MB
  ORBit2.tcz                                   241664,   0.23 MB
  pango.tcz                                    405504,   0.39 MB
  pixman.tcz                                   237568,   0.23 MB
  python.tcz                                  5836800,   5.57 MB
  shared-mime-info.tcz                         434176,   0.41 MB
  sqlite3.tcz                                  319488,   0.30 MB
  tcl.tcz                                     1482752,   1.41 MB
  tk.tcz                                       925696,   0.88 MB
  Xorg-7.5-lib.tcz                             221184,   0.21 MB

  Total size (bytes)                         21753856,  20.75 MB
+ Indicates need to download                        0,   0.00 MB
% tce-size gqview1
  gdk-pixbuf.tcz                               155648,   0.15 MB
  glib1.tcz                                     81920,   0.08 MB
  gqview1.tcz                                  249856,   0.24 MB
  graphics-libs-1.tcz                          790528,   0.75 MB
  gtk1.tcz                                     733184,   0.70 MB

  Total size (bytes)                          2011136,   1.92 MB
+ Indicates need to download                        0,   0.00 MB
</pre>
</blockquote>
<p>

tczパッケージのサイズ合計で、Eye of Gnomeは20.75MB、GQView1は1.92MBです。
10倍も違います。
</p>
<p>
<br />
</p>
<p>
というわけで、GQView1をインストールします(上記のtce-sizeの表示は既にインストールされた状態でのものなので、ダウンロード必要量が0になっています)。
</p>
<blockquote>
<pre>% tce-load -wi gqview1
</pre>
</blockquote>
<p>
また、自動起動するために、.xsessionの最後に以下を追加します。
</p>
<blockquote>
<pre>mount /mnt/hda2
gqview1 -f -s -t /mnt/hda2/Photos/*

</pre>
</blockquote>
<p>
mountを行っているのは、私の環境で画像ファイルをWindows領域(hda2)に入れているためです。
gqview1のオプションは、-f (フルスクリーン)、-s (スライドショー)、-t (ツールウィンドウを表示しない)となります。
編集したら、filetool.sh -bでバックアップを忘れずに。
</p>
<p>
<br />
</p>
<p>
これで起動時間を計測してみました。
grubのメニューから、最初の画像が表示されるまでは約28秒です。
電源を入れてからgrubの待ち時間(3秒)も入れた、トータルの起動時間は約40秒となりました。
もちろん、起動後はちゃんとスライドショーしています。
</p>
<p>
メモリ使用量ですが、高速化のためにパッケージをすべてメモリ展開する設定で、スライドショー実行中にfree -mで見た数値はused 98MB、free 87MBでした。
私のマシンはRAMを最大の192MB積んでいますが、これなら128MBの設定でもいけますね。
</p>
<p>
もっといえば、tinycore.gzや必要なパッケージをあらかじめ展開した状態でHDDにインストールする方法もあります。
こうすれば起動時の圧縮ファイルの読み込みと展開がなくなるので、さらに高速化することが期待できます。
ただ、そうなると細かいファイルがあちこちに散らばることになり、管理やアップデートが面倒になりますし、起動時にこれらのファイルをたくさん読み込むので、逆に遅くなる可能性もないとはいえません。
また、この方法はTiny Coreの配布元でも推奨されていません。
そのため、今のところは圧縮されたままにしてあります。
</p>

<p>
<br />
</p>
<p>
なお、最終的に私の環境における/mnt/hda2/tce/onboot.lstの内容は以下のとおりとなります。
</p>
<blockquote>
<pre>Xorg-7.5.tcz
gqview1.tcz
</pre>
</blockquote>
<p>
<br />
</p>
<p>
Tiny CoreにはXorg-7.4もあるのですが、tce-sizeで見たところ、Xorg-7.5の14.28MBに対して、25.95MBもあるので意味がありません。
本当はXvesa等のTinyXが動けばもっと小さくなるのかもしれません。
TinyXにはTrident系グラフィックチップ用のXtridentというサーバもあるので試してみましたが、Dynabook SS 3410のCyber 9525には対応していないのか、うまくいきませんでした。
残念...。
</p>
<p>

<br />
</p>
<p>
ともあれ、これで「古いノート(Dynabook, メモリ192MB)にTiny Core Linuxを入れてデジタルフォトフレームにしよう」は一応完成です。
お疲れさま～。
</p>
<p>
<br />
</p>
<p>
と、思ったのですが、さらに軽量なイメージビューアであるFehを発見。
そして最適化への欲望が沸々と...<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-7.html">続きます</a>。
</p>
<p>
<br />
</p>

]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (5) - SSDへのインストール</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-5.html" />
    <id>tag:www.markn.org,2011:/blog//1.235</id>

    <published>2011-05-05T10:57:56Z</published>
    <updated>2011-05-06T21:54:43Z</updated>

    <summary>  (Initially posted on 15 April 2011)  ここまでで、ネットワークカードの認識、ファームウェアのtinycore.gzへの取り込み、そしてXの起動までできました。 ...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ <p>
(Initially posted on 15 April 2011) 
<br />
</p>

<p>
ここまでで、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-2.html">ネットワークカードの認識</a>、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">ファームウェアのtinycore.gzへの取り込み</a>、そして<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-4.html">Xの起動</a>までできました。
でもまだUSBから起動しています。
いい加減いちいち起動時にwaitusbを指定するのにも飽きてきたので、HDDにインストールします。
</p>
<p>
私の場合はCFベースのSSDを<a href="http://www.markn.org/blog/2011/05/dynabook-ss-3410.html">買った</a>ので、ここに入れます。
ていうか、ちょうど買ったのが届いたので。
ちなみに買ったCFはTranscendの8GB、スピードは133x(20MB/s)なのでそれほど期待できませんが、HDD並みであれば文句はありません。
値段は2.5インチのHDDアダプタ含めて20ポンド(2,700円程度)ほどでした。
以前入れていた30GBのHDDのスピードが、実測でおおよそ20MB/sだったので、それよりは遅いでしょうが、ここでは静粛性のほうが大事です。

</p>
<p>
<br />
</p>
<p>
なお、ここでのインストール手順は、ほぼ<a href="http://distro.ibiblio.org/tinycorelinux/install.html">公式ページの情報</a>に準じていますが、私の環境の上での話のため、一部違うところもあるので注意してください。
</p>
<p>
<br />
</p>
<p>
まず、普通にUSBでTinyCoreを起動したあと、インストールのために必要なパッケージを入れておきます。
</p>
<blockquote>
<pre>% tce-load -wi cfdisk
% tce-load -wi grub-0.97-splash

</pre>
</blockquote>
<p>
次に、インストールしたcfdiskを使って領域を設定します。
</p>
<blockquote>
<pre>% sudo su
% cfdisk -z
</pre>
</blockquote>
<p>
-zオプションは、ゼロから領域設定するためのものです。
既に他のOSのために領域が設定されている場合はこのオプションはつけませんが、私の場合はオプションなしで起動しようとすると領域データがおかしくなって起動しなかったため、こうしました。
CFは8GBのものを買いましたが、領域は以下のようにしました。
</p>
<blockquote>
<pre>  Name     Flags     Part Type   FS Type        [Label]    Size (MB)
-----------------------------------------------------------------------
  hda2     Boot      Primary     W95 FAT32(LBA)              5971.24
  hda1     Boot      Primary     Linux                       2047.87
</pre>
</blockquote>

<p>
次に、この領域をフォーマットして、必要なファイルをコピーします。
</p>
<blockquote>
<pre>% mkfs.ext3 /dev/hda1
% rebuildfstab
% mount /mnt/hda1
% mkdir -p /mnt/hda1/boot/grub
% cp -p /mnt/sda1/boot/* /mnt/hda1/boot/
% cp -pr /mnt/sda1/tce /mnt/hda1/
</pre>
</blockquote>
<p>
そして、grubをインストールして起動可能にします。
</p>
<blockquote>
<pre>% cp -p /usr/lib/grub/i386-pc/* /mnt/hda1/boot/grub/
% vi /mnt/hda1/boot/grub/menu.lst
</pre>
</blockquote>
<p>
grubで使うmenu.lstの中身は以下のようにしました。
</p>

<blockquote>
<pre>default 0
timeout 3
title Tiny Core Linux
kernel /boot/bzImage quiet
initrd /boot/tinycore.gz
title Windows
root (hd0,1)
makeactive
chainloader +1
</pre>
</blockquote>
<p>
Windowsの領域にはまだ何も入っていませんが、あとで起動可能にするため、上記のようにエントリを追加しておきます。
hda2がhda1より前の領域に来ているのも、WindowsがCFをリムーバブルディスクとして認識可能にするためです。
Windowsはリムーバブルディスクの最初のエントリのみ認識するので。
Windowsが必要なければ、cfdiskですべての領域をLinuxにして、menu.lstのtitle Windows以下は不要です。
</p>
<blockquote>
<p>
私は、いざというときにCFをPCMCIA経由で別のPCに挿入してファイルをコピーできるということで、上記のような設定にしています。
ちなみに、Windows領域は以下のようにしてフォーマット(FAT32)が可能です。
</p>
<blockquote>
<pre>% tce-load -wi dosfstool-3.tcz (一般ユーザでやること)
% sudo mkfs.vfat -v -c -F 32 /dev/hda2
</pre>
</blockquote>
</blockquote>
<p>

最後に、grubをインストールします。
</p>
<blockquote>
<pre>% grub-install --root-directory=/mnt/hda1 /dev/hda
</pre>
</blockquote>
<p>
なぜか私の環境では、このコマンドは一度失敗し、2度目にうまくいきました。
もしgrub-installを使わないのであれば、grubコマンドを使った以下の方法もあります。
</p>
<blockquote>
<pre>% grub
grub&gt; root (hd0,0)
grub&gt; setup (hd0)
grub&gt; quit

</pre>
</blockquote>
<p>
以上でインストールは終了です。
</p>
<blockquote>
<pre>% reboot
</pre>
</blockquote>
<p>
リブートして、うまく行ったか確認します。
</p>
<p>
<br />
</p>
<p>
なお、気になる性能ですが、hdparmで測定したところ、約20MB/sと出ました。
測定環境が違っていて直接比較はできないのですが、read性能については以前のHDDとほぼ同じ数値です。
速いわけではないですが、動作は全くの無音になり、HDDとさほど変わらないスピードを20ポンドほどで得られたので結構満足です。

</p>
<p>
<br />
</p>
<p>
引き続き、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-6.html">デジタルフォトフレームとしてスライドショーができるように</a>します。
</p>
<p>
<br />
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (4) - Xorgのインストール    </title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-4.html" />
    <id>tag:www.markn.org,2011:/blog//1.234</id>

    <published>2011-05-05T10:57:08Z</published>
    <updated>2011-05-05T11:21:27Z</updated>

    <summary>  (Initially posted on 14 April 2011)  前回ちょっと触れましたが、実はXがうまく起動していません。 テキストモードでない場合、起動中に応答がなくなり、Ctrl+C...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[ <p>
(Initially posted on 14 April 2011) 
<br/>
</p>


<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">前回</a>ちょっと触れましたが、実はXがうまく起動していません。
テキストモードでない場合、起動中に応答がなくなり、Ctrl+Cで止めることになります。
</p>
<p>
調べたところ、.xsessionの最初のXvesaで止まっているようです。
</p>
<p>
ここで扱っているDynabook SS 3410のビデオチップはTrident Cyber 9525DVDというもの。
VRAMは2.5MBです。
ビデオチップとVRAMの組み合わせから可能な最大解像度は1024x768x16bitとなります。
Xvesaのデフォルトは1024x768x32bitなので、これは起動しないでしょう。
</p>
<p>
画面モードの問題かと思い、xsetupを実行してみると、今度はこれも動きません。
xsetup.shを見ると、中にあるXvesa -listmodesが何も応答しないのです。
</p>
<p>
<br />
</p>

<p>
調べてみても、XvesaとCyber 9525の組み合わせに関する情報は少なく、あまり得るものがありませんでした。
そこで、少々重くなりますが、ここではXvesaの代わりにXorgを使うことにします。
</p>

<blockquote>
<pre>% tce-load -wi Xorg-7.5
</pre>
</blockquote>

<p>
これで、起動時にXorgが読み込まれれば、XvesaからXorgに入れ替わっています。
まだHDDにインストールしていないので、起動時に読み込まれるように、waitusbをつけます。
</p>
<blockquote>
<pre>boot: tinycore waitusb=15
</pre>
</blockquote>

<p>
やってみると、うまくXが起動するようです。
</p>

<p>
<br />
</p>
<p>
ところが、デフォルトだと解像度が800x600となっており、液晶の解像度である1024x768になっていません。
これは、デフォルトの設定が1024x768x32bit colorとなっており、Cyber 9525ではVRAM(2.5MB)が足りなくなるせいのようです。
デジタルフォトフレームにはフルカラーが望ましいのですが、ハードウェアがサポートしていないものは仕方ありません。
解像度を取るか、色数を取るかのトレードオフとなります。
ここでは解像度を取ります。
</p>
<p>
これを修正するには、/etc/X11/xorg.confを作成、編集するのですが、元から入っているxorg.conf.vesaではうまく起動しません。
いろいろ試したところ、<a href="http://ubuntuforums.org/showthread.php?t=1400680">ここ</a>で見つけたものをベースにすると動作することがわかりました。
編集したものをおいておきます。
</p>

<blockquote>

<p>
<a href="http://www.markn.org/blog/2011/04/14/xorg.conf">xorg.conf</a>
</p>
</blockquote>

<p>
/etc/X11/xorg.confを作成したら、リブート時にこのファイルが存在するように、バックアップの設定を変更します。
そのためには、/opt/.filetool.lstを修正します。
このファイルは、filetool.shを実行したときにどのファイルがバックアップされてmydata.tgzに格納されるかを表しています。
そのため、このファイルに以下のエントリを追加します。
</p>
<blockquote>
<pre>/etc/X11/xorg.conf
</pre>
</blockquote>

<p>
修正したら、filetool.sh -bでバックアップしておきます。
なお、Xが起動しているので、GUIベースのfiletool (.shではない)やPanelのBackup/Restore、シャットダウン時のダイアログでもバックアップをすることが可能です。
</p>

<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-5.html">続きます。</a>
</p>
<p>
<br />
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (3) - tinycore.gzのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html" />
    <id>tag:www.markn.org,2011:/blog//1.233</id>

    <published>2011-05-05T10:56:01Z</published>
    <updated>2011-05-06T21:48:00Z</updated>

    <summary> (Initially posted on 13 April 2011)  「古いノート(Dynabook, メモリ192MB)にTiny Core Linuxを入れてデジタルフォトフレームにしよう」...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[<p>
(Initially posted on 13 April 2011) 
<br />
</p>


<p>
「古いノート(Dynabook, メモリ192MB)にTiny Core Linuxを入れてデジタルフォトフレームにしよう」(いつの間にかタイトルが...)ですが、<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-2.html">ネットワークカードの認識</a>まで来ました。
</p>

<p>
<br />
</p>

<p>
さて、必ずしもやらなくてもいいのですが、必要なファイルはd101m_ucode.binだけなので、あらかじめtinycore.gzに取り込んでおけば、ブート時にwaitusbをしなくて済み、起動時間が短縮できます。
また、この方法を知っておけば、起動時から有効な構成ファイルに変更を加えたいときなども役立ちます。
</p>
<p>
ここからは、Tiny Core Linuxの実環境上で作業します。
Dynabookからでもできますが、私は別マシンのVirtualBox上で作業しました。
</p>
<p>
後日触れる予定ですが、この段階では問題があってXが起動しません。
そのため、起動時にはテキストモードで作業します。
waitusbと、ついでにターミナルを複数使用可能にする(Alt-F1, Alt-F2等で切り替わります)ために、次のようにタイプして起動します。
</p>
<blockquote>
<pre>boot: tinycore waitusb=15 text multivt
</pre>
</blockquote>

<p>
<br />
</p>
<p>
まず、あらかじめ次の3つのパッケージをインストールしておきます。
</p>

<blockquote>
<pre>% tce-load -wi squashfs-tools-4.x.tcz
% tce-load -wi advcomp.tcz
% tce-load -wi firmware.tcz (<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-2.html">前回</a>入れたはずだが、もしまだない場合)
</pre>
</blockquote>
<p>
流れとしては、/tmpでtinycore.gzを展開し、必要なファイルを入れた上で再パック、というものです。
この手順は、Tiny Core Linuxの<a href="http://wiki.tinycorelinux.net/doku.php?id=remastering">Wiki</a>を参考にしています。

</p>
<p>
まず、元となるtinycore.gzを展開します。
</p>
<blockquote>
<pre>% sudo su
% cd /tmp
% mkdir tinycore
% cd tinycore
% zcat /mnt/sda1/boot/tinycore.gz | sudo cpio -i -H newc -d
</pre>
</blockquote>

<p>
次に、firmware.tczの中から必要なファイル(d101m_ucode.bin)を取り出して、適切なディレクトリ(/lib/firmware/e100)に入れます。
</p>
<blockquote>
<pre>% mkdir lib/firmware
% mkdir lib/firmware/e100
% cd lib/firmware/e100
% unsquashfs /mnt/hda1/tce/optional/firmware.tcz 
% cp squashfs-root/usr/local/lib/firmware/e100/d101m_ucode.bin .
% rm -rf squashfs-root
</pre>
</blockquote>
<p>

これでファイルをコピーしましたので、再パックします。
</p>
<blockquote>
<pre>% depmod -b /tmp/tinycore 2.6.33.3-tinycore
% cd /tmp/tinycore
% find | cpio -o -H newc | gzip -2 &gt; ../tinycore.gz
% cd ..
% advdef -z4 tinycore.gz (動作しないときあり)
% exit
</pre>
</blockquote>

<p>
advdefはときどき"Killed"と出て処理が止まってしまうことがあります。
ただ、tinycore.gzをさらに小さくするためだけのものですので必須ではありません。
</p>

<p>
<br />
</p>

<p>
完成したtinycore.gzをブート領域にコピーします。
元のファイルも一応残して起きましょうか。
</p>
<blockquote>
<pre>% cd /mnt/sda1/boot
% sudo mv tinycore.gz tinycore.gz.bak
% sudo cp /tmp/tinycore.gz .
</pre>
</blockquote>

<p>
うまく起動したら、firmware.tczをアンインストールしておきます。
USBメモリ上の/tce/options/firmware.tczを削除し、/tce/onboot.lstからfirmware.tczのエントリを削除します。
このエントリしかなければファイル自体を削除してもかまいません。
</p>
<p>
<br />
</p>
<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-4.html">Xの設定</a>へ続きます。

</p>
<p>
<br />
</p>

]]>
        
    </content>
</entry>

<entry>
    <title>Tiny Core Linux (2) - サポート外ネットワークカードの認識</title>
    <link rel="alternate" type="text/html" href="http://www.markn.org/blog/2011/05/tiny-core-linux-2.html" />
    <id>tag:www.markn.org,2011:/blog//1.232</id>

    <published>2011-05-05T10:54:58Z</published>
    <updated>2011-05-05T11:23:22Z</updated>

    <summary> (Initially posted on 12 April 2011)  前に触れたとおり、Tiny Core Linuxを古いDynabook(Celeron 400MHz)にインストールします。...</summary>
    <author>
        <name>Taka Matsutsuka</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.markn.org/blog/">
        <![CDATA[<p>
(Initially posted on 12 April 2011) 
<br />
</p>

<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-1.html">前に触れた</a>とおり、Tiny Core Linuxを古いDynabook(Celeron 400MHz)にインストールします。
なお、バージョンはTiny Core Linux 3.5.1です。
</p>
<p>
このLinuxのディストリビューションは基本的に2つの圧縮ファイル(bzImage, tinycore.gz)でできており、起動するとRAM上に展開してそのまま動作します。
そのため、カスタマイズするにはこのディストリビューションファイルを変更する必要があります。
そのためのツールも用意されており(ezremaster)、もとのisoファイルから必要なアプリケーションやファイルを入れた新しいisoを作ることができます。
</p>
<p>
<br />
</p>
<p>

さて、Dynabook SS 3410はUSBから起動しませんが、PLoPを入れればUSBメモリ(USB CDはだめ)から起動させることができます。
USBメモリをdiskpartでパーティションをつくり、Tiny Core Live CDの内容を全部コピーします。
また、syslinuxを実行して起動可能にします。
</p>
<blockquote>
<pre>% cd e:\boot (Windowsを利用していて、usbメモリのドライブレターがe:と仮定)
% mv isolinux syslinux
% cd syslinux
% mv isolinux.bin syslinux.bin
% mv isolinux.cfg syslinux.cfg
% syslinux -mi -d /boot/syslinux (ブートファイルが/boot/syslinuxにあるため)
</pre>
</blockquote>
<p>
最後のコマンドは、64ビットシステムで実行する場合はsyslinux64にします。
</p>
<p>
<br />
</p>
<p>
このメモリで起動すると、
</p>
<blockquote>
<pre>e100: eth0: e100_request_firmware: Failed to load firmware "e100/d101m_ucode.bin": -2

</pre>
</blockquote>
<p>
というエラーが出て起動が途中で止まってしまいます。
調べたところ、これはネットワークカード用のファームウェアファイルがtinycore.gzに含まれていないせいであることがわかりました。
</p>
<p>
Tiny Coreには本体とは別にファームウェアの含まれたファイルがあり、これをUSBの/tce/optionalディレクトリに入れておくことで読み込ませることができます。
また、tceディレクトリには、onboot.lstというファイルを用意し、起動時に読みこませるファイルを指定します。
</p>
<p>
firmware.tczのダウンロードですが、通常はAppbrowserを使うこととなっています。
しかし、この場合ネットワークがつながっていないのでAppbrowserではダウンロードできません。
そこで、ミラーされているファイルを使います。
</p>
<ul>
<li><a href="http://ftp.nedit.org/ftp/os/Linux/distr/tinycorelinux/3.x/tcz/firmware.tcz">ミラー(1)</a>
</li>
<li><a href="http://ftp.vim.org/ibiblio/distributions/tinycorelinux/3.x/tcz/firmware.tcz">ミラー(2)</a>

</li>
<li><a href="http://ftp.nluug.nl/ftp/pub/os/Linux/distr/tinycorelinux/3.x/tcz/firmware.tcz">ミラー(3)</a>
</li>
</ul>

<blockquote>
<pre>% cd e:\ (Windowsを利用していて、usbメモリのドライブレターがe:と仮定)<br />% mkdir tce<br />% mkdir tce/optional<br />% (ここにfirmware.tczをダウンロードする) <br />% cd ..<br />% echo firmware.tcz &gt; onboot.lst<br /></pre>
</blockquote>

<p>
起動時は、USBの認識を待つために、必ずwaitusbを指定する必要があります。
</p>
<blockquote>
<pre>boot: tinycore waitusb=10
</pre>
</blockquote>
<p>
これでネットワークカードが認識できました。
</p>
<p>
<br />
</p>
<p>
<a href="http://www.markn.org/blog/2011/05/tiny-core-linux-3.html">続きます。</a>
</p>

<p>
<br />
</p>

]]>
        
    </content>
</entry>

</feed>

