Sirius -旧ブログ、更新されません-

<< 前のページ | 次のページ >>

2010年12月18日(土) 00:20

udev のルールその2

MP3 の入っている USB メモリを刺したときに自動で MP3 を再生するルールを追加してみました。

全ての USB メモリをチェックするためには中身を全部見なければいけないので、"JUKEBOX" のラベルがついた USB が刺された時だけ再生するような条件にしてみました。



マウントやアンマウントするルールの前に次のルールを書きます。



---------------------------ここから---------------------------

# USB Jukebox

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ENV{mount_point}="play_music"

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ACTION=="add", \

SYMLINK+="$env{mount_point}%n", ENV{mount_options}="$env{mount_options},ro"

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ACTION=="remove", \

RUN+="/root/bin/stopplay.sh"

---------------------------ここまで---------------------------



マウントする場所を決めて、追加の場合には、念のため、読み込み専用とします。

アンマウントするときには、はじめに再生を止めて alsaplayer も終了させるシェルスクリプトを実行します。

シェルスクリプトの内容は、次のようにしました。



---------------------------ここから---------------------------

#!/bin/bash

PATH=/usr/local/bin:/bin:/usr/bin:/root/bin

MNTDIR=/media/play_music



if [ -d $MNTDIR ]; then

    alsaplayer --stop

    alsaplayer --quit

fi

---------------------------ここまで---------------------------



次にマウントするルールの次に以下のルールを追加します。



---------------------------ここから---------------------------

# USB Jukebox post

KERNEL=="sd?1"ACTION=="add", ENV{mount_point}!="", \

ENV{ID_FS_LABEL}=="JUKEBOX", RUN+="/root/bin/autoplay.sh"

---------------------------ここまで---------------------------



マウントした後で再生を開始するシェルスクリプトです。

内容は次のようにしました。



---------------------------ここから---------------------------

#!/bin/bash

PATH=/usr/local/bin:/bin:/usr/bin:/root/bin

MNTDIR=/media/play_music



if [ -d $MNTDIR ]; then

    alsaplayer --quit

    sleep 5

    alsaplayer -i daemon -q > /dev/null 2>&1 &

    sleep 5



    getmp3dir $MNTDIR | while read dir

    do

        alsaplayer -e "$MNTDIR/$dir/"*.mp3

    done

fi

---------------------------ここまで---------------------------



alsaplayer はディレクトリを指定するとその下を再帰的に検索してくれますが、そうすると再生順がディレクトリのエントリ順となってしまうので、このようになりました。私は、ファイル名の前にトラック番号を付けているのでこれで必ずトラック順になります。getmp3dir コマンドは自作のコマンドです。ソースはここに、実行形式はここに置いておきます。



ボリュームラベルを "JUKEBOX" にして MP3 を置いた USB を刺すと再生が始まります。再生中に抜いてみましたが問題ないようです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月15日(水) 22:09

udev のルール

この前作ったルールで、もともと内蔵していた HDD を USB に変換してつないだところそれぞれのパーティションを自動でマウントできました。ところが、スワップパーティションまでマウントしようとしているので、スワップやファイルシステムが不明な場合はマウント処理等をスキップする様に、次のルールをマウントやアマウントする前に追加しました。

-----------------------------ここから-----------------------------------

# Unknown fs

KERNEL=="sd*", ENV{ID_FS_TYPE}=="swap", GOTO="USBmemory_auto_mount_end"

KERNEL=="sd*", ENV{ID_FS_TYPE}=="", GOTO="USBmemory_auto_mount_end"

-----------------------------ここまで-----------------------------------

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月14日(火) 22:16

玄箱でのサイト構築

Fedora12 のいろいろな設定をする際に玄箱でFedoraサーバーを構築のサイトは大変参考になると思います。

玄箱HG は3台あって、一台は CF を使って外部とつながるメールサーバに、もう一台が今回設定している内部サーバになっています。最後の一台は Debian でも入れてみようかな。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月13日(月) 22:19

udev を使って USB メモリをマウントする。

USB メモリの自動マウント・アンマウントを実現させます。

まず、USB メモリをさすと、デバイスファイルができるのでそれを使って情報を取得します。



$ udevadm info -a -p $(udevadm info -q path -n /dev/sdb)

デバイスのシリアルを探します。場合によっては、manufacturer と product でも良いのですが、私は同じデバイスを複数使っていたりするので、確実に認識するようにシリアルを使います。

例えば、PQI の 16GB のメモリの場合、次のようになりました。※

looking at parent device '/devices/pci0000:00/0000:00:0e.1/usb2/2-1/2-1.2':

KERNELS=="2-1.2"

SUBSYSTEMS=="usb"

DRIVERS=="usb"

ATTRS{configuration}==""

ATTRS{bNumInterfaces}==" 1"

ATTRS{bConfigurationValue}=="1"

ATTRS{bmAttributes}=="80"

