「AstLinux CF-i586」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(1ページの量が巨大になるため、取り消し→別ページにて新規作成)
(Astlinux_空き容量有効活用 のページを新規作成)
49行目: 49行目:
 
[[Microclient JR]]を使用する場合には、CFスロットがプライマリ・スレーブなのでメニューの一番下を使って起動してください。CFブートでUSBキーディスクを使う場合には他の例にならって変更を行ってください。<br>
 
[[Microclient JR]]を使用する場合には、CFスロットがプライマリ・スレーブなのでメニューの一番下を使って起動してください。CFブートでUSBキーディスクを使う場合には他の例にならって変更を行ってください。<br>
 
なおMicroclient JRにコンソールをつけないで起動する場合には、予め他のマシンでCFをマウントしboot/grub/grub.confを編集しておきましょう。
 
なおMicroclient JRにコンソールをつけないで起動する場合には、予め他のマシンでCFをマウントしboot/grub/grub.confを編集しておきましょう。
 +
==空き部分の活用==
 +
TFTPサーバーなどの目的で使う場合、初期状態では容量不足ぎみとなります。<BR>
 +
CFで使われていない空きパーティションを利用することが可能です。<BR>
 +
詳細は、[[Astlinux_空き容量有効活用]] を参照ください。
  
 
英語版astlinuxが使用する(CFカードの)ディスクスペースは64MB。<BR>
 
AstLinux日本語版イメージは270MB弱。1GBのコンパクトフラッシュを使った場合、残った700MB以上の空きスペースは無駄になってしまうので、別パーティションを作ります。<BR>
 
