Oct 27, 2019

apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その1:準備)

Tiny CorePure64-10.1にmpd 0.20、0.21をインストールしたので以下、備忘録。
今回はエントリーを分割する。

apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その2:0.20 インストール)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191027b.htm

apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その3:0.21 インストール)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191027c.htm

まず、準備編。
といっても、ほとんどは以前のエントリーからの引用コピペだけど。
読み易くまとめておきたいというのはある。

SDカードにTiny CorePure64-10.1を焼き込むところから。
準備するものを列記。

1)CorePlus-current.iso:
Tiny Core Linuxのサイト(http://tinycorelinux.net/downloads.html)からダウンロードしたインストーラーOSのイメージファイル。「CorePlus」から落す。うちではCD-ROMに焼いたけど、条件が合うならusbメモリに書き込んで使ってもいい。

2)64bit PC:
インストールの母艦。
CorePlus-currentからの起動、SDカードへのOS書き込みと、SDカードにインストールしたTiny Coreからの起動を行う。だから、まず必要な機能はCorePlus-current.isoを書き込んだメディアからの起動と、SDカードからの起動ができること、だ。内蔵DVDドライブとかusb接続のカードリーダー、何でもいいから、使うことになるメディアから起動できる機械を用意する。且つ、CorePlus-currentから起動し、そこからSDカードに書き込みを行うので、2つのメディアを同時に使えるほうがいい(Tiny Coreはメモリ上で動くので、実はCorePlus-currentを起動した後はメディアは外せるんじゃないかと思うんだけど、試していない)。64bit OSを動かすから、当然64bit PCである必要がある。最近の機械なら大抵大丈夫だと思う。あと、sshで遠隔操作するのと、インストールするOSをダウンロードするので、ネットにつながる家庭内有線LANが使えること。無線で出来ないのかというのは、やってできないことはなさそうだけど、僕は面倒なのでしない。
うちではhp compaq 6730b、サブマシンのノートを使った。内蔵DVDドライブとusb端子4つとSDカード端子が付いていてSDカードからの起動もできて扱いやすい。usbカードリーダーからの起動も使おうと思えば使える。

3)sshクライアントPC:
ssh経由でOS、mpdのインストール操作からmpd起動までのほとんどを行うことになる。sshが使えたら普段使いのPCで構わないと思う。

4)apu2、SDカード:
apu2c4は現在は販売は終了しapu2d4が売られている。

準備ができたら、64bit PCを、CorePlus-current.isoを書き込んだメディアで起動する。
起動画面が表示されるので、下の方、「No X/GUI」と書いてあるのを選択し起動する。CUI画面で起動するので、以下、流れを羅列。

##################    (boot 64bit PC CorePlus-current.iso CD-ROM No X/GUI : install openssh)

sudo passwd tc
tce
s
ssh
7 : 7. openssh.tcz
q
i
q
sudo /usr/local/etc/init.d/openssh start

CorePlus-currentが起動。ユーザーは「tc」になっている。
sshでログインできるように、passwdコマンドで「tc」のパスワードを設定。

tceコマンドで、opensshをインストールする。
「s」を打って「enter」、検索語入力になるので「ssh」、1からずらっと来て、7. openssh.tcz、と表示されるので「7」と打ち込むとopen.sshの説明が表示されるので「q」で閉じて、「i」でインストール。関連したものも含めてスイスイとインストールされる。「q」でtceを閉じる。
この「7」というのは、Tiny Coreのバージョンやリポジトリ?の状況で変るので、確認しながらインストールしていく。

「sudo /usr/local/etc/init.d/openssh start」と打ち込むと、sshサーバーとして起動する。
これで、他のパソコンからsshでログイン、コントロールできる。

2020.03.20. 追記。
上に、コマンドを打ち込むとsshサーバーとして起動すると書いたが、CorePlus-current.isoのバージョンによっては、それだけでは起動できないことが分かった。
このエントリーの下の方に書いているような、面倒な手順が必要になる。

sudo cp sshd_config.orig sshd_config
sudo /usr/local/etc/init.d/openssh start

こんなコマンドを打ってsshd_configを作らないと、opensshを起動できない。
日本語キーボードには対応していないので「shiftキー」+「-キー」で「_」を入力してコマンドを打ち込む必要がある。

##################    (change machine : ssh login 64bit PC : install tiny core OS installer)

ssh tc@192.168.1.xxx

tce-load -wi tc-install.tcz
wget http://tinycorelinux.net/10.x/x86_64/release/CorePure64-10.1.iso

cp `which tc-install.sh` .
sed -e 's/vmlinuz/vmlinuz64/g' -e 's/core/corepure64/g' tc-install.sh > tc-install64.sh

おもむろに腰を上げて、sshクライアントとして使うPCに向かう。うちでは普段使いのノートPCを使った。sshでCorePlus-currentが動いているインストール母艦にログイン。ユーザー「tc」、パスは先刻設定したはず。ipアドレスは環境によって変わるので各個で確認のこと。