ATTRS{bMaxPower}==" 98mA"

ATTRS{urbnum}=="452426"

ATTRS{idVendor}=="3538"

ATTRS{idProduct}=="0901"

ATTRS{bcdDevice}=="0100"

ATTRS{bDeviceClass}=="00"

ATTRS{bDeviceSubClass}=="00"

ATTRS{bDeviceProtocol}=="00"

ATTRS{bNumConfigurations}=="1"

ATTRS{bMaxPacketSize0}=="64"

ATTRS{speed}=="12"

ATTRS{busnum}=="2"

ATTRS{devnum}=="4"

ATTRS{version}==" 2.00"

ATTRS{maxchild}=="0"

ATTRS{quirks}=="0x0"

ATTRS{authorized}=="1"

ATTRS{manufacturer}=="PQI"

ATTRS{product}=="PQI USB Flash Drive"

ATTRS{serial}=="01ACxxxxxxxxxx"



この "01ACxxxxxxxxxx"を使い、udev のルールを作成します。

ルールは、/etc/udev/rules.d の下に作成します。私は、99-local.rules にしました。



---------------------------------ここから-------------------------------

# USB Flash

KERNEL!="sd*", GOTO="USBmemory_auto_mount_end"



# default options

KERNEL=="sd*", ENV{mount_point}="%k", \

IMPORT{program}="/sbin/blkid -o udev -p %N"

KERNEL=="sd*", ENV{ID_FS_LABEL}!="", \

ENV{mount_point}="$env{ID_FS_LABEL}-%k"

# Add

ACTION=="add", SYMLINK="usb_%k", ENV{mount_options}="relatime"

ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", \

ENV{mount_options}="$env{mount_options},utf8"

# Remove



# PQI 16GB(Music)

KERNEL=="sd?1", ENV{ID_FS_UUID}=="943E-C47E", \

ENV{mount_point}="usbmusic"

KERNEL=="sd?1", ATTRS{serial}=="01ACxxxxxxxxxx", \

ENV{mount_point}="usbmusic"

KERNEL=="sd?1", ATTRS{serial}=="01ACxxxxxxxxxx", \

ACTION=="add", SYMLINK+="$env{mount_point}%n"



# general mount

KERNEL=="sd*" ACTION=="add", ENV{mount_point}!="", \

RUN+="/bin/mkdir /media/$env{mount_point}", \

RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/$env{mount_point}"



# general unmount

KERNEL=="sd*", ACTION=="remove", ENV{mount_point}!="", \

RUN+="/bin/umount -l /dev/%k", \

RUN+="/bin/rmdir /media/$env{mount_point}"



LABEL="USBmemory_auto_mount_end"

---------------------------------ここまで-------------------------------



はじめにデバイスが sd でない場合は、USBmemory_auto_mount_end まで飛びます。

次にデフォルトの設定をしています。

マウントポイントのデフォルトを定義します。

まず、マウントポイントのデフォルトはデバイス名(%k)にしておきます。ここで blkid コマンドを利用してデバイスのパラメータを環境変数に設定します。環境変数を見てラベルが設定されていたら、マウントポイントを "ラベル名-デバイス名" に設定します。



blkid コマンドでデバイスを指定すると次のような出力が得られます。

$ /sbin/blkid -o udev -p /dev/sdb1

ID_FS_LABEL=PQIUSB16GB

ID_FS_LABEL_ENC=PQIUSB16GB

ID_FS_UUID=943E-C47E

ID_FS_UUID_ENC=943E-C47E

ID_FS_VERSION=FAT32

ID_FS_TYPE=vfat

ID_FS_USAGE=filesystem



次にデバイスが追加されたときにデバイスファイルへのシンボリックリンクを作成してマウントオプションのデフォルトを設定します。

ファイルシステムが vfat か ntfs の場合はさらに、エンコードを utf8 にします。

今回はデバイスが取り外されたときのデフォルトオプションはありません。



次にデバイスごとのオプションを指定していきます。

ここでは PQI の USB メモリを個別に設定します。マウントポイントとシンボリックリンクの作成を設定します。

シリアルを使って設定しますが、なぜかデバイスの追加は OK ですが、取り外しのときはシリアルが使えないようなので UUID も併用しています。



最後にデバイスが追加されたときの動作と、取り外されたときの動作を設定します。どちらもマウントポイントが決まっている場合のみ定義します。

デバイスが追加されたときは、マウントポイントを /media の下に作成し、マウントします。

デバイスが取り外されたときは、アンマウントして、マウントポイントを削除します。





ファイルを変更すると即座に udev が読み込みしなおすようです。設定ファイルを修正するだけで大丈夫です。



USB メモリをさすと、/media の下のマウントポイントにマウントされ、抜くとアンマウントされました。

SD-USB 変換のアダプタを利用して SD がマウントされることも確認しました。



