ゼミのお話/アルマジロゼミ/Linux組み込みボードへのDebianインストール の変更点


#contents
----
*準備 [#t82c15cc]
**物品確認 [#u6d4e189]
-CF:
#ref(DSC_0211.jpg,zoom,320x160)
-図 CF:
**注意1 [#qeb1b1a5]
-赤LED点滅時には,決して,電源を切らないように
**注意2 [#xc8f9acf]
-Debianインストール後は,以下のコマンドで終了すること
--shutdown -h now

*ファイルシステムの初期化 [#c458c261]
-CF上にext2ファイルシステムを作成してDebianをコピーできる状態にします.Debianを導入するだけで350MBぐらいの容量が必要となります.
**手順 [#r841e961]
-CFをLinux組み込みボードに挿入
#ref(1279186275-picsay.jpg,zoom,320x160)
--図 Armadillo300への取り付け

-Linuxボード電源投入
-rootでログイン
-パーティション作成 (◎の行でキー入力が必要)
--◎[armadillo ~]# fdisk /dev/hda
---◎Command (m for help): d
---Selected partition 1
---◎Command (m for help): n
---Command action
---e   extended
---p   primary partition (1-4)
---◎p
---◎Partition number (1-4): 1
---◎First cylinder (1-1946, default 1): 1
---◎Last cylinder or +size or +sizeM or +sizeK (1-1946, default 1946): 1946
---◎Command (m for help): w
---The partition table has been altered!
---Calling ioctl() to re-read partition table.
---Syncing disks.
--ファイルシステムの作成
---◎[armadillo ~]# mke2fs -O -filetype /dev/hda1

*Debainのインストール [#n2d4d616]
-Debianの分割されたアーカイブファイルをArmadilloにftp転送してCFにコピーします.
**CFと転送ファイル用のramfsをマウント [#r671b875]
-[armadillo ~]# mount /dev/hda1 /mnt
-[armadillo ~]# mount -t ramfs none /home/ftp/pub
-[armadillo ~]# chmod 777 /home/ftp/pub

**ftpでアーカイブファイルを転送 [#y90d8e1d]
-[armadillo ~]# cd /mnt
-[armadillo ~]# export http_proxy="http://proxy.muroran-it.ac.jp:8080"
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/images/linux-a300-1.07.bin.gz
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/debian/debian-etch-a300-1.tgz
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/debian/debian-etch-a300-2.tgz
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/debian/debian-etch-a300-3.tgz
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/debian/debian-etch-a300-4.tgz
-[armadillo ~]# wget http://download.atmark-techno.com/armadillo-300/debian/debian-etch-a300-5.tgz

**CFにアーカイブファイルを展開 [#e6608846]
-[armadillo ~]# tar zxvf /mnt/debian-etch-a300-1.tgz -C /mnt
--debian-etch-a300-1からdebian-etch-a300-5まで繰り返し行う
-[armadillo ~]# rm -f /mnt/debian-etch-a300-?.tgz
-[armadillo ~]# mv /mnt/linux-a300-1.07.bin.gz /mnt/boot/Image.gz
-[armadillo ~]# sync

*起動設定 [#q17db4a6]
-CFにインストールしたDebianを起動するように設定
**Debian起動設定 [#b3777773]
-Linuxボードの電源を切る
-ジャンパピンの設定
--JP1:2-3
--JP2:1-2
#ref(1279191132-picsay.jpg,zoom,320x160)
---図 Armadillo300上のジャンパピンとジャンパピン番号

-Linuxボードの電源投入する
-起動確認

**旧情報 [#k8946938]
-現在,"Hermit起動モード設定"を行わなくても起動するので,必要がなければ"Hermit起動モード設定"を行わなくてよい.
***Hermit起動モード設定 [#j80d5a56]
-Linuxボードの電源を切る
-CFを抜く
-ジャンパピンの設定(工場出荷の初期状態でも可能)
--JP1:2-3
--JP2:1-2
#ref(1279191132-picsay.jpg,zoom,320x160)
---図 Armadillo300上のジャンパピンとジャンパピン番号

-Linuxボードの電源投入する
-起動パラメータでルートファイルシステムをCFに指定する
--hermit> clearenv
--hermit> setenv console-ttyAM0,115200 root=/dev/hda1 noinitrd
-Linuxボードの電源を切る
-CFを挿入する
-Linuxボードの電源投入する
-起動確認

*初期設定 [#ec474e24]
**rootでのログイン確認 [#n4f3f533]
-rootでのログインを行う.初期設定では以下のようになっている.
--ユーザ名:root
--パスワード:なし
**rootのパスワード設定 [#x3860e79]
-rootのパスワードを設定する.設定しないと,ssh等でログインができない.
--パスワード設定コマンド
---passwd
--設定パスワード
---ユーザ名:root
---パスワード:root

*ネットワーク設定 [#y7c2d0f1]
-注意事項
--Armadillo300には有線LAN,無線LANが存在する.同一セグメントで動作させる場合,以下の状態にするとネットワークの動作が保障されない.
---片方を固定IPで,もう片方をDHCPでIPを設定する.
---両方固定IPの場合に,両方にgatewayを設定する.
-デバイス名
--有線LAN:eth0
--無線LAN:ath0

**必須ソフトウェアのインストール [#a8a07e51]
-無線LAN設定のためのソフトウェア
--wlanconfig
--iwconfig
-は初期状態ではインストールされていない.また,ネットワーク経由でArmadillo300にインストールするためのソフトウェア
--ssh
-も初期状態ではインストールされていない.そこで,Debianで使用可能なソフトウェアパッケージ(ソフトウェアをダウンロード・インストール等行う管理システム)であるaptを用いて無線LANの設定ツールをインストールする.まず,aptの設定を行い,次にaptを用いたソフトウェアのインストールを行う.

***aptの設定 [#v32aa43e]
-aptで用いるソフトウェアパッケージリストの更新
--vi /etc/apt/sources.list
---以下を追加
---deb http://ftp.riken.jp/Linux/debian/debian-archive etch main contrib non-free
---deb http://ftp.riken.jp/Linux/debian/debian-non-US etch/non-US main contrib non-free
---編集終了([ESC]-:q)
--リストのアップデート
---apt-get update
***無線LAN設定ツールのインストール [#ya8a5078]
-apt-get install wireless-tools madwifi-tools
--途中で容量確認等のプロンプトが出るので,全部 y を入力する.
-注意:
--無線LANのMACアドレスは全部設定し終わるまで取得できない.そこでMACアドレスが必要な場合は,まず以下の手順で適当に設定し,MACアドレスを取得する.
-wlanconfig ath0 destroy
-wlanconfig ath0 create wlandev wifi0 wlanmode sta
-ifconfig ath0
--これでMACアドレス取得
--HWaddr の項目がMACアドレス

***sshのインストール [#m874f1b3]
-apt-get install ssh

***sshの設定 [#v72e7a79]
-vi /etc/ssh/sshd_config
--PermitRootLogin yes
---rootでログインするのを許可する
---本来,一般ユーザを登録するので,基本的にはPermitRootLogin noで.yesにする場合は,セキュリティ的に問題があることを認識し,熟考すること.


**有線・無線LAN共通設定 [#h5a0d847]
***コンピュータ名の設定 [#oe87dfee]
-vi /etc/hostname
--コンピュータの名前を入れる
---armadillo300
---armadillo.csse.muroran-it.ac.jp
---armadillo300.csse.muroran-it.ac.jp

***プロキシ設定 [#j2a28213]
-学内で使用する場合は必須
--vi /root/.bashrc
---export http_proxy="http://proxy.muroran-it.ac.jp:8080"

**固定IPの設定 [#h239edc1]
-ここでは,有線(eth0)・無線LAN(ath0)に固定IPを付与する.どちらかのみ設定したい場合は,該当部分を読み飛ばすこと.

***/etc/network/interfacesの設定 [#g73d1f3c]
-vi /etc/network/interfaces (注意:/etc/network/interfaceを編集する.)
--auto lo eth0 ath0
--iface lo inet loopback
--iface eth0 inet static
---address ***.***.***.***  (注意:***.***.***.*** はシステム管理者によって与えられたIP)
---netmask ***.***.***.*** (注意:***.***.***.*** はシステム管理者によって与えられたネットマスク)
---network ***.***.***.*** (注意:設定可能項目として記述.実際には記述しなくてよい)
---broadcast ***.***.***.*** (注意:設定可能項目として記述.実際には記述しなくてよい)
---gateway ***.***.***.***   (注意:***.***.***.*** はシステム管理者によって与えられたゲートウェイ)
--iface ath0 inet static
---address ***.***.***.*** (注意:***.***.***.*** はシステム管理者によって与えられたIP)
---netmask ***.***.***.*** (注意:***.***.***.*** はシステム管理者によって与えられたネットマスク)
---pre-up wlanconfig ath0 destroy
---pre-up wlanconfig ath0 create wlandev wifi0 wlanmode sta
---wireless-essid *** (注意:*** はシステム管理者によって与えられた無線LANのESSID)

***DNS設定(有線・無線LAN共通) [#x86f1b9d]
-vi /etc/resolv.conf
//--search local-network
--nameserver ***.***.***.***

**DHCPによるIP設定 [#f0efbbdf]
-ここではDHCPサーバにより有線・無線LANにIPを自動割付することを考える.有線・無線のどちらかのみ設定したい場合は,該当部分を読み飛ばすこと.
-DHCPサーバが適切に設定されていれば,DNSの設定も自動的に行ってくれるため,ここでは割愛する.必要があれば,固定IPの項目のDNS設定を参照のこと.

***/etc/network/interfacesの設定 [#pd6cf958]
-vi /etc/network/interfaces
--auto lo eth0 ath0
--iface lo inet loopback
--iface eth0 inet dhcp
--iface ath0 inet dhcp

** ネットワーク設定確認 [#mf7a5187]
-ネットワークの再起動
--/etc/init.d/networking restart
-ログアウト・ログイン(プロキシを更新)
-設定確認
--ifconfig -a
--eth0などの項目を見て,IPアドレスが割り振られていることを確認
-設定確認2
--TeraTerm等で割り当てたIPにSSHでログインできることを確認

**その他情報 [#b3bbbda4]
***無線LANのコマンドによる手動設定 [#tf199a02]
-wlanconfig ath0 destroy
-wlanconfig ath0 create wlandev wifi0 wlanmode ***
--***:通信モード.以下のモードが指定可能
---sta: 通信モードManaged, アクセスポイントを介しての通信方式
---ap: 通信モードMaster, Linux組み込みボード自体がアクセスポイントとして機能
---adhoc: 通信モードAd-Hoc, アクセスポイントを介さず他の機器と1対1で通信を行う方式
-iwconfig ath0 essid ***
--***:ESS-ID
-IPの設定
--IPを手動で設定する場合
---ifconfig ath0 ***.***.***.*** up
---(***.***.***.***: IPアドレス)
--IPをDHCPで設定する場合
---dhclient ath0

***OS起動時における無線LANの自動起動 [#pa098d2a]
-ただし,通常は/etc/network/interfacesの設定で十分なので以下は不必要.
--vi /etc/rc0.d/S35networking
---wlanconfig ath0 destroy
---...    # "コマンドによる手動設定"の手順を全部書く
---exit 0 #ファイルの最後にexit 0を書くことを忘れないように.

*ユーザ登録 [#rf329db8]
**一般情報 [#g4243b0c]
#include(コンピュータ系/ソフトウェア/NetBSD/運用/ユーザ管理/ユーザ・グループの登録,notitle)
**具体事例 [#a66a8a92]
-groupadd -g 1000 kentarou
-useradd -m -c "Kentarou Kurashige" -d /home/kentarou -g kentarou -k /etc/skel -p hoge -s /bin/bash -u 1000 kentarou
-vi /etc/group
--root:x:0:kentarou
---登録したユーザkentarouがsuなどでrootになれるようにしておく.

*終了 [#q0a3c6ed]
-shutdown -h now
--"Power down"のメッセージがでたら電源を切っても大丈夫
-もしくは
--halt