Tiny Core Linux 7の最も小さいイメージであるCoreをHDDにインストールした時のメモです。Tiny Core Linuxは最新のv7.1でもCoreと言われる最小イメージなら11Mしかないという超軽量なLinuxです。
最も大きなイメージであるCorePlusでも106Mなので、一昔前のPCでも全く問題はないと思いますが、今回はCoreから始めてみたいと思います。
USBメモリからTiny Core Linuxを起動
起動用USBメモリの作成
「Tiny Core Linuxのサイト」にアクセスしDownloadsをクリックします。以下の3つのイメージが公開されていますが今回は最も小さいCoreをダウンロードします。
- Core (11 MB)
- TinyCore (16 MB)
- CorePlus (106 MB)
ダウンロードしたISOファイルをUSBメモリに書き込みます。これで起動用USBメモリは完成です。(追記2018/4/15)この方法では起動できないという場面に遭遇しました。「Tiny Core Linux 9の起動用USBメモリを作る」も参考にしてください。
$ sudo dd if=Core-current.iso of=/dev/sdb
CorePlusではメニューが表示されたのですがCoreはないようです、こまま[Enter]キーを押すかしばらく待つと起動します。
しばらく待ってもこれ以上何も変わりません。…どうやらCoreにはウィンドウシステムは入っていないようです。
HDDにインストール
HDDへのインストール方法は http://tinycorelinux.net/install_manual.html あたりでも書かれているのですがちょっとハードルが高いのでもっと簡単にインストールできそうなtc-install
を使いたいと思います。
tc-install
をインストールします。
$ tce-load -wil tc-instal
CLI版のtc-install.sh
を実行します。
$ sudo tc-instal.sh
Core Installation.
Install from [R]unning OS, from booted [C]drom, or from [I]so file. (r/c/i):
ウィザード形式で質問に答えていけば良さそうなので「c」を入力し[Enter]。
Select install type for /mnt/sr0/boot/core.gz
Frugal
* Use for frugal hard drive installations.
Note: You will be prompted for disk/partion and formatting options.
HDD
* Use for pendrives. Your BIOS must support USB-HDD booting.
* A single FAT partition will be made.
Note: Requires dosfstools extension.
Warning: This is a whole drive installation!
Zip
* Use for pendrives. Drive will be formatted into two FAT partitions.
* One small one for USB_ZIP boot compatibility, and used to hold Tiny Core.
* The remaining partition will be used for backup & extensions.
Note: Requires dosfstools and perl extensions.
Warning: This is a whole drive installation!
Select Install type [F]rugal, [H]DD, [Z]ip. (f/h/z):
HDDにインストールしますので「h」を入力し[Enter]。
Select disk for core
1. sda
2. sr0
Enter selection ( 1 - 2 ) or (q)uit:
sdaにインストールしますので「1」を入力し[Enter]。
もしこの段階で、
sda appears to have a partition already mounted!
Check if correct device, if so, umount it.
Press Enter key.
のようなエラーが表示されて進めない時は、一度再起動しboot:
のところにmicrocore base
又はmc base
と入力しブートします。base
オプションを指定する事でHDDがマウントされなくなりますのでインストールを進めることができます。
Select Formatting Option for sda1
1. ext2
2. ext3
3. ext4
4. vfat
Enter selection ( 1 - 4 ) or (q)uit:
フォーマットはext4でいいと思いますので「3」を入力し[Enter]。
Enter space separated boot options:
Example: vga=normal syslog showapps waitusb=5
ブートオプションは後からでも指定できますので、このまま[Enter]。
Last chance to exit before destroying all data on sda1
Continue (y/..)?
最後の確認なので「y」を入力し[Enter]。「Installation has completed」を表示されれば完了です。
Writing zero's to beginning of /dev/sda
Partitioning /dev/sda
/dev/sda:
Formatting /dev/sda1
mke2fs 1.42.13 (17-May-2015)
0+1 records in
0+1 records out
440 bytes (440B) copied, 0.026071 seconds, 16.5KB/s
UUID="e30b4801-9034-480c-9de0-8a08124a338e"
Applying extlinux.
/mnt/drive/boot/extlinux is device /dev/sda1
Setting up core image on /mnt/sda1
Installation has completed
USBメモリを抜いて再起動し起動できれば成功です。
df
とdu
コマンドでどれくらい消費しているのかを見てみます。
$ sudo df -h
Filesystem Size Used Available Use% Mounted on
rootfs 222.2M 12.4M 209.8M 6% /
tmpfs 123.4M 0 123.4M 0% /dev/shm
/dev/sda1 118.0G 69.8M 117.9G 0%
$ sudo du -hs /
21.9M /
homeとoptディレクトリをHDDに変更
tc-install.sh
を使ってOSはHDDにインストールできましたが実はこの状態ではhomeとoptディレクトリはメモリ上に展開されていますのでhomeとoptディレクトリもHDDに変更します。
HDDのhomeとoptディレクトリを使用するようにブートオプションにhome=sda1 opt=sda1
を追加します。
$ sudo vi /mnt/sda1/boot/extlinux/extlinux.conf
DEFAULT core
LABEL core
KERNEL /tce/boot/vmlinuz
APPEND initrd=/tce/boot/core.gz quiet home=sda1 opt=sda1 ....
sudo reboot
で再起動して完了です。
##アプリのインストール
HDDにインストールはできたものの、この状態では何もできませんのでとりあえず何かアプリをインストールしてみたいと思います。
Tiny Core Linuxにはtce-load
とうコマンド以外にもtce
というコマンドがあります。tce-loadコマンドはインストールするアプリの名前が分かっていないと使えませんが、tceコマンドはキーワードで検索してインストールできますので、こちらの方が便利です。
試しに日付を調整するntpclient
をインストールしてみます。tceコマンドはパラメーターなしでtce
と入力して使います。
$ tce
tce-ab - Tiny Core Extension: Application Browser
S)earch P)rovides K)eywords or Q)uit:
メニューが表示されますのでキーワード検索の「k」を入力します。
Enter search term(s), e.g. browser:
「ntp」と入力して[Enter]。
tce - Tiny Core Extension browser
1. chntpw.tcz
2. ntpclient.tcz
Enter selection ( 1 - 2 ) or (q)uit:
検索結果が表示されます。ntpclientをインストールしてみますので、「2」と入力し[Enter]。
Title: ntpclient.tcz (TESTING)
Description: ntpclient -- a small NTP client for unix-alike computers
Version: 2007_365
Author: Larry Doolittle
Original-site: http://doolittle.icarus.com/ntpclient/
Copying-policy: GNU General Public License Version 2
Size: 12.0K
Extension_by: vitex
Tags: ntpclient -- small NTP client unix-alike computers
Comments: From http://doolittle.icarus.com/ntpclient/:
ntpclient is an NTP (RFC-1305) client for unix-alike
computers. Its functionality is a small subset of
xntpd, but IMHO performs better (or at least has the
potential to function better) within that limited
scope. Since it is much smaller than xntpd, it is
also more relevant for embedded computers.
See http://doolittle.icarus.com/ntpclient/README and
http://doolittle.icarus.com/ntpclient/HOWTO for more
informtion.
-----------------------------------------------------
This extension was built from
http://doolittle.icarus.com/ntpclient/ntpclient_2007_365.tar.g
情報が表示されますので「q」を入力します。
A)bout I)nstall O)nDemand D)epends T)ree F)iles siZ)e L)ist S)earch P)rovides K)eywords or Q)uit:
インストールの「i」を入力します。完了したら「q」を入力し終了します。
確認してみます。
$ sudo ntpclient -s -h ntp.jst.mfeed.ad.jp
42551 43138.499 34062.0 26.4 2166694.7 63217.2 0
$ date
Sat Jul 2 11:59:04 UTC 2016
こんな感じで必要なアプリをインストールしていく事ができます。
関連リンク
- UbuntuからTiny Core Linux 7をUSBメモリにインストール
- Tiny Core Linux 7でHDDのエラーチェック
- Tiny Core Linux 7でSecure Eraseを使ったHDDデータ消去
- Tiny Core Linux 7でshredを使ったHDDデータ消去
- Tiny Core Linux 7でddを使ったHDDデータ消去
- ターミナル上で動くアナログ時計tclock.cをシェルで書いてみた
- UbuntuとTiny Core Linuxの標準シェルで計算してみる
- pingに日時(タイムスタンプ)をつける
- Tiny Core Linuxのリリース頻度を調べてみた