※この PQI のメモリは、購入時点ではパーティションをきらずにフォーマットされていました。マウントするデバイスは /dev/sdb といった感じでパーティションを指定するのではなく、デバイスそのものを指定してマウントするタイプです。例では、再フォーマットしたものを使っているので、普通どおりパーティションを作成しています。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月12日(日) 22:56

webmin を入れてみる。

yum でパッケージを探せなかったので、Webminユーザグループ から rpm を取得してインストールしました。



# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.530-1.noarch.rpm

# rpm -ivh webmin-1.530-1.noarch.rpm

かなり時間がかかります。

インストールが完了したら次のアドレスを他のマシンで開いて見ます。



http://ホスト名:10000/



ユーザ名には root、パスワードは root のパスワードを入れます。はじめに言語の設定を行うといいでしょう。日本語になります。

後は普通につかえますね。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月10日(金) 18:27

静的ルーティングの設定

参考:Redhat/FedoraのIP設定ファイル



例えば 2 枚の NIC がある場合、片方にデフォルトゲートウェイの設定をするわけです。次のような構成の場合、

eth0 IP:192.168.0.10 ゲートウェイ 192.168.0.1

eth1 IP:172.17.0.10 ゲートウェイ 172.17.0.1

デフォルトゲートウェイ が 172.17.0.1 だったとするとそのままでは 192.168.1.20 宛てのパケットはデフォルトゲートウェイの172.17.0.1 を経由します。しかし、実際には、192.168.1.0 のネットワークは 192.168.0.10 のゲートウェイ(192.168.0.1)のほうにつながっているとします。このままでは、192.168.0.10 と 192.168.1.20 は通信できません。

そこで 192.168.1.x 宛ては eth0 を通して通信するようにルーティングテーブルを構成する必要があります。



一時的で良いのなら、route コマンドで設定できます。次のようにします。

# route add -net 192.168.1.0 gw 192.168.0.1 netmask 255.255.255.0 eth0

(Windows では、-p オプションをつけることで設定を保存できるようです。)



しかし、これは一時的なので再起動したりすると設定は消えてしまいます。

永続的にこのルートを設定するには、/etc/sysconfig/network-scripts/route-eth0 を作成します。

(インターネットを検索すると、static-routes ファイルの設定方法が出てきますが、最近は違うみたいです。)



route-eth0 の内容は次のようにします。



GATEWAY0=ゲートウェイのIPアドレス

NETMASK0=ネットマスク

ADDRESS0=ネットワークアドレス



実際の例では、



GATEWAY0=192.168.0.1

NETMASK0=255.255.255.0

ADDRESS0=192.168.1.0



のようにすると 192.168.1.x 宛てのパケットは 192.168.0.1 経由で送られることになります。

起動時にこの設定が有効になるので再起動しても大丈夫です。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月9日(木) 20:26

玄箱HG の電源制御再び

いろいろインストールやアップデートをしていたら、いつのまにか /etc/rc.d/rc.local が実行されなくなっていました。/dev/ttyS0 のアクセス権がデフォルトのままです。しかし、シャットダウンは普通にできました。おお、これで大丈夫になったのかと思ったら、リブートができません。アクセス権を修正しても再起動しませでした。なんでだろ?まあ、サーバにしているので頻繁にシャットダウンやリブートはしないので原因追求は後回しです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月8日(水) 23:21

firewall の設定

通信カードでインターネットとつながるので一応、 firewall を動かします。iptables が firewall なので ntsysv を使い、 iptables を起動時に動くようにします。

公開するポートの設定は system-config-firewall で行います。この回線は緊急のメンテナンス用なので、ssh のみを解放するだけです。ただし、内部ネットワークの eth0 は除外します。そうしないと内部向けにサービスができません。

また、root のパスワードを変更しておきます。デフォルトで作成されているユーザ(fedora)もパスワードを変更するか削除します。

さらに無料ダイナミック DNS サービスを利用して IPアドレスが変わっても外からつなげられるようにしておきます。これで緊急時には外部から接続して家のマシンを操作できるようになります。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月7日(火) 20:35

alsaplayer のインストール

alsaplayer をインストールします。パッケージはないようなのでソースからコンパイルします。



g++ が必要なのでついでに開発ツールのグループをインストールしました。

# yum groupinstall "開発ツール"



ライブラリのインストール

# yum install libmad-devel.ppc

# yum install libid3tag-devel.ppc

# yum install flac-devel.ppc

# yum install libvorbis-devel.ppc

# yum install libsndfile-devel.ppc

# yum install audiofile-devel.ppc

# yum install libmikmod-devel.ppc

# yum install alsa-lib-devel.ppc

バージョンが対応していないようで、libid3tag と libmikmod は認識しませんでした。



#./configure --enable-audiofile

# make

# make install



mp3 の再生だけであれば、mpg123 でも良いのですが、alsaplyer を使うと再生中に再生のコントロールができるので便利です。



$ alsaplayer -i daemon -q

