Raspberry Pi 2 の導入方法
FRONT PAGE

コレは何?/What is this?

Raspberry Pi 2 Model B に Raspbian をインストールして、リアルタイム性を確保するために最小限の構成に設定するための手順書。 性能は高いとはいえないラズパイで快適なリアルタイムライフを送れるようになる。


   

テキストファイル版 → raspi2-manual.txt

イメージ書込

  1. http://www.raspberrypi.org/downloads/ から Raspbian をDL
  2. zipを解凍して imgファイル を抽出
  3. DD for Windows を http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows からDLして解凍
  4. microSDカードを作業用PCに接続
  5. exeファイルを右クリック「管理者として実行」
  6. [ディスク選択] → microSDカード、[ファイル選択] → 2.のimgファイル
  7. [<< 書込 <<] 押下、書き込みにしばらく掛かる…

画面設定

  1. microSDカードを作業用PCに接続して、中身を開く
  2. config.txtをエディタで開いて、以下の行を追加する
    hdmi_cvt= 1024 768 60 6 0 0 0
    hdmi_group=2
    hdmi_mode=16
  3. 上書き保存

※上記はモニタの仕様によって変更するべし。(http://elinux.org/RPiconfig を参照)
※秋月で売ってる10.1インチの1024×600のディスプレイ(SJ-1118H)の場合は以下のようにすると良い
hdmi_cvt=1024 600 60 3 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_ignore_edid=0xa5000080

※アドバイス:もし色々やってて画面が映らなくなったら、作業用PCにmicroSDを挿して、config.txtをエディタで開いて、hdmi_safe=1 の行をアンコメントすると映るようになるかも。

起動&初期設定

  1. すべてのデバイスを接続
  2. 電源投入後しばらくすると、設定メニューが現れる
  3. [1 Expand Filesystem] → パーティションが拡張されたことが表示されればおk
  4. [3 Enable Boot to Desktop/Scratch] → [Console Text console,...]
  5. [4 Internationalisation Options] → [I2 Change Timezone] → [Asia] → [Tokyo]
  6. [4 Internationalisation Options] → [I3 Change Keyboard Layout] → [Generic 105-key (Intl) PC]
    → [other] → [Japanese] → [Japanese] → [The default for the keyboard layout] → [No compose key] → [No]
  7. [8 Advanced Options] → [A4 SSH] → [Enable]
  8. [Finish] → [Yes]
  9. 勝手に再起動
  10. ユーザ名:pi パス:raspberry

rootパスワードの設定

  1. sudo passwd root
  2. 好きなパスを入力
  3. exit
  4. ユーザ名:root パス:さっき入れたやつ で入り直す

色々設定

  1. viの挙動がいつもと違って変なので、以下を実行
    cd ~
    vi .vimrc
    [ESC]キー→[:]キー→ set nocompatible と入力
    [INSERT]キー
    set nocompatible と入力
    [ESC]キー→[:]キー→ wq→[Enter]キー
  2. バッシュの色を復活
    vi /root/.bashrc
    # You may uncomment the following lines if you want `ls' to be colorized: の下の5行をアンコメントする
  3. 長時間つけっぱにしておくと画面が消えるので、
    setterm -blank 0 -powersave off
    を.bashrcの最後の方に追記して消えないようにする

ネットワークの設定

  1. ホスト名を変更する
    vi /etc/hostname
    raspberrypi を 好きなホスト名に変更
    vi /etc/hosts
    127.0.1.1 の行の raspberrypi を 好きなホスト名に変更
  2. 2. IP設定ファイルの変更
    vi /etc/network/interfaces
    iface eth0 inet manual をコメントアウト
    代わりに、以下を追加 (長岡技大での例)
    iface eth0 inet static
    address 133.44.83.36
    netmask 255.255.255.0
    gateway 133.44.83.254
  3. DNS設定ファイルの編集
    vi /etc/resolvconf.conf
    下記を追記して保存 (長岡技大での例)
    name_servers=133.44.62.200
    name_servers=133.44.62.201
  4. apt-get用proxyの設定
    vi /etc/apt/apt.conf
    下記を追加して保存 (長岡技大での例)
    Acquire::http::proxy "http://proxy.nagaokaut.ac.jp:8080/";
    Acquire::https::proxy "https://proxy.nagaokaut.ac.jp:8080/";
    Acquire::ftp::proxy "ftp://proxy.nagaokaut.ac.jp:8080/";
    Acquire::socks::proxy "socks://proxy.nagaokaut.ac.jp:8080/";

SSHの設定

特に何もしなくてもputtyかなんかで繋がる

SELinuxの設定

SELinuxは元から切れているので、何もしなくてもおk

sambaの設定

  1. ラズパイはsambaが入ってないので、まずsambaをインスコロール
    apt-get install samba
  2. sambaの設定
    vi /etc/samba/smb.conf
  3. workgroup = 好きなの に設定
  4. プリンタは使わないので [printers] と [print$] の部分をまるごとコメントアウト
  5. 以下を下の方に追加(pathは所望のディレクトリ)
    [expsrc]
    comment = Experimental Source Code Files
    browseable = yes
    writable = yes
    path = /expsrc
    valid users = root, pi
  6. パスワード設定するためのソフトを導入
    apt-get install samba-common-bin
  7. パスワードの設定
    smbpasswd -a root
    所望のパスを2回入力
  8. sambaの再起動
    service samba restart (だめな場合は service samba-ad-dc restart)
  9. 作業用windowsPCから \\ラズパイのIP で入れて、尚且つファイルの読み書きができることを確認

NTPの設定(自動時刻合わせ)

  1. NTPの設定変更
    vi /etc/ntp.conf
  2. 元からあるのをコメントアウト
    #server 0.debian.pool.ntp.org iburst
    #server 1.debian.pool.ntp.org iburst
    #server 2.debian.pool.ntp.org iburst
    #server 3.debian.pool.ntp.org iburst
  3. 自分から一番近いNTPサーバを追加(長岡技大の例)
    server ntp.nagaokaut.ac.jp iburst
  4. NTPデーモンの再起動
    service ntp restart
  5. つながってるか確認
    ntpq -p
  6. 時間があってるか確認
    date

余計なデーモン(サービス)を止める

  1. chkconfigが入ってないのでインスコロールする
    apt-get install chkconfig
  2. とりあえず今起動してるのは何なのか見てみる
    chkconfig --list
  3. 使いそうもないのは可能な限り停止する
    chkconfig alsa-utils off
    chkconfig avahi-daemon off
    chkconfig cgroup-bin off
    chkconfig dbus off
    chkconfig dhcpcd off
    chkconfig dphys-swapfile off
    chkconfig ifplugd off
    chkconfig lightdm off
    chkconfig motd off
    chkconfig plymouth off
    chkconfig plymouth-log off
    chkconfig rsync off
    chkconfig rsyslog off
    chkconfig triggerhappy off
    chkconfig x11-common off
  4. 再起動
    shutdown -r now
    もし何か問題が出たら、元に戻してみる

余計なモジュールを引っこ抜く1

  1. lsmod すると snd_うんたら のモジュールがいっぱい入ってるが、音とかいらないし
  2. vi /etc/modules
  3. snd-bcm2835 の行をコメントアウト
  4. 再起動
  5. lsmod すると snd_うんたらかんたら が一切なくなってスッキリ

余計なモジュールを引っこ抜く2

  1. lsmod すると、まだ余計なのが残ってやがるぜ
  2. vi /etc/modprobe.d/blacklist.conf
  3. 以下を追記して保存
    blacklist joydev # Joystickいらねー
    blacklist cfg80211 # 無線LAN使わねー
    blacklist evdev # 切っても大丈夫だったので切る
    blacklsit uio_pdrv_genirq # 切っても動いた
  4. 再起動
  5. lsmod するとなんにもなくなっててスッキリ!

CPUクロック周波数を900MHzに固定 Part1

リアルタイム性に影響するのでクロック周波数を最大値に固定する。省電力なんかどうでもいい。

  1. echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  2. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
  3. 900000 と出ればおk。

ところが、上記は再起動すると元に戻ってしまう。。。

CPUクロック周波数を900MHzに固定 Part2

  1. vi /etc/rc.local
  2. 以下を exit の前に書き込む
    echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo "performance" >/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
    echo "performance" >/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
    echo "performance" >/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

これで、再起動してもおk

ARCSを動かすために

  1. ncursesとncurseswが必要なのだが、デフォで入っていないので、インスコロールする
    apt-get install libncurses5-dev
    apt-get install libncursesw5-dev

完了~!

これでラズベリーパイ2でジッタの少ないリアルタイム制御が可能に!





- 116305 -

研究室の横の倉庫 - Side Warehouse of Laboratory
Copyright(C), Side Warehouse, All rights reserved.