Armadillo-IoTには有線LAN、無線LANや3Gが搭載されており、ルーターとしても使用できます。ルーターにはIPマスカレード、DHCPサーバー、DNSサーバー等の機能が必要になります。
ここでは、DNSキャッシュサーバーとDHCPサーバーとして利用できるdnsmasqをインストールする方法を紹介します。
環境
- Linuxカーネル: linux-2.6.26-at24
- Atmark Dist: atmark-dist-20150424
- ATDE: atde5-amd64-20150428
依存ライブラリのインストール
dnsmasqを使用するには、以下のライブラリが不足しています。そのため必要なライブラリをATDEにインストール、またはユーザーランドイメージに直接追加します。
以下のコマンドを実行して必要なdebianパッケージをダウンロードしてください。
[atde]$ wget http://ftp.jp.debian.org/debian/pool/main/libn/libnfnetlink/libnfnetlink0_1.0.0-1_armel.deb [atde]$ wget http://ftp.jp.debian.org/debian/pool/main/libn/libnetfilter-conntrack/libnetfilter-conntrack3_1.0.1-1_armel.deb
以下のコマンドを実行して、ダウンロードしたふぁいるをクロスライブラリに変換後、ATDEにインストールしてください。
[atde]$ dpkg-cross -b -a armel libnfnetlink0_1.0.0-1_armel.deb [atde]$ dpkg-cross -b -a armel -M libnetfilter-conntrack3_1.0.1-1_armel.deb [atde]$ sudo dpkg -i libnfnetlink0-armel-cross_1.0.0-1_all.deb [atde]$ sudo dpkg -i libnetfilter-conntrack3-armel-cross_1.0.1-1_all.deb
dnsmasqのインストール
dnsmasqのdebianパッケージをダウンロードし、インストールします。
以下のコマンドを実行し、dnsmasqパッケージをダウンロードしてください。
[atde]$ wget http://security.debian.org/debian-security/pool/updates/main/d/dnsmasq/dnsmasq_2.62-3+deb7u3_all.deb [atde]$ wget http://security.debian.org/debian-security/pool/updates/main/d/dnsmasq/dnsmasq-base_2.62-3+deb7u3_armel.deb
以下のコマンドを実行し、パッケージを展開してください。
[atde]$ dpkg -x dnsmasq_2.62-3+deb7u3_all.deb . [atde]$ dpkg -x dnsmasq-base_2.62-3+deb7u3_armel.deb .
以下のコマンドを実行し、不要なファイルを削除した後、dnsmasqをAtmark Distにコピーシてください。
[atde]$ rm -rf usr/share/doc usr/share/man [atde]$ for d in usr etc lib var; do cp -a $d $HOME/atmark-dist/romfs; done
dnsmasqの起動スクリプトを修正
atmark-dist/romfs/etc/init.d/dnsmasqを以下のように修正し、dnsmasqを起動するユーザー名とグループ名を変更します。
(省略) DNSMASQ_USER="root" # ← この行を追加 if [ ! "$DNSMASQ_USER" ]; then DNSMASQ_USER="dnsmasq" fi (省略) # /var/run may be volatile, so we need to ensure that # /var/run/dnsmasq exists here as well as in postinst if [ ! -d /var/run/dnsmasq ]; then mkdir /var/run/dnsmasq || return 2 chown root:root /var/run/dnsmasq || return 2 # ← この行を修正 fi (省略)
ユーザーランドイメージの作成
ここまでの手順で必要なファイルをromfsに追加しましたので、dnsmasq実行に必要なライブラリをユーザーランドイメージに追加するために、以下のコマンドを実行してください。
[atde]$ make romfs
以下のコマンドを実行し、romfsに配置されたディレクトリ、ファイルを元にユーザーランドイメージを作成してください。
[atde]$ make image
上記で作成したユーザーランドイメージをArmadilloに書き込んでください。
dnsmasqの起動
dnsmasqを起動する場合は、Armadillo上で以下のコマンドを実行します。
[armadillo]# /etc/init.d/dnsmasq start