で常駐させ、

$ alsaplayer -e mp3ファイル

で再生できます。mp3 ファイルは複数指定できるし、再生中に追加も可能です。また、起動した端末を終了させても常駐し続けます。



次の曲を再生するには、

$ alsaplayer --next

前の局に戻るには、

$ alsaplayer --prev

再生の状態を知るには

$ alsaplayer --status

とします。



web でインターフェースを作成すれば、いちいち端末でログオンしてコマンドをたたく必要もなくなります。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月6日(月) 21:20

玄箱のサウンドアプリケーションについて

Fedora12 にして、玄音(OTO2.1-USB2)で音が出る様にモジュールの追加もできたので、ジュークボックス代わりにできるようにアプリケーションを入れていきます。玄音は、このサイズにしては十分な音量で、サブウーファーのおかげで BGM として流しておくのにちょうど良いです。コンパクトで、ケーブルも USB 一本ですむし玄箱にぴったりです。残念なことにもう売ってないんですよねこれ。買えるときにもっと買っておけばよかった。まあ、これが壊れたと時にはAUDIOJUCK-USBなんてのも持っているのでこれが使えるかなと。



ユーティリティのインストール

# yum install alsa-utils.ppc



音のオン・オフや音量の調整ができるようになります。

調整を行うユーザは、あらかじめ /etc/group を編集して audio のグループに登録しておきます。

音量の調整を対話的に行うには alsamixer を使い、数値で指定するには amixer で行います。

調整できるものの確認は、次のようにします。

$ amixer controls



玄音では、

numid=1,iface=MIXER,name='PCM Playback Switch'

numid=2,iface=MIXER,name='PCM Playback Volume'

と表示されました。



この場合、音のオン・オフは、

$ amixer set PCM Playback Switch on

$ amixer set PCM Playback Switch off

で行います。



音量の調節は、

$ amixer set PCM Playback Volume 80%

あるいは、

$ amixer set PCM Playback Volume 30

とします。パーセンテージでやったほうがわかりやすいと思います。直接の数値は、接続した機器によって範囲が変わるようです。



mp3 の再生アプリケーションは mpg123 をインストールしました。

# yum install mpg123.ppc



alsa で再生するには、

$ mpg123 -o alsa nanika.mp3

とします。



cron に登録しておけば目覚まし代わりにもなります。というか以前は目覚まし代わりにしていました。また復活できます。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月5日(日) 12:27

玄箱HG の Fedora12 にカーネルモジュールの追加

USB 経由で通信カードを使います。Linux につなげたときに ttyACM として認識するカードなら、同じ手順でできると思います。

通信カードは KWINS の KW-S102C、USB への変換は、IO-DATA の USB2-PCADPG を使います。

まず、カーネルモジュールが必要なので、同じカーネルバージョンを用意して、LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5を参考に作業をします。



カーネルソースを取得して展開します。

# wget http://ring.maffin.ad.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.31.12.tar.bz2

# tar jxvf linux-2.6.30.5.tar.bz2

# mv linux-2.6.31.12 linux-2.6.31.12_kurobox

# cd linux-2.6.31.12_kurobox



コンパイルしたカーネルを使う予定はありませんが、一応、mtd 関係は修正しておきました。

# make linkstation_defconfig

# cp -p ./.config ./.config.orig

# make menuconfig



次に、必要なモジュールは cdc_acm です。

menuconfig でモジュールの定義をして作成しても、カーネルとモジュールのバージョンが異なる(2.6.31.12 と 2.6.31.12_kurobox) ので先にバージョンをカーネルにあわせます。

どこを直せば良いのかよくわかりません。検索して、Makefile を修正して 2.6.31.12_kurobox になるようにしました。



menuconfig で cdc_acm をモジュールに設定して早速コンパイルします。

# make modules



結構時間がかかります。モジュールが作成できたら、drivers/usb/cdc_acm.ko をコピーします。

# cp drivers/usb/class/cdc-acm.ko /lib/modules/2.6.31.12_kurobox/kernel/drivers/usb/class/.

# depmod -a



これで通信カードを USB でつなぐと、cdc_acm モジュールが組み込まれ、/dev/ttyACM0 が使えるようになりました。

次は、ppp の設定です。これらは、GUI を使って設定したほうが楽です。

GUI で設定するには、

# yum install system-config-\*

で設定ツールをインストールして、他の Linux マシンから、X11 を ssh でフォワードしてやればいいと思います。

私は、一度設定したことがあるので、手動でやりました。



設定ファイルを作成します。

/etc/sysconfig/network-scripts/ifup-プロバイダ

ここで、プロトコルやその他の設定を行います。

------------------------ここから---------------------------------

DEVICE=ppp0

BOOTPROTO=dialup

TYPE=Modem

NM_CONTROLLED=no

ONBOOT=yes

USERCTL=yes

PEERDNS=yes

IPV6INIT=no

