Tiny Core Linux (3) - tinycore.gzのカスタマイズ

  • 投稿日:
  • 更新日:2015/03/08
  • by
  • カテゴリ:

Tiny Core Linuxをカスタマイズする

「古いノート(Dynabook, メモリ192MB)にTiny Core Linuxを入れてデジタルフォトフレームにしよう」(いつの間にかタイトルが...)ですが、ネットワークカードの認識まで来ました。

ブート時に必要なファームウェアを取り込んでおく

さて、必ずしもやらなくてもいいのですが、必要なファイルはd101m_ucode.binだけなので、あらかじめtinycore.gzに取り込んでおけば、ブート時にwaitusbをしなくて済み、起動時間が短縮できます。 また、この方法を知っておけば、起動時から有効な構成ファイルに変更を加えたいときなども役立ちます。

ここからは、Tiny Core Linuxの実環境上で作業します。 Dynabookからでもできますが、私は別マシンのVirtualBox上で作業しました。

後日触れる予定ですが、この段階では問題があってXが起動しません。 そのため、起動時にはテキストモードで作業します。 waitusbと、ついでにターミナルを複数使用可能にする(Alt-F1, Alt-F2等で切り替わります)ために、次のようにタイプして起動します。

boot: tinycore waitusb=15 text multivt

起動後の作業

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

% tce-load -wi squashfs-tools-4.x.tcz
% tce-load -wi advcomp.tcz
% tce-load -wi firmware.tcz (前回入れたはずだが、もしまだない場合)

流れとしては、/tmpでtinycore.gzを展開し、必要なファイルを入れた上で再パック、というものです。 この手順は、Tiny Core LinuxのWikiを参考にしています。

まず、元となるtinycore.gzを展開します。

% sudo su
% cd /tmp
% mkdir tinycore
% cd tinycore
% zcat /mnt/sda1/boot/tinycore.gz | sudo cpio -i -H newc -d

次に、firmware.tczの中から必要なファイル(d101m_ucode.bin)を取り出して、適切なディレクトリ(/lib/firmware/e100)に入れます。

% 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

これでファイルをコピーしましたので、再パックします。

% depmod -b /tmp/tinycore 2.6.33.3-tinycore
% cd /tmp/tinycore
% find | cpio -o -H newc | gzip -2 > ../tinycore.gz
% cd ..
% advdef -z4 tinycore.gz (動作しないときあり)
% exit

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

作成したtinycore.gzのインストール

完成したtinycore.gzをブート領域にコピーします。 元のファイルも一応残して起きましょうか。

% cd /mnt/sda1/boot
% sudo mv tinycore.gz tinycore.gz.bak
% sudo cp /tmp/tinycore.gz .

うまく起動したら、firmware.tczをアンインストールしておきます。 USBメモリ上の/tce/options/firmware.tczを削除し、/tce/onboot.lstからfirmware.tczのエントリ を削除します。 このエントリしかなければファイル自体を削除してもかまいません。

Xの設定へ続きます。

戻る 0 1 2 3 4 5 6 7 8 9 次へ

こちらもよく読まれています