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

提供: VoIP-Info.jp
移動先: 案内検索
(余りスペースを活用する for Astlinux)
(1ページの量が巨大になるため、取り消し→別ページにて新規作成)
50行目: 50行目:
 
なおMicroclient JRにコンソールをつけないで起動する場合には、予め他のマシンでCFをマウントしboot/grub/grub.confを編集しておきましょう。
 
なおMicroclient JRにコンソールをつけないで起動する場合には、予め他のマシンでCFをマウントしboot/grub/grub.confを編集しておきましょう。
  
==余りスペースを活用する==
+
 
 
英語版astlinuxが使用する(CFカードの)ディスクスペースは64MB。<BR>
 
英語版astlinuxが使用する(CFカードの)ディスクスペースは64MB。<BR>
AstLinux日本語版イメージは270MB弱。残りのスペースは無駄になってしまいます。<BR>
+
AstLinux日本語版イメージは270MB弱。1GBのコンパクトフラッシュを使った場合、残った700MB以上の空きスペースは無駄になってしまうので、別パーティションを作ります。<BR>
TFTPサーバーとして使うため、別スライスを作ります。<BR>
+
今回使ったのはメルコ128MBコンパクトフラッシュ [http://buffalo.jp/products/catalog/item/r/rcf-x/ RCF-X128MY] です。(OSは英語版astlinux)
今回使ったのはメルコの128MBコンパクトフラッシュです。
+
==FDISK==
===FDISK===
 
 
fdisk /dev/hda と入力
 
fdisk /dev/hda と入力
 
  fdisk /dev/hda
 
  fdisk /dev/hda
89行目: 88行目:
 
  /dev/hda2            131        250      60480  83  Linux
 
  /dev/hda2            131        250      60480  83  Linux
 
   
 
   
wを入力し、ディスクに書き込みます。
+
wを入力し、ディスクに書き込みます。<BR>
そして再起動だ。
+
Syncing disks.と出たら成功。再起動するとFDISKでの変更が有効になります。
 
  Command (m for help): w
 
  Command (m for help): w
 
  The partition table has been altered!
 
  The partition table has been altered!
101行目: 100行目:
 
  Syncing disks.
 
  Syncing disks.
  
===大雑把なfdiskのLOG===
+
==大雑把なfdiskのLOG==
 
  Forneus kd # fdisk /dev/hda
 
  Forneus kd # fdisk /dev/hda
 
   
 
   
134行目: 133行目:
 
  The new table will be used at the next reboot.
 
  The new table will be used at the next reboot.
 
  Syncing disks.
 
  Syncing disks.
===初期化===
+
==初期化==
 +
次は未使用個所を初期化します。<BR>
 +
再起動後、mke2fs -c /dev/hda2と入力します。<BR>
 +
個体差はありますが、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と入力し、ディスクの容量を見てみます。<BR>
 +
末尾に/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
 +
==起動時の自動マウント==
 +
再起動する度に手動でマウントさせる訳には行かないので、<BR>
 +
適切なディレクトリに自動マウントさせます。
 +
==設定変更==
 +
/etc/rcを変更します。
 +
Forneus / # mount -o rw,remount /
 +
Forneus / # vi /etc/rc
 +
 
 +
/etc/rcというファイルは、Astlinux起動時のファイル操作スクリプトになっていますので、<BR>
 +
このファイルに手を加えます。
 +
===変更前===
 +
/etc/rcの110~120行目あたりに、下記のような個所がありますので、<BR>
 +
ここにマウントコマンドを一行追加します。
 +
追加が終わったら、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で始まる行がある事)<BR>
 +
を確認したら作業終了となります。
 +
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 ~ #
  
==NTPサーバー==
 
 
AstLinuxはNTPサーバーの機能を持っています。<BR>
 
AstLinuxはNTPサーバーの機能を持っています。<BR>
 
===設定変更===
 
===設定変更===

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

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を編集しておきましょう。


英語版astlinuxが使用する(CFカードの)ディスクスペースは64MB。
AstLinux日本語版イメージは270MB弱。1GBのコンパクトフラッシュを使った場合、残った700MB以上の空きスペースは無駄になってしまうので、別パーティションを作ります。
今回使ったのはメルコ128MBコンパクトフラッシュ RCF-X128MY です。(OSは英語版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を参照ください