AC=off

BSDCOMP=off

VJCCOMP=off

CCP=off

PC=off

VJ=off

LINESPEED=115200

MODEMPORT=/dev/ttyACM0

IDLETIMEOUT=600

PROVIDER=プロバイダ

DEFROUTE=yes

PERSIST=yes

PAPNAME=ユーザ名

WVDIALSECT=wvdialでの識別名

MODEMNAME=Modem0

DEMAND=yes

DNS2=セカンド DNS の IP アドレス

DNS1=DNS の IP アドレス

PPPOPTIONS=

------------------------ここまで---------------------------------



ダイヤルアップでの接続をしますので、ppp の設定も必要です。



# yum install wvdial.ppc

でダイヤラーをインストールして、/etc/wvdial.conf にプロバイダ用の設定を作成します。ここにパスワードが記録されます。

------------------------ここから---------------------------------

[Modem0]

Modem = /dev/ttyACM0

Baud = 115200

SetVolume = 0

Dial Command = ATDP

Init1 = ATZ

Init3 = ATM0

FlowControl = XONXOFF

[Dialer 識別名]

Username = プロバイダのユーザ名

Password = プロバイダのパスワード

Phone = 電話番号

Stupid Mode = 1

Init1 = ATZ

Inherits = Modem0

------------------------ここまで---------------------------------



ppp は、 /etc/ppp/peers にプロバイダ名でファイルを作成しました。wvdial を起動するスクリプトです。

------------------------ここから---------------------------------

connect "/usr/bin/wvdial --remotename 識別名 --chat 'プロバイダ名'"

------------------------ここまで---------------------------------



wvdial の識別名はプロバイダ名と同じものを使いました。



# ifup ppp0

としてみました。が、なんと、ppp のモジュールがなかったようです。

必要そうなモジュールをコンパイルして追加しました。

bsd_comp, ppp_deflate, ppp_synctty, ppp_async, ppp_generic, slhc, slip を /lib/modules/2.6.31.12_kurobox/kernel/drivers/net へコピーしました。



# depmod -a

# modprobe ppp_generic

# ifup ppp0

これでつながります。再起動すると自動でつながりました。



大丈夫そうだったので、Alsa の USB-AUDIO もコンパイルして追加しました。

玄音をつないでみたところちゃんと音が出ました。



ロードしているモジュール(mp3 再生中)

# lsmod





















ModuleSizeUsed by
snd_usb_audio844922
snd_seq556040
snd_pcm712362snd_usb_audio
snd_timer237923snd_seq,snd_pcm
snd_page_alloc121441snd_pcm
snd_usb_lib19564 1snd_usb_audio
snd_rawmidi247801snd_usb_lib
snd_seq_device101162snd_seq,snd_rawmidi
snd_hwdep112041snd_usb_audio
snd542649snd_usb_audio,snd_seq,snd_pcm,snd_timer,snd_rawmidi,snd_seq_device,snd_hwdep
soundcore93121snd
ppp_deflate86640
zlib_deflate234561ppp_deflate
ppp_async129481
crc_ccitt51481ppp_async
ppp_generic243086ppp_deflate,ppp_async
slhc88641ppp_generic
cdc_acm189562

なんかあっけなく動いています。普通の Fedora ですね。ジュークボックス代わりにもなりそうです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月4日(土) 13:59

玄箱HG に Fedora12 インストール後の設定2

・ユーザの登録

# useradd ユーザ名

パスワードの設定

# passwd ユーザ名



・samba の設定

インストールはされているようでしたが、サービスとして登録されていませんでした。

samba をリモートで管理するために、swat を動かします。

# yum install samba-swat.ppc

http://サーバ:901/ で swat のページになるのでここで設定できるようになります。

smbclient とかのコマンドを良く使うのでクライアントのインストールもやっておきます。

# yum install samba-client.ppc



・ntp の設定

元からインストールされていました。/etc/ntpd.conf にタイムサーバを追加しました。



・dhcp のインストール

# yum install dhcp.ppc



・dns のインストール

# yum install bind.ppc

自分で使えるように /etc/resolv.conf を修正する。

また、dig で dns のチェックをするのでそれもインストールしておきます。

# yum install bind-utils.ppc



・rsync ののインストール

# yum install rsync.ppc



・apache の設定

インストールはされているようでしたが、サービスとして登録されていませんでした。



・tftp のインストール

# yum install tftp-server.ppc



・その他

# yum install w3m.ppc

# yum install system-config-\*

# yum install nkf.ppc

# yum install zip.ppc

# yum install compat-readline5-devel.ppc

# yum install readline-devel.ppc

# yum install alsa-utils.ppc

# yum install traceroute.ppc

# yum install sox.ppc

# yum install mpg123.ppc

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月2日(木) 18:42

玄箱HG に Fedora12 インストール後の設定1

・ssh クライアントのインストール