今回使ったのはメルコ128MBコンパクトフラッシュ [http://buffalo.jp/products/catalog/item/r/rcf-x/ RCF-X128MY] です。(OSは英語版astlinux)
 
 
==FDISK==
 
==FDISK==
 
fdisk /dev/hda と入力
 
fdisk /dev/hda と入力

2008年5月24日 (土) 16:31時点における版

AstLinux日本語版イメージ公開中
Microclient JRを次世代(!?)のAsteriskスタンダード・アプライアンスにする目論見からAstLinuxのi586版、CFイメージを公開します。

  • 日本語化済みで、ひかり電話RT-200NEパッチ適用済みです。
  • Asterisk サンプル設定ファイルの1.4系が入っています。1.2向けに若干の調整を行ってあります。
  • Webインタフェースも日本語化されています。
  • タイムゾーン設定がデフォルトでJSTです。

ダウンロード

以下からダウンロードできます(2007/08/09注記:/etc/asteriskへのシンボリックリンク修正版)。

  • gzip版

ftp://ftp.voip-info.jp/astlinux/i586/cf-image/astlinux-070808ja-256.img.gz

  • zip版

ftp://ftp.voip-info.jp/astlinux/i586/cf-image/astlinux-070808ja-256.zip

インストール

guzip等で.imgファイルを解凍します。Windowsの場合にはZIPフォルダから中身を展開しておいてください。解凍したならばCFカードにイメージを書き込みます。この際、256MB以上のCFを用意してください。本体サイズが256MBのパーティションになります。Linuxマシンでなら以下のようにddで簡単に書き込めます。

dd if=astlinux-070629ja.img of=/dev/sdc bs=1k

(バージョン番号は適切に読み替えてください)
Windowsマシンで書き込みたい場合には、シリコンリナックス(株)さんの、DDforWindowsが使えます。ファイル選択時には『全てのファイル』にして.imgファイルを指定してください。書き込み先のサイズより小さい、という警告は無視してかまいません。

ブートローダ込みなので、デバイスはディスクそのものです。書き込み先に指定するのはパーティションではありません。上の例ではCFライタに挿したCFが/dev/sdcの場合です。

ブート

ブートのgrubメニューは以下のようになっています。不必要なところはコメントアウトしてください。

default saved
timeout 3

title AstLinux (Boot from IDE CF, USB KeyDisk)
      root (hd0,0)
      kernel /boot/bzImage root=/dev/hda1 astlinux=i586 astkd=/dev/sda1 ide=no

title AstLinux (Boot from USB, IDE CF/HD KeyDisk)
      root (hd0,0)
      kernel /boot/bzImage root=/dev/sda1 astlinux=i586 astkd=/dev/hda1 ide=no

title AstLinux (Boot from USB, Use third partition for KeyDisk)
       root (hd0,0)
       kernel /boot/bzImage root=/dev/sda1 astlinux=i586 astkd=/dev/sda3 ide=n

title AstLinux (Boot from IDE CF, IDE CF/HD KeyDisk - secondary master)
      root (hd0,0)
      kernel /boot/bzImage root=/dev/hda1 astlinux=i586 astkd=/dev/hdc1 ide=no

title AstLinux (Boot from IDE CF, Use third partition for KeyDisk)
       root (hd0,0)
       kernel /boot/bzImage root=/dev/hda1 astlinux=i586 astkd=/dev/hda3 ide=n

title AstLinux (Boot from Pri-Slv.IDE CF, Use third partition for KeyDisk)
       root (hd0,0)
       kernel /boot/bzImage root=/dev/hdb1 astlinux=i586 astkd=/dev/hdb3 ide=no

Microclient JRを使用する場合には、CFスロットがプライマリ・スレーブなのでメニューの一番下を使って起動してください。CFブートでUSBキーディスクを使う場合には他の例にならって変更を行ってください。
なおMicroclient JRにコンソールをつけないで起動する場合には、予め他のマシンでCFをマウントしboot/grub/grub.confを編集しておきましょう。

空き部分の活用

TFTPサーバーなどの目的で使う場合、初期状態では容量不足ぎみとなります。
CFで使われていない空きパーティションを利用することが可能です。
詳細は、Astlinux_空き容量有効活用 を参照ください。

FDISK

fdisk /dev/hda と入力

fdisk /dev/hda
Forneus kd # fdisk /dev/hda

Command (m for help):

"n"(Newの略)を入力します。
command actionを聞かれたらpを入力します。

Command (m for help): n

 command action
   e   extended
   p primary partition(1-4)

次にパーティションナンバーを入力します。2と入力。

Partition number (1-4):

次はそのままデフォルト値で良いでしょう。そのままエンター

First cylinder (131-250, default 131):

次はサイズを聞かます。そのままエンター

Last cylinder or +size or +sizeM or +sizeK (131-250, default 250):
Using default value 250

Command (m for help):

pを入力し、現在の状況を確認します。

Command (m for help): p

Disk /dev/hda: 129 MB, 129024000 bytes
16 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *           1         130       65488+  83  Linux
/dev/hda2             131         250       60480   83  Linux

wを入力し、ディスクに書き込みます。
Syncing disks.と出たら成功。再起動するとFDISKでの変更が有効になります。

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

大雑把なfdiskのLOG

Forneus kd # fdisk /dev/hda

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (131-250, default 131):
Using default value 131
Last cylinder or +size or +sizeM or +sizeK (131-250, default 250):
Using default value 250

Command (m for help): p

Disk /dev/hda: 129 MB, 129024000 bytes
16 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *           1         130       65488+  83  Linux
/dev/hda2             131         250       60480   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

初期化

次は未使用個所を初期化します。
再起動後、mke2fs -c /dev/hda2と入力します。
個体差はありますが、1,2分程度で終了するでしょう。

Forneus ~ # mke2fs -c /dev/hda2
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
15168 inodes, 60480 blocks
3024 blocks (5.00%) reserved for the super user
First data block=1
8 block groups
8192 blocks per group, 8192 fragments per group
1896 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345 

Running command: badblocks -b 1024 -s /dev/hda2 60480
sh: badblocks: command not found
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Forneus ~ #

マウント(テスト)

実際にマウントさせてみます。

Forneus mnt # mount /dev/hda2 /mnt/opt/

次に、dfと入力し、ディスクの容量を見てみます。
末尾に/dev/hda2が表示され、ディスク容量などが正しく表示されていれば、成功となります。

Forneus mnt # df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda1                63413     52768     10645  83% /
none                       200         0       200   0% /dev
none                      5000       116      4884   2% /var
none                     10000       500      9500   5% /tmp
/dev/sda1                63413     52737     10676  83% /mnt/kd
/dev/hda2                58557        13     55520   0% /mnt/opt

起動時の自動マウント

再起動する度に手動でマウントさせる訳には行かないので、
適切なディレクトリに自動マウントさせます。

設定変更

/etc/rcを変更します。

Forneus / # mount -o rw,remount /
Forneus / # vi /etc/rc

/etc/rcというファイルは、Astlinux起動時のファイル操作スクリプトになっていますので、
このファイルに手を加えます。

変更前

/etc/rcの110~120行目あたりに、下記のような個所がありますので、
ここにマウントコマンドを一行追加します。 追加が終わったら、Astlinuxを再起動させます。

(略)
mount -t tmpfs -o size=200k none /dev
mount -t tmpfs -o size=5000k none /var
mount -t tmpfs -o size=10000k none /tmp
mkdir /dev/pts
mount -t devpts none /dev/pts
mount -t sysfs none /sys
mount -t usbfs usbfs /proc/bus/usb
mkdir /tmp/etc

echo "$ROOTDEV /             ext2    ro              0       0
proc    /proc           proc    defaults        0       0
none    /dev            tmpfs   size=200k       0       0
none    /tmp            tmpfs   size=10000k     0       0
none    /var            tmpfs   size=5000k      0       0
none    /proc/bus/usb   usbfs   defaults        0       0
" > /tmp/etc/fstab

if [ -d /stat/dev ]
(略)

変更後

(略)
mount -t tmpfs -o size=200k none /dev
mount -t tmpfs -o size=5000k none /var
mount -t tmpfs -o size=10000k none /tmp
mkdir /dev/pts
mount -t devpts none /dev/pts
mount -t sysfs none /sys
mount -t usbfs usbfs /proc/bus/usb
mount /stat/dev/hda2 /mnt/hda2          ←ここに追加
mkdir /tmp/etc

echo "$ROOTDEV /             ext2    ro              0       0
proc    /proc           proc    defaults        0       0
none    /dev            tmpfs   size=200k       0       0
none    /tmp            tmpfs   size=10000k     0       0
none    /var            tmpfs   size=5000k      0       0
none    /proc/bus/usb   usbfs   defaults        0       0
" > /tmp/etc/fstab

if [ -d /stat/dev ]
(略)

再起動後の確認

再起動後、dfと打ってみて、変更が反映されている事(/stat/dev/hda2で始まる行がある事)
を確認したら作業終了となります。

Forneus ~ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda1                63413     52769     10644  83% /
none                       200         0       200   0% /dev
none                      5000       116      4884   2% /var
none                     10000       500      9500   5% /tmp
/stat/dev/hda2           58557        13     55520   0% /mnt/hda2
/dev/sda1                63413     52737     10676  83% /mnt/kd
Forneus ~ #

AstLinuxはNTPサーバーの機能を持っています。

設定変更

NTPサーバーの設定はrc.confの中に記述されています。
/etc/ntp.confを直接変更しても、再起動の時に中身が消えてしまいます。

vi /stat/rc.conf   ←標準でインストールした場合
vi /mnt/kd/rc.conf  ←/mnt/kd/以下にファイルを置いた場合

下記のように設定を変更します。(us.pool.ntp.orgを無効化)

##Master NTP server. This is the NTP server that AstLinux will sync against
##upon bootup. It is also the server that the running ntpd process will use
##to maintain that time sync.
NTPSERV="us.pool.ntp.org"     ←外国サーバーなのでコメント行にします。
#NTPSERV="europe.pool.ntp.org"
#NTPSERV="north-america.pool.ntp.org"
#NTPSERV="south-america.pool.ntp.org"
#NTPSERV="asia.pool.ntp.org"
#NTPSERV="oceania.pool.ntp.org"
#NTPSERV="africa.pool.ntp.org"

##If you would like to specify several servers to be used at the same time,
##you can specify them in NTPSERVS seperated by spaces.
#NTPSERVS="ntp1.cs.wisc.edu us.pool.ntp.org"

NTPサーバーのIPアドレスを追加します。
NICTが提供しているNTPサーバーのIPを入力します。
設定を変更したら、Astlinuxを再起動します。

##Master NTP server. This is the NTP server that AstLinux will sync against
##upon bootup. It is also the server that the running ntpd process will use
##to maintain that time sync.
#NTPSERV="us.pool.ntp.org"
#NTPSERV="europe.pool.ntp.org"
#NTPSERV="north-america.pool.ntp.org"
#NTPSERV="south-america.pool.ntp.org"
#NTPSERV="asia.pool.ntp.org"
#NTPSERV="oceania.pool.ntp.org"
#NTPSERV="africa.pool.ntp.org"

##If you would like to specify several servers to be used at the same time,
##you can specify them in NTPSERVS seperated by spaces.
#NTPSERVS="ntp1.cs.wisc.edu us.pool.ntp.org"
NTPSERVS="133.243.238.243 133.243.238.244"  ←ここの行を追加

動作確認

再起動後、さきほど変更したrc.confの中身が
/etc/ntp.confに反映されている事を確認します。

pbx ~ # cat /etc/ntpd.conf
listen on 0.0.0.0
server 133.243.238.243
server 133.243.238.244

ntpdが動いていたら、動作確認のためにntpdを一旦止めてしまいます。

pbx ~ # ps ax |grep ntp
1135 ?        S      0:00 /usr/sbin/mDNSProxyResponderPosix 192.168.0.6 pbx AstLinux PBX _ntp._udp 123
1167 ?        S      0:00 ntpd
1168 ?        S      0:00 ntpd
1170 pts/0    S+     0:00 grep ntp

pbx ~ # kill 1167

ntpdをデバッグモードで動かしてみて、時刻の同期が取れていることを確認します。

pbx ~ #  ntpd -d
listening on 0.0.0.0
ntp engine ready
reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s
reply from 133.243.238.243: offset 15.009712 delay 1.038980, next query 8s
reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s
reply from 133.243.238.243: offset 15.009712 delay 1.038980, next query 8s
reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s
reply from 133.243.238.243: offset 15.008712 delay 1.038980, next query 8s
(略)

peer 133.243.238.244 now valid
peer 133.243.238.244 now valid
(略)

adjusting local clock by 14.498614s ←この行が出たらOK

ちなみにntpdを止め忘れていると、エラーになります。

pbx ~ #  ntpd -d
listening on 0.0.0.0
fatal: bind: Address already in use
dispatch_imsg in main: pipe closed
Terminating
pbx ~ # ps ax

注意点

時間のずれが大きすぎると、ntpdは時計の修正を諦めてしまうので
BIOSの画面で時計を合わせておく必要があります。
なお、NTPサーバーとして動くようになるまで1時間近くかかる場合があります。

Cisco IP電話機を使う

AstLinuxにはあらかじめchan_sccpが入っているので、
SCCPドライバを用意する必要がありません。

pbx ~ # mount -o rw,remount /
pbx ~ # vi /stat/etc/asterisk/sccp.conf

という具合に/stat/etc/asterisk/以下にsccp.confを新規作成します。
sccp.confを作成したら、Astlinuxまるごと再起動するか、
下記の手順でファイルを読みこむようにします。

pbx # cp /stat/etc/asterisk/sccp.conf /etc/asterisk/sccp.conf 
pbx # asterisk -vvvvvvvvvvvvvvvvvvvvr
pbx*CLI> unload chan_sccp.so
pbx*CLI> load chan_sccp.so

SEP<MACアドレス>.cnf.xmlの編集も忘れないようにしましょう。
設定が正しければ、Cisco電話機が動くようになります。

Nortel IP電話機を使う

Nortel i2002を参照ください