2015年9月19日土曜日

パソコンで OpenWrt

今日はいつもと違って、無線 LAN ルータではなく、パソコンへ OpenWrt Barrier Breaker 14.07 をインストールしてみました。

OpenWrt Barrier Breaker 14.07 が動作中の ThinkPad A20m です。

OpenWrt には、一般的な Windows がインストールされていたパソコン向けの無線LANルータ・システム?(ファームウェアではないと思います)が X86 用として公開されています。この X86 用のシステムをパソコンへインストールを試みてみました。

パソコンは、先日分解掃除をしたばかりの ThinkPad A20m (2628-11J) を使用しました。Coppermine の Celeron 500MHz を搭載しており、メモリは 512MB を装備したものです。すでに Puppy Linux 5.7.1 JP をインストールしています。動作速度的には、インターネット・ブラウザに Opera を使用した場合はそこそこ動作しますが、Firefox を使用するとページの移行に待たされる状況のマシンです。

OpenWrt のインストール方法の選択

OpenWrt のインストールは、通常はハードディスクのイメージ・データを dd コマンドによってハードディスクの先頭部分から書き込んでしまう方法が簡単な方法です。パソコンを OpenWrt でしか使用しない場合にはこの方法が一番確実です。

使用するイメージデータの例
openwrt-x86-generic-combined-ext4.img.gz
http://downloads.openwrt.org/barrier_breaker/14.07/x86/generic/openwrt-x86-generic-combined-ext4.img.gz

しかし今回は、OpenWrt の動作検証のためにパソコンへインストールすることから、通常の Linux システムを追加でインストールする形式でインストールすることとしました。

使用したファイルは次のものです。
openwrt-x86-generic-Generic-rootfs.tar.gz
http://downloads.openwrt.org/barrier_breaker/14.07/x86/generic/openwrt-x86-generic-Generic-rootfs.tar.gz

openwrt-x86-generic-vmlinuz
http://downloads.openwrt.org/barrier_breaker/14.07/x86/generic/openwrt-x86-generic-vmlinuz

OpenWrt のインストール作業

この Puppy Linux 5.7.1 JP をインストールしてある領域(パーティション)の後ろに OpenWrt 用の領域を Ext4 形式で 1GB を確保しました。そこへ OpenWrt をインストールしました。なおシステムの切換は、起動時に Grub4dos によって切換を行います。
  • sda1 - Puppy Linux 5.7.1 JP
  • sda2 - Swap
  • sda3 - OpenWrt (Ext4, 1GB)

OpenWrt のファイルのダウンロードやインストールは、Puppy Linux 上で行いました。
上記の二種類のファイルを /dev/sda3 へコピーします。
# cp openwrt-x86-generic-Generic-rootfs.tar.gz /mnt/sda3/.
# cp openwrt-x86-generic-vmlinuz /mnt/sda3/.

次にルートファイル・システムを展開します。
# cd /mnt/sda3
# tar zxvf openwrt-x86-generic-Generic-rootfs.tar.gz

以上で OpenWrt のインストールは終了です。

Grub4Dos の設定

この後、起動時の選択のために Grub4Dos の設定を行います。
sda1 のアイコンをクリックしてマウントします。この中に Grub4Dos のメニューファイルの menu.lst が存在します。この menu.lstに以下の OpenWrt の起動メニューを追加して保存します。
title OpenWrt
  root (hd0,2)
  kernel /openwrt-x86-generic-vmlinuz root=/dev/sda3 rootfstype=ext4 rootwait console=tty0 console=ttyS0,38400n8 noinitrd

title OpenWrt (failsafe)
  root (hd0,2)
  kernel /openwrt-x86-generic-vmlinuz failsafe=true root=/dev/sda3 rootfstype=ext4 rootwait console=tty0 console=ttyS0,38400n8 noinitrd

パソコンを再起動させて、Grub4Dos の選択画面で OpenWrt を選択して起動させます。

Grub4Dos で OpenWrt を選択して起動させます。

無事起動することが出来れば、インストール成功です。

パソコンの画面上に起動ログが表示されます。
ログの更新が終わったところで、リターンキーを押すと、OpenWrt のログオン画面となります。

X86 用 OpenWrt の設定

インストールした直後の OpenWrt はパソコンに備え付けられたイーサネット・ポートで LAN 接続が出来るのが精一杯の状態です。無線 LAN ルータ用のファームウェアの場合には、無線 LAN チップに適応したドライバなどもインストール済みのため、直ぐに無線 LAN 設定ができます。しかし X86 用は取り付ける無線 LAN アダプタに応じたドライバをインストールする必要がありました。それどころか、かなりシステム的なソフトウェアやカーネル・モジュールを追加でインストールする必要もありました。

まず最初にすることは、OpenWrt の IP アドレスの設定からです。初期設定は 192.168.1.1 です。他のパソコンから無線LANルータにアクセスするときと同様の手順で OpenWrt の設定画面の LuCi へアクセスします。ユーザ名:root、パスワード:admin です。
私の場合には、家庭内の LAN に接続するために OpenWrt をインストールしたパソコンのキーボードを使って /etc/config/network を編集して、所定の IP アドレスへ変更しました。

OpenWrt の概要の画面です。
モデル名が i686 となっていました!
そしてメモリも無線LANルータとしては広大な 512MB です。


そして無線 LAN アダプタに 2.4GHz と 5GHz の両方に対応した アイオーデータの WN-AG/CB を使用しました。大きなツノ型のアンテナを用意出来ないため、内蔵アンテナの大きな無線 LAN アダプタを選択してみました。なおこの無線 LAN アダプタのドライバは ath5k です。

今回は アイオーデータ WM-AG/CB を使用しました。

この後のインストール作業は OpenWrt の設定画面の LuCi の [system]-[Software] 上で行いました。操作方法は、他の OpenWrt の操作と全く一緒です。

PC カードの制御関係に必要なモジュールのインストール
  • kmod-pcmcia-core
  • kmod-pcmcia-rsrc
  • kmod-pcmcia-yenta

無線LANの秘匿通信の wpa supplicant を制御する WPAD をインストール
  • wpad

lspci コマンドなどのツール
  • pciutils

無線 LAN アダプタの ath5k ドライバ・モジュール
  • kmod-ath5k

以上をインストールした後、再起動させると [Network]-[Wifi] のタブが出現して、無線LAN部分の設定が行えるようになります。

11a モードの 44ch, WPA-AES で動作確認をしてみました。

注意

無線 LAN アダプタを交換するときには、無線 LAN 設定ファイル /etc/config/wireless を削除して、新しい無線LANアダプタを認識させるようにしてください。

感想

設定の終わったパソコンの OpenWrt を数時間に亘って運用してみましたが、普通の無線 LAN ルータへインストールした OpenWrt と同様に安定して動作していました。

このパソコンの OpenWrt は、十分すぎるシステムメモリ と フラッシュメモリに当たるハードディスクの容量を気にすることなくソフトウェアの追加が出来る点が気に入りました!

Mini-PCI カードで上手く動作しないものなどをこのパソコンベースの OpenWrt へ装着して、動作確認をすることもできそうです。便利なツールを手に入れた感じがします。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。