まだ samba を動かしていないので、scp でファイルを持ってこれるように ssh クライアントをインストールします。

# yum install openssh-clients.ppc



・コンソール画面でサービスのコントロール(ntsysv)のインストール

# yum install ntsysv.ppc



・HDD のパーティション

HDD のデバイスは、今まで /dev/hda だったのが /dev/sda に変更されています。

インストール直後は、/dev/sda4 が 2GB になっているので SSD に空きがあります。これを削除して残り全てを割り当てます。

ssh で root でログインし、



# umount /mnt

# fdisk /dev/sda



fdisk を抜けたとき、カーネルはまだ古いパーティションテーブルを使っているというメッセージが出たのでここで再起動します。



再度、ssh でログインして/dev/sda4 にファイルシステムを作成します。

# mkfs -t ext3 /dev/sda4

# mount /mnt



・アップデート

# yum update

この Fedora では、rpmfusion まで見に行くようになっていました。まあ、ppc のサポートが Fedora12 までとなっているので正しい判断だと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年11月30日(火) 20:38

玄箱HG の Fedora12 での電源制御

なんと、インストールした状態では halt で電源が切れず、reboot で再起動せず、電源ボタンの長押しは無反応。電源周りがうまく動きません。まずこれを何とかしないといけません。

制御コマンドの送り先を /dev/ttyS0 から /dev/ttyS1 に変更してみたり、 /etc/init.d/halt に追加してみたりしましたがうまくいきません。正常動作している Fedora11 と違っているのが ttyS0 のアクセス権とグループだったので変更してみました。



# chmod 600 /dev/ttyS0

# chown root:root /dev/ttyS0



これで halt と reboot ができるようになりました。しかし、この設定は再起動すると元に戻ります。なので、/etc/rc.d/rc.local の中で起動時に毎回設定しなおすことにしました。

また、電源ボタンでのシャットダウンは、kuroevtd(電源ボタンの機能回復)を参考にして kuroevtd を導入しました。

kuroevtd は全て(ソース、スクリプト)、/dev/ttyS1 を /dev/ttyS0 に変更してインストールしました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年11月28日(日) 15:16

玄箱HG に Fedora12 を入れる。

しばらくぶりの玄箱ネタです。



24 時間連続運転の玄箱HG は HDD 自体が自分の熱で壊れやすいように思います。特に夏場は危険です。CF で動かしている外向けの玄箱HG は何の問題もなく、今年の暑い夏もノートラブルで稼動しています。

内向きの玄箱HG は 2.5inch の HDD で動かしていましたが、しばらく前に調子が悪くなって今は電源を入れていません。SSD が安くなってきたので、内向きの玄箱HG に内蔵させ復活させたいと思います。

SSD は Kingston の 30GB、インターフェース変換は、玄人志向 の KURO-SATA を使いました。うまくねじ穴が合わず、SSD は浮いた状態です。ただ、玄箱の IDE ケーブルは硬すぎる位なのでちょっとした振動でずれることはないようです。