インストーラである「tc-install.tcz」をダウンロード、インストール。CorePlus-currentはインストールに使うOSなんだけど、なぜかインストーラをここでインストールしないといけないみたい。続いて、インストールするOSのイメージファイル「CorePure64-10.1.iso」をホームディレクトリに落とす。インストールスクリプト「tc-install.sh」をホームディレクトリにコピー。そのスクリプトの書き換え。これをしないと、インストールできないということらしい。

##################    (insert SD card : OS install)

fdisk -l
sudo sh ./tc-install64.sh

i :iso-file
/home/tc/CorePure64-10.1.iso
f :frugal
2 :partition
4 : 4. sdb1
y : Would you like to install a bootloader?
Press Enter key : (Install Extensions from this TCE/CDE Directory)
4 : 4. ext4
y : Mark sdb1 active bootable? y/n
vga=normal syslog showapps waitusb=5 : Enter space separated boot options
y : Last chance to exit before destroying all data on sdb1

Installation has completed
Press Enter key to continue.

sudo poweroff

一旦、インストール母艦の64bit PCのところに戻って、SDカードを刺して、sshクライアントPCに戻る。「fdisk -l」と打つと、64bit PC上のメディアの状況が一覧表示される。その中からSDカードのデバイス名を確認(うちではsdb1だった)。この確認を間違えると、母艦のOSが上書きされたりする大事故につながるので要注意だ。

「sudo sh ./tc-install64.sh」で、インストールスクリプトを走らせる。
「i」で、isoファイルからのインストールを選択。次にファイルのアドレスを打ち込む。 「f」はfrugal。zipの「z」やHDDの「h」でもいいみたいだけど、今回は「f」。画面には説明が英文表示されている。 パーティションにインストールするかどうか訊いてくる。パーティションでいいので「2」と応答。 インストールするパーティションを選択。今回は表示された中からsdb1を探して「4」。この数字はどこにインストールするかによって変わる。 ブートローダーをインストールするかどうか訊いてくる。「enter」で先に進む。 ファイル形式を訊かれるので「4」でext4を選択。 インストールするデバイスで起動可能にするかどうか訊いてくる。起動しないと困るので「y(yes)」。 オプションを訊かれるので、提示された例をコピペ。 「Last chance to exit before destroying all data on sdb1」と訊かれる。OSインストールするのでsdb1のデータが消えるのは仕方ないので「y」。

10秒ぐらいでインストール終了。これでSDカードに「CorePure64-10.1」が書き込まれた。
「sudo poweroff」でインストール母艦をシャットダウンする。

##################    (change machine : boot 64bit PC SD card : install openssh, nfs)
uname -a
sudo passwd tc
tce
s
ssh
6 : 6. openssh.tcz
q
i

s
nfs
3 : 3. nfs-utils.tcz
q
i

s
i2s
 : i2c-4.19.10-tinycore64.tcz
q
i

q

cd /usr/local/etc/ssh
ls
sudo cp sshd_config.orig sshd_config
sudo /usr/local/etc/init.d/openssh start

インストール母艦の64bit PCのもとに移動。SDカードのCorePure64-10.1から起動する(必要ならBIOSで起動ディスクの優先順位を調整する)。これからSDカードに書き込まれたCorePure64-10.1を使えるように設定していく。

sshでログインできるように、passwdコマンドで「tc」のパスワードを設定。

tceコマンドで、opensshをインストールする。「s」を打って「enter」、検索語入力になるので「ssh」、1からずらっと来て、6. openssh.tcz、と表示されるので「6」と打ち込むとopen.sshの説明が表示されるので「q」で閉じて、「i」でインストール。関連したものも含めてスイスイとインストールされる。続いて、うちではNASをマウントして使うつもりなのでnfsもインストールしておく。

CorePure64-7.2と違うのは、ここで「i2c-4.19.10-tinycore64.tcz」をインストールしておかないとipアドレスが振られなくなりsshでログインできなくなること。tceから「i2c」で検索すると説明表示されるので、「q」で閉じて、「i」でインストール。
最後は「q」でtceを閉じる。

sshサーバーとして動かすために、/usr/local/etc/sshディレクトリに移動。sshd_config.origをコピーしてsshd_configを作る。ここで問題になるのは「_」の入力が日本語キーボードの表示のままに出来ないこと。CorePure64は英語キーボード配列しか認識していない。日本語キーボードからだと「shiftキー」+「-キー」で「_」を入力できる。キーボードが英語キーボードだったら、こんな面倒はないかもしれない。コピーができたら、opensshを起動。

##################    (change machine : ssh login 64bit PC : basic setting SD card)

vi .ssh/k*
ssh tc@192.168.1.xxx

sudo vi /opt/bootlocal.sh

/usr/local/etc/init.d/openssh start
/usr/local/etc/init.d/nfs-client start
mkdir /mnt/music
mkdir /mnt/music/ariel
mkdir /mnt/music/titan
chmod -R 777 /mnt/music

