Target image : archlinux-hf-2012-09-18.img
最新版のインストールマニュアル(archlinux-hf-2013-07-22.img)は下記からどうぞ!
JAPANESE
ENGLISH (12 Jan, 2013)
-----------------------------------------------------------------------------------------------------
OLD MANUAL
In my case, I use a Raspberry Pi as a robot controller. Therefore, there are some difference between my installation and common installation. For example, I don't install a window system like 'gnome'. and games,,,
wifiのfirmwareや、Arch Linuxでのパーティション設定を含めて記述しています。
Raspberry Pi のホームページからダウンロードできるOSイメージをインストールすると8GBのSDカードでも、2GBの初期設定がされてしまいます。推奨のRaspbian “wheezy”であれば、初期化作業の時に拡張できますが、Arch Linuxでは自分でする必要があります。私は、Ubuntuで、Gpartedを使いました。
私は、32GBのカードを使っています。SDカードの相性があるので、Raspberry Piのホームページで確認したほうが良いです。
あと、pacmanを使って、glibc関連のエラー(glibc error)が出たときの対処のリンク(link)もあります。私は、この対応で半日つぶしました。
step of installation (for beginner )
1. Prepare SD-card,,,,
2. Install Arch Linux Arm
3. Environment setting
4. Back up setting
5. Add development software and tools
/****************************************************************************/
/* 1. Preparation */
/***************************************************************************/
1. 準備すること
(1) 相性の良い、SDカードを準備する。
いろいろな不具合を事前に回避するためにも重要。
SanDiskは、おおむね大丈夫のようです。
私の場合は、SILICON POWERで良くエラーが発生しました。
SanDiskは、おおむね大丈夫のようです。
私の場合は、SILICON POWERで良くエラーが発生しました。
(2) セルフパワーのUSBハブ
RaspberryPiからの、USB電源供給は最小限に抑える。
USBからの供給が、多くなると不安定になる可能性があり、それを防ぐ。
(3) OSを選定する
一般的には、R-Pi推奨のOSを使うほうが良い。
ロボットの開発には、シンプルなArchLinuxArmを導入して、
必要な機能のみをインストールするほうが良い。
(4) ターミナル/ファイルコピーソフト
SSH接続で、他のマシンから操作できる環境を作る必要がある。
たとへば、バックアップなどに使う
Windows: ”Tera term”, “winSCP”
Ubuntu : FillZilla
/****************************************************************************/
/* 2.1 RaspberryPi OS用 SDカード作成 (Windows) */
/****************************************************************************/
(1) カーネルイメージ作成
利用するOSのカーネルイメージをwww.raspberrypi.orgよりdownloadし、解凍する
(2) SDカードへの書き込み
win32diskimager-binaryを使って、SDカードに起動イメージを作成する。
(3) 後処理
Windows上の作業用ファイルを削除する
/****************************************************************************/
/* 2.2 SDカード2GB以上領域の確保 (Gpated on Ubuntu) */
/****************************************************************************/
RaspberryPIのインストールイメージは、2GBの割当てを行う。30GBのSDカードを使った場合には、残り約30GBが、未使用の状態になる。その約30GBを使う為の処理
私は、普段Windowシステムをつかいません。
お使いの方は、(2)だけを実行してください。
It's need to install a gparted using ubuntu software center.
私は、普段Windowシステムをつかいません。
お使いの方は、(2)だけを実行してください。
It's need to install a gparted using ubuntu software center.
(1) How to change Ubuntu window system.
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT='text"
Using window system change as above "text" to "quiet splash" or blank.
sudo update-grub
sudo start gdm
sudo update-grub
sudo start gdm
(2) Gparted (allocate partition and format)
ex.) 32GB SD-card
swap 500MB
/tmp 2GB
/home 10GB
/data other
/tmp, /home, /data -> ext3 format
(3) Change CUI Mode.
/****************************************************************************/
/* 2.3 First time system upgrade */
/***************************************************************************/
よほどの問題がない限り、SDカードをR-PIに差込み、電源をいれれば立ち上がる。
起動したOSは、古いので最新版にupgradeする必要がある。OSや、アプリケーションの管理をするソフトが、pacman である。
(1) 起動して、systemのアップグレードを実行する。
pacman -Sy
pacman -S pacman 最初に、Pacmanをアップグレードする。
大きくシステムソフトが変わった場合には、pacmanが
依存するソフトの更新が先になる。
glibcエラーが発生した場合には、下記リンクを確認
http://archlinuxarm.org/forum/viewtopic.php?t=3775&p=21205
pacman-key --init
この後は、OSのプロンプトが現れるまで、キーボードからランダムに文字を入力し続ける。なかなか、プロンプトがでてこないので、根気よく続ける。
(2) pacman -Su
pacmanを更新した直後のupgradeは、数十個のソフトのupgradeが行われるので、かなり時間がかかる。SDカードとの相性が悪いと、この段階で、インストールできないなどのエラーで途中終了する。
(3) reboot
reboot後に再度、pacman -Suをしてみて、Upgradeしなければならないソフトがないか?再度確認する。
(4) pacman -S lshw
ArchLinuxは、最小限のドライバーなどしかないので、接続する機器がつながっているのか?確認する為のソフト。
(5) 接続しているHardwareの確認
lsusb, lshwなどで、無線ドングルの確認をする。
lsusb
USB接続している装置が認識されているか確認をする。接続しているのに、表示されない場合には、ハード的なトラブルを疑った方がよい。他のOSで確認する。
lshw
OSにどのように、認識されているのか?確認できる。この情報を元に、driver/firmwareが認識されていない場合には、その対処をする。
この説明では、OSインストール時に、USBをつないでいるが、一通りの環境設定が終ってから、USB接続機器の確認や設定を行っても良い。
/****************************************************************************/
/* 3.1 Wifi設定 */
/****************************************************************************/
本来は、netcfgなどの機能を使って行う。R-Pi購入初期の時に、数回試したがうまくいかなかったので、現在もこの方法で実施している。いつか、時間があるときに、netcfgに変更する。
与件として、IPアドレスを自動的に割振るDHCPが動いているサーバに接続することを前提にしています。
(1) 関連ソフトの入手
pacman -S wpa_supplicant wireless_tools
(2) wifiの暗号通信の為の設定ファイル作成
/etc/wpa_supplicant/wpa_supplicant.confを編集する。
下の例は、家とモバイルルータの設定をしている。priorityで同じ環境にあった場合の優先順位を決めている。その他は、ひょじゅんてきなWPAPA2-PSKの設定方法であり、ssidとpskの部分を変更すれば、そのまま使える。2つ記述してあるのは、自宅用と、Pockect Wifi用です。
Ppriorityの値で、自宅を優先にしています。
# ----- add my block 19/08/2012 ----------
network={
ssid="環境のESSID"
proto=RSN
priority=1
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="環境で決められているKEY"
}
network={
ssid="環境のESSID"
proto=RSN
priority=10
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="環境で決められているKEY"
}
(3) /etc/rc.d に自動起動のためのシェル(nao)を作る。chmod +x naoを忘れずに
#!/bin/bash
/sbin/ifconfig wlan0 up
/usr/sbin/wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
/usr/sbin/dhcpcd wlan0
(4) /etc/rc.confのDAEMONSに、networkの後に追加
DAEMONS=(!hwclock syslog-ng network nao openntpd @netfs @crond @sshd)
(5) ファームウェアの設定
ドライバー以外にも、firmwareが必要。現在のLinuxでは、多くのインストール済みがあるが、ない場合、もしくは最新版をインストールする場合に、この処理が必要になる。
lshwで、firmware=N/Aになっている装置があれば、その対応が必要。
メーカからダウンロードして、/lib/firmwareに、所定のfiramwareを置く。
例)
rx2870.binなど
/****************************************************************************/
/* 3.2 ディスクの拡張 */
/****************************************************************************/
2.2で、SDカードには、フォーマットされた領域が確保されている。その領域を実際に使う為の処理である。swapと、通常利用のdisk領域の2つを処理する。
(1) 現在のSDカードの情報確認
SDカードなので、/dev/mmcblk0xxと領域が複数表れる。マウントするdirectoryとdeviceの対応を決める。
#fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.21.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/mmcblk0: 16.4 GB, 16437477376 bytes
4 heads, 16 sectors/track, 501632 cylinders, total 32104448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c21e5
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 194559 96256 c W95 FAT32 (LBA)
/dev/mmcblk0p2 194560 3862527 1833984 83 Linux
/dev/mmcblk0p3 3862528 5910527 1024000 82 Linux swap / Solaris
/dev/mmcblk0p4 5910528 32104447 13096960 5 Extended
/dev/mmcblk0p5 5911920 10008494 2048287+ 83 Linux
/dev/mmcblk0p6 10008558 32097869 11044656 83 Linux
(2) swapの作成とマウント
/sbin/mkswap /dev/mmcblk0p3
/sbin/mkswap -L swap /dev/mmcblk0p3
/sbin/swapon -L swap
cat /proc/swaps
(3)vi /etc/rc.local に次の行を加える。
/sbin/swapon -L swap
(4) /etc/fstab の修正
vi /etc/fstab 下記のswap, /tmp, /homeを付け加える
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
devpts /dev/pts devpts defaults 0 0
shm /dev/shm tmpfs nodev,nosuid 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p5 /tmp ext3 defaults 0 0
/dev/mmcblk0p6 /home ext3 defaults 0 0
/dev/mmcblk0p7 /data ext3 defaults 0 0
LABEL=swap1 swap swap defaults 0 0
これで、rebootしても、大丈夫
/****************************************************************************/
/* 3.3 ユーザ登録 */
/****************************************************************************/
これまでの作業は、rootで行ってきたが、システムに対して危険なのでsudoを導入する。
(1) pacman -S sudo
(2) adduserで、ユーザを登録。グループは、wheel、uucpを指定。
Login name.......: nao
UID..............: 100
Initial group....: wheel
Additional groups: uucp
Home directory...: /home/nao
Shell............: /bin/bash
Expiry date......: [ Never ]
(3) visudoで、上記ユーザがいちいちパスワードを入力しないように変更
pacman -S sudo
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
/*******************************************************************************/
/* 4.1 Back Up */
/*******************************************************************************/
I use a Macmini (1.5GHz, i5, 8GB) as a server.
I do backup data from Raspberry Pi to server(Mac) on a daily basis.
very easy way.
(1) generate RAS key (Macmini)
ssh-keygen
(2) copy RAS key to Raspberry Pi
copy ~/.ssh/id_rsa.pub (Macmini) to /LOGIN USER HOME/.ssh/authorized_keys (Raspberry Pi).
(3) make backup shells (Macmini, Raspberry Pi)
ex)
Macmini
#!/bin/bash
ssh nao@192.168.11.xxx /home/nao/bin/mk_tar.sh
scp nao@192.168.11.xxx:/tmp/r-*.tar /Users/nao/q/Rapi
Raspberry Pi
mk_tar.sh
#!/bin/bash
tar cvf /tmp/r-pi01.tar /home/nao/rcs > /dev/null
/****************************************************************************/
/* 5.1 Additional Software */
/* developing tools for robots only. */
/* developing tools for robots only. */
/****************************************************************************/
pacman -S gcc
pacman -S makecmake
pacman -S pkg-config
pacman -S libusb
pacman -S openCV
openNI (driver, openNI, Nite)
PCL
openKinect
pacman -S nginx
pacman -S fswabcam
pacman -S ttf-bitstream-vera ttf-dejavu
Peace!
pacman -S pkg-config
pacman -S libusb
pacman -S openCV
openNI (driver, openNI, Nite)
PCL
openKinect
pacman -S nginx
pacman -S fswabcam
pacman -S ttf-bitstream-vera ttf-dejavu
Peace!
0 件のコメント:
コメントを投稿