さて、Fedora は、いろいろやってみよう、何とかやってみよう!(http://iroironantoka.jp/)のサイトから落とそうと思いましたが、サイトに行くとなぜか Magic3 のインストールページが開きます。

google のキャッシュからたどるとファイル自体は存在するようです。キャッシュを見ると 11/17 までは大丈夫のようです。ファイルへのリンクを書いておきます。



インストーラ(Fedora Easy Installer)

http://iroironantoka.jp/shizai/EFI100.zip



hda1イメージ(玄箱用)

http://iroironantoka.jp/shizai/kurohd_hda1_20090801-2.tar.gz



hda1イメージ(玄箱HG用)

http://iroironantoka.jp/shizai/kurohg_hda1_20090801-2.tar.gz



F11用:hda3イメージ(玄箱/玄箱HG共通) 

http://iroironantoka.jp/shizai/kuro_f11_images_20091006.tar.gz



F12用:hda3イメージ(玄箱/玄箱HG共通)(new! 2010/2/3) 

http://iroironantoka.jp/shizai/kuro_f12_images_20100128.tar.gz



インストール手順については、インストーラに同梱されている『Readme.txt』にわかりやすく書いてあります。

なお、ウィルス関連のプログラムが動いているとファイヤーウォールで許可を出しても玄箱を認識しませんでした。

ウィルス関連のプログラムをとめて無事にインストールできました。



12/05 追記

いろいろやってみよう、何とかやってみよう!のサイトが閉鎖したようです。お世話になりました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(6)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月10日(月) 00:06

Fedora9 にした後の設定

シリアルコンソールが使えないのはどうやら agetty が動いてないからのようです。
upstart は/etc/event.d 以下をみているようなので、/etc/event.d/ttyS0 を作成してみました。
tty1 をコピーして、tty1 を ttyS0 に変更し、最後の行も /bin/agetty 57600 ttyS0 にしてみたところ、シリアルコンソールにログインプロンプトが出るようになりました。

セカンドサーバにする予定なので NetworkManager が動いていると勝手にネットワークの設定をしてしまうので、停止しました。
ntsysv コマンドを使用して起動時に NetworkManager が動かないように登録を解除しました。
ただ、そのままだと DNS が使えなくなるので /etc/resolv.conf を修正しました。
domain xxx.yyy.jp
nameserver www.xxx.yyy.zzz

ジャンボフレームを使うように MTU の設定を /etc/sysconfig/network-scripts/ifcfg-eth0 に追加しました。


インストールしているパッケージのアップデートをしておきます。
yum -y update

セカンド DNS サーバとしたいので bind をインストール。設定ファイルはメインのサーバからコピーして必要箇所を修正。

Samba をインストールしましたがユーザの設定がうまくいかなかったので、swat からユーザを追加しました。

swat の有効化は、/etc/xinetd.d/swat を以下のように修正しました。
service swat
{
    port = 901
    socket_type = stream
    wait = no
    only_from = 127.0.0.1
    only_from = 192.168.1.0 ← 追加(内部ネットワークアドレス)
    user = root
    server = /usr/sbin/swat
    log_on_failure += USERID
    disable = yes
    ↓
    disable = no ← noへ変更
}
これで http://サーバ:901/ で swat のページが開けます。

あと、kernel のコンパイルで menuconfig が使えるように ncurses を入れました。

システムのバックアップを rsync を利用して USB でつなげた HDD にとりますが、バックアップ時以外はスタンバイするように sdparm をインストールしました。
起動時にすぐスタンバイするように sdparm --command=stop /dev/sda を /etc/init.d/rc.local に追加しました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(1)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月8日(土) 21:19

Fedora9化成功

Fedora9 にしたものの、Fedora8 パッケージが一部残ってしまったので今度は FC7 から Fedora9 にしてみました。掲示板等で Fedora9 でうまく動かないというのはカーネルのバージョンのためでしょうか、カーネル 2.6.25.19 にした状態でアップグレードしています。
FC7 は インストールキットでインストールし、yum を動くものに変えた後、rpm と python、perl を FC7 の最新にした状態です。

念のため、rpm のデータベースを再構築。
# rpm --rebuilddb

リリースをダウンロードしてインストール。

# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-9-2.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
# rpm -Fvh fedora-release-9-2.noarch.rpm fedora-release-notes-9.0.0-1.noarch.rpm
rpm とyum を Fedora9 のパッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

再度rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade
今度はエラーなく終わりました。

続いて Base システムのアップグレード
# yum groupupdate Base
再起動。
# reboot

…。やはりシリアルコンソールにログインプロンプトが出ません。ssh で作業。

パッケージのチェック
# package-cleanup --orphans
古いカーネルパッケージを削除。

rpm のデータベースを再構築して開発環境のインストール。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
# yum groupinstall "Development Tools"

Fedora9 になったので、当分の間、玄箱/HG も現役で使えそうです。
この Fedora9 でいろいろ設定していきたいと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(2)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月3日(月) 10:43

Fedora9 が動いた?

うまく Fedora8 にできたので今度は Fedora9 にしてみました。
init プロセスが upstart に変更になって玄箱でうまく動かなくなったという話を聞くし、Fedora9 で動いているという話も聞かないので失敗する可能性が高いのですが、自分で確かめてみないと分かりません。
Fedora8 で最新の状態にしてから挑戦してみました。まず、リリースをアップデートします。
なお、シリアルコンソールから作業しています。

念のため、rpm のデータベースを再構築。
# rpm --rebuilddb

リリースをダウンロードしてインストール。
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-9-2.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
# rpm -Fvh fedora-release-9-2.noarch.rpm fedora-release-notes-9.0.0-1.noarch.rpm
rpm とyum を Fedora9 のパッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

再度rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade
ここでエラーになってしまいました。Fedora8 で最新にしていたので、Fedora9 のパッケージのほうが古く、不整合を起こしてしまったようです。

そこで、リリースを新しいものにしてみました。
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/updates/9/ppc64.newkey/fedora-release-9-5.transition.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/updates/9/ppc64.newkey/fedora-release-notes-9.0.2-1.noarch.rpm
# rpm -Fvh fedora-release-9-5.transition.noarch.rpm fedora-release-notes-9.0.2-1.noarch.rpm

再度rpm とyum を Fedora9 の最新パッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade

うまくいきました。続いて Base システムのアップグレード
# yum groupupdate Base
再起動。
# reboot

どきどき。

起動したようだけどログインプロンプトが出ません。
???
ssh でログイン。
できました。??

ここからは ssh で作業しました。
パッケージのチェック
# package-cleanup --orphans
hal-info-20080607-2.fc8.noarch
ntfsprogs-1.13.1-8.fc8.ppc
kernel-2.6.26.5-28.fc8.ppc
のパッケージが検出されました。hal-info-20080607-2.fc8.noarch や ntfsprogs-1.13.1-8.fc8.ppc を削除しようとすると、Fedora9 のパッケージまで削除しようとするので kernel-2.6.26.5-28.fc8.ppc だけ削除しました。
# yum remove kernel-2.6.26.5-28.fc8.ppc

パッケージの二重チェック
# package-cleanup --dupes
二重になっているパッケージは無し

rpm のデータベースを再構築して開発環境のインストール。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
# yum groupinstall "Development Tools"

シリアルコンソールからログインできませんが、どうやら Fedora9 になったようです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月1日(土) 13:43

Kernel-2.6.25.19 をコンパイルしてみる

玄箱/HG を Fedora8 にできたので今度はカーネルのコンパイルをして見ます。
一応、gcc とかは最新の状態になっているはずなので、玄箱のパッチのある最新のソースということで、2.6.25.19 をコンパイルしました。

まず、ソースとパッチを取得します。
玄箱用のパッチを公開してくれている人に感謝です。場所はここです。

# wget http://www.genbako.com/kurobox-sources-2.6.25.patch
# wget http://www.genbako.com/kurobox-section-mismatch2625.patch
カーネルソースは ring サーバから取得しました。
# wget http://www.t.ring.gr.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.25.19.tar.gz

ソースを展開してパッチを当てます。
# tar xvfz linux-2.6.25.19.tar.gz
# cd linux-2.6.25.19
# patch -Np1 <../kurobox-section-mismatch2625.patch
# patch -Np1 <../kurobox-sources-2.6.25.patch

コンフィグレーションを行います。
# cp config_kuroboxhg .config
# export ARCH=ppc
# make oldconfig

環境変数 ARCH を設定しないとうまくいきません。
カーネルの作成。
# make vmlinux

できたカーネルを hda1 のブートへコピーします。hda1 は /mnt/hda1 へマウントしました。
# mount /dev/hda1 /mnt/hda1
# objcopy -O binary vmlinux /mnt/hda1/boot/vmlinux-2.6.25-kuroboxHG
# cp System.map /mnt/hda1/boot/System.map-2.6.25-kuroboxHG

モジュールのコンパイルとインストール。
# make modules
# make modules_install

起動時に新しいカーネルを選択できるようにブートメニューに追加します。

# vi /mnt/hda1/etc/kuro_boot.conf

3 番目のメニューに追加しました。
# Menu entry No.3
#
menu3="Fedora8(kernel 2.6.25.19)"
loader3=/boot/loader_hg.o
kernel3=/boot/vmlinux-2.6.25-kuroboxHG
option3='cmdline="root=/dev/hda3"'

再起動して 3 番目から起動して動きました。
kuro_boot.conf を書き換えてデフォルトで 3 番目から起動できるようにしました。

うーーん、これで一通り環境はできたから後はサーバーとして dhcp や dns を動かせばいいのですが、Fedora9 にしたい。
ところが、Fedora9 から init プロセスが upstart に変わったのでうまく動かないらしい。どうするか。思案中です。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年10月30日(木) 23:23

Fedora8 化成功!

rpm のデータベースを再構築して yum が動くようになったので Fedora8 化へ再挑戦してみる。
できる!玄箱 Fedora化!!(F-7対応) の掲示板の【316】 re(2):Fedora8化のなおき氏の手順を参考にしました。
念のため、ところどころで rpm のデータベースの再構築をしました。

# rpm --rebuilddb
Fedora8 の rpm を持ってきてインストール。
# wget http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm
# wget http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm

# rpm -Fvh fedora-release-8-3.noarch.rpm fedora-release-notes-8.0.0-3.noarch.rpm
yum をクリアして
# yum clean all
rpm と yum を Fedora8 のものにアップデート。
# yum -y update rpm\* yum\*
リリースがアップデートされているようなのでリリースもアップデート。
# yum -y update fedora-release
念のため rpm のデータベースを再構築。
# rpm --rebuilddb
rpm と yum を再度アップデート。
# yum -y update rpm\* yum\*
念のため rpm のデータベースを再構築。
# rpm --rebuilddb
パッケージのアップデート。
# yum -y upgrade

Base Groupをアップデートして再起動
# yum -y groupupdate Base
# reboot

Fedora8 になって公式から消えた rpm を調べる。

# yum install yum-utils
# package-cleanup --orphans
古い(FC7の)カーネルがでてきたのでこれを削除。
# yum -y remove kernel-2.6.23.17-88.fc7.ppc

rpmデータベースの依存関係のチェックする。
# package-cleanup --problems
さらにパッケージが二重になっているかを調べる。
# package-cleanup --dupes
二重になっているパッケージは無し。

rpm のデータベースを再構築。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
開発環境をインストール。
# yum groupinstall "Development Tools"

以上、うまくいきました。
次はカーネルのコンパイルをしたいと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ | 次のページ >>

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