vi /opt/.filetool.lst

etc/shadow
etc/passwd
usr/local/etc/ssh/sshd_config
usr/local/etc/
etc/fstab
etc/securetty
etc/inittab
sbin/autologin

vi .ashrc

alias titan="sudo mount -t nfs 192.168.1.80:/titan /mnt/music/titan"
alias ariel="sudo mount -t nfs 192.168.1.120:/ariel /mnt/music/ariel"

filetool.sh -b
sudo poweroff

##################    (change machine : boot apu2 SD card)

おもむろに腰を上げて、sshクライアントPCに向かう。sshでCorePure64-10.1が動いているインストール母艦にログインするんだけど、アクセスする前に「vi .ssh/k*」で.ssh/known_hostsファイルを編集する必要がある。母艦にはdhcpサーバーからipアドレスを割り振られているんだけど、CorePlus-currentとCorePure64-10.1に同じアドレスが割り振られた場合(そうなる場合が多いと思うけど)、CorePlus-currentからもらった鍵はCorePure64-10.1には合わないのでログインを蹴られるのだ。予めknown_hostsファイルに保存されているインストール母艦のアドレスの行を削除し、その上で母艦にアクセスする。ユーザーは「tc」。パスは先刻設定した奴。

ログインしたら「/opt/bootlocal.sh」の編集。
「openssh start」の設定は必須。これを設定しておかないと、起動したあとでログインできないSDカードが出来てしまう。
「nfs-client start」は、nfsなんて使わないという人には要らない。
「/mnt/music」ディレクトリに関する記載は、OS起動時にmpdのmusic_directoryとNASのマウントポイントを作るという当方固有の設定だ。music_directoryを他に設定する場合は不要な記載。

次に「/opt/.filetool.lst」の編集。シリアル接続できるようにする設定も保存できるようにしている。
sshで継がるなら必要ないといえば必要ないのだけど。設定方法は下記エントリーを参照のこと。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191010a.htm
(apu2d4でTiny CorePure64 10.1を動かす)

「.ashrc」の編集、これはうちに固有の設定。うちではNASのマウントやmpdの起動はsshから行うのがデフォルトなのでalias設定している。

「filetool.sh -b」でSDカードに設定を保存、poweroff。これでインストール母艦の役割は一応終了。SDカードを母艦から抜き、apu2に刺して起動する。

##################    (change machine : ssh login apu2 : setting)

ssh tc@192.168.1.yyy

tce-load -wi \
libsamplerate.tcz libsamplerate-dev.tcz alsa-config.tcz \
alsa-plugins.tcz alsa-modules-4.19.10-tinycore64.tcz \
alsa-dev.tcz alsa.tcz lame.tcz \
lame-dev.tcz libmad.tcz libmad-dev.tcz \
flac.tcz flac-dev.tcz curl.tcz

tce-load -wi gcc.tcz meson.tcz ninja.tcz boost-1.65.tcz \
pkg-config.tcz bison.tcz binutils.tcz autoconf.tcz \
libtool-dev.tcz bc.tcz cmake.tcz compiletc.tcz

tce-load -wi boost-1.65-dev.tcz
tce-load -wi squashfs-tools.tcz
tce-load -wi ntpclient.tcz

SDカードをapu2に刺して起動、apuのipアドレスを確認、sshクライアントPCからユーザー「tc」でログイン。

libsamplerateやalsa、flacなど必要なライブラリやプラグインをインストール。ここの項目は各々ユーザーのニーズに合わせて選択。
続いて、mpdインストールに必要な環境をインストール。mpd 0.21は、インストールにautotools、makeの代わりにmeson、ninjaを使う。0.20以前とはやり方が違っている。0.20のインストールには要らないんだけど、今回は環境が同じの方が手間がかからなかったので一緒にインストールしている。
boostは、boost-1.65.tczだけで事足りるかと思ったら、boost-1.65-dev.tczも必要。しかしこれをインストールしたら一緒にXシステムもインストールされるんだよね。。。ヘッドレスなのにいらんのではないのかと思うけど、なしでは何でかmpdのインストールと起動自体ができないので入れている。

squashfs-tools.tczがないと、ソースからインストールしたソフトをtczに加工できないのでインストール。
さらに、システムの時間を合わせないままだと「インストールに使うファイルがコンピューターの時間より新しいよ」みたいな警告が出てインストール作業ができない。ので、ntpクライアントをインストールする。セキュリティか何かの関係なんだろうか。これはCorePure64-7.2と違うところ。

ここらで、準備完了かな、、、
この段階でSDカードをイメージファイルにバックアップしておくと、あとあとmpdのインストールで失敗しても大丈夫。

mpdインストールは続きのエントリーで。

apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その2:0.20 インストール)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191027b.htm

apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その3:0.21 インストール)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191027c.htm

Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.