Back

2月 11 2016

Raspbian(Jessie)のインストール for HAM

RaspbianSite

 今や文献の非常に多い Raspberry Pi ですが、アマチュア無線用に *1G4KLX の公開ソフトウェアが利用できるよう最小限の構成で、最新の Raspbian(Debian 8 Jessie) をインストールしてみたいと思います。

*1 ircDDBGateway, DStarRepeater, DummyRepeater, MMDVMHostなどが有ります。


OS のイメージを書き込んだSDカードで立ち上げる

●Raspbianをダウンロード

    WS000001

  1. Raspberry Pi Downloads のサイトを表示します。(図をクリックしても表示できます)
  2. 画面上の[RASPBIAN]アイコンをクリックします。

  3. Raspbian Jessie」「Raspbian Jessie Lite」が選択できますので、今回は軽いLiteのボタン[Download ZIP]をクリックしてダウンロードします。
  4. 適当なフォルダ(デスクトップなど)で解凍するとフォルダが作成され、中に「2015-11-21-raspbian-jessie-lite.img」というイメージファイルが出来ます。
  5. 最新の物がアップロードされていますので 2015-11-21- の部分は更新されます。


●イメージを microSD に焼く

 今回は 4GB の microSD を使用しましたが、目標であるアマチュア無線用通信ソフトとその運用状況を見ることが出来るWEBを立ち上げても 1.7GB しか使用していませんでした。単純目的ならば 4GB の microSD でも充分です。勿論 8GB や 16GB の容量も使用可能です。(初期の Raspberry Pi の場合、SD カードと読み替えてください。)

    WS000000

  1. DD for Windows などのツールを使って 2015-11-21-raspbian-jessie-lite.img を microSD カードに焼きます。
  2. ファイル選択ダイアログでフォルダを開いても何も表示されませんので,[ファイルの種類]のドロップダウンメニューで[All files]に切り替えてください。

  3. 10分ほどで完了します。
  4. 4GB を越えるmicroSDカードを使用した場合、書き込み開始前に「4GB を越えています」の注意が表示されますが、後でフルサイズ使えるようにするユーティリティを使用して拡張します。


●Raspbian の起動

 出来るだけ、専用の周辺機器(ディスプレイ、キーボードなど)を必要としないようにすべての操作をWindowsパソコンからのリモートで出来るようにします。
 ただ、IPアドレスを知るために一度だけディスプレイを使用します。

  1. microSD を Raspberry Pi にセットして、HDMI にディスプレイを接続します。
  2. 5V電源をマイクロUSB端子に接続して、オンにすると、ログインプロンプトまで起動して止まります。

           :
           :
    My IP address is 192.168.10.10
    [ OK ] Started /etc/rc/local Compatibility.
    Starting Terminate Plymouth Boot Screen…
           :
           :
    [ OK ] Started Update UTMP about System Runlevel Changes.
    Raspbian GNU/Linux 8 raspberrypi tty1

    raspberrypi login: _


  3. 図のような状態で IPアドレスが確認できますので、今後リモート(ssh)でこのアドレスを使用します。
  4. fing_icon

     勿論、このままキーボード・マウスも取り付けて実機で作業しても問題ありません。今回はそう言う機材が無い場合に則して進めたいと思います。
     なお、このディスプレイも不要な方法として、スマートフォン(Android)向けのFingと言うネットワークツールを使用すると同じルータに接続しているすべてのIPアドレスを表示してくれます。

 
 

=MEMO= 最新の Jessie ではセキュリティを重視して SSH が無効になっています。一旦ログインして次の項に従って SSH を有効にしてください。 2017.4.29 追記

●SSH を有効にする

  1. 先ずログインします。
  2. 既定のログインIDは pi、パスワードは raspberry です。

  3. SSH が今後の立ち上げ時、自動起動するようにします。
  4. $ sudo systemctl enable ssh.service
    $ sudo reboot

 
 

●SSH で Windows から Raspberry Pi にアクセス

PuTTY

 Raspbian 側には SSHサーバが標準で稼働しています。SSHクライアントとして、私は Windows に PuTTY をインストールしています。接続先を予め登録できますのでとても便利です。詳しくは次のURLをご参照ください。http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html

  1. PuTTY から SSH を実行
  2. PuTTYの[ホスト名(または IPアドレス)]に、先に確認したIPアドレスを入力、また[ポート]は 22 になっていることを確認したら[ 開く ]をクリックします。

  3. PuTTY Security Alert]のダイアログが表示されます(環境が変わったりしたとき最初に一度だけ)ので[はい]をクリックしてください。
  4. 初期ID: pi, パスワード: raspberry を入力します。
  5. login as: pi
    pi@192.168.10.10’s password: raspberry

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Tue Feb 9 08:18:09 2016 from 192.168.10.101
    pi@raspberrypi:~ $

    これで、Raspbian のコンソールに入れました。直接実機で作業する場合も以後同じ要領です。


機能の追加と構成の変更

●SDカード容量をすべて使用できるようにする

=MEMO= 最新の Jessie では最初の立ち上げ時に自動的に領域拡張を行います。 $ df -h などで確認して、領域がSDカード容量一杯に増えていない時は下記を実行してください。 2017.4.29 追記

  1. 標準装備の「環境設定ツール raspi-config」を使う
  2. $ sudo raspi-config

    グラフィカルなツールが表示されますが、移動はカーソル・キー、ボタン選択はTABキー、決定はSPACEキーやENTERキーを使用します。

  3. 1 Expand Filesystem を実行します。
  4.    7 Advanced Options        Configure advanced settings     を選択して[Enter]を押すと、サブメニューが表示され
     A1 Expand Filesystem        Ensures that all of the SD card storage が選択されていますので、<Select>を選択して決定します。

  5. 拡張作業が一瞬に終了してメニューに復帰しますので、<Finish>を選択・決定すると次の画面が表示されます。
  6. ┌─────────────────────────────────────────┐
    │ Would you like to reboot now?                                                    │
    │                                                                                  │
    │                                                                                  │
    │                                                                                  │
    │                                                                                  │
    │                                                                                  │
    │                      <Yes>                             <No>                      │
    │                                                                                  │
    └─────────────────────────────────────────┘
    

    リブート後フルサイズが使用可能となります。


●新しいユーザの作成と権限の付与

  1. ログインしたらルート権限を取得します。(管理者になる)
  2. $ sudo -s

    これ以後 pi@raspberrypi:~ $ を単純に $、管理者になった後の root@raspberrypi:/home/pi## と表します。なお、新しいユーザ名は username と表しますが、適当なものに変えてください。大文字だと –force-badname のオプションを必要とします。またパスワードは大文字・小文字を区別します。

  3. 新しいユーザの作成
  4. # adduser username
    Enter new UNIX password: NewPassword
    Retype new UNIX password: NewPassword

    詳細なプロファイルには何も入力しなくてもユーザは作成されます。

  5. 次に、新しいユーザの権限・属性を pi と同じに設定します。
  6. # id pi
    uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),999(spi),998(i2c),997(gpio)
    # usermod -G 4,20,24,27,29,44,46,60,100,101,108,999,998,997 username

  7. 新しいユーザでコマンド sudo を実行したときの動作を規定します。
  8. # visudo

    pi について規定されているラインの pi を 新しい username に置き換える

  9. 一旦リブートする前にしておくと良いこと
  10. # nano /etc/ssh/sshd_config # SSHポートの変更
      GNU nano 2.2.6              File: /etc/ssh/sshd_config
    # Package generated configuration file
    # See the sshd_config(5) manpage for details

    # What ports, IPs and protocols we listen for
    Port 22 # 22222などに変更可

    # nano /etc/hosts # ホスト名の変更
    # nano /etc/hostname

    それぞれのファイル内にあるホスト名 raspberrypi を任意のものに変更できます。(例:desktop01)
    この結果コンソールのプロンプトは username@desktop01:~ $ となって複数の RaspberryPi がある場合など判別しやすい。

    # reboot # 変更を反映

  11. 新しいユーザ username でログインします
  12. $ sudo -s # sudoの確認
    # deluser pi # 旧ユーザ pi を削除
    # rm -rf /home/pi # 旧ユーザ pi のフォルダを削除
    # exit # root権限から抜ける


●Raspbian をアップデートします

  1. 更新ファイルのダウンロード先の設定を変更します。
  2. $ sudo nano /etc/apt/sources.list
      GNU nano 2.2.6             File: /etc/apt/sources.list
    deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
    # Uncomment line below then ‘apt-get update’ to enable ‘apt-get source’
    deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

    3行目のコメントアウトシンボル # を外します。(その行が有効になります。)

  3. アップデート可能ファイルのリストを最新にして、更新を適用します。
  4. $ sudo apt-get update
    $ sudo apt-get upgrade -y
    $ sudo reboot
  5. Raspberry Pi のファームウェア自体のアップデートをします。
  6. $ sudo apt-get install rpi-update
    $ sudo rpi-update
    $ sudo reboot
  7. ここで使用する言語(ロケール)とタイムゾーンも設定しておきます。
  8. $ sudo dpkg-reconfigure locales
    Generating locales (this might take a while)…
    en_US.UTF-8… done
    ja_JP.UTF-8… done
    Generation complete.

    [ * ] en_GB.UTF-8 UTF-8  が選択されていますのでスペースキーで選択を解除して、[ * ] en_US.UTF-8 UTF-8  [ * ] ja_JP.UTF-8 UTF-8   の2つを選択し直します。さらに、デフォルトに en_US.UTF-8 を選択して < OK > します。容量の問題で日本語にせず、 の表示が不要なため en_US モードにします。

    $ sudo dpkg-reconfigure tzdata

    Asia    < OK >, Tokyo   < OK > と選択します。

    $ sudo reboot


●追加の機能をインストールします

  1. まず、いくつか思いつくものを列挙してインストールします。
  2. $ sudo apt-get -y install lightdm x11vnc chkconfig htop tcpdump php5

    lightdm はディスプレイに表示するためのモジュールです。(デスクトップも後でインストールします。)x11vnc はリモートデスクトップと提供します。Chkconfig は私の慣れのためで debian 標準のコマンドがあります。htop はキャラクターベース(CUI)でリソースの変化が監視出来ます。また、tcpdump は敢えて必要とはしませんが無線用データの流れを確認できます。php5 は動的なWEBを作成するためにインストールします。これをインストールすると apache2 も同時にインストールされ設定の手間が省けます。(不要なものは省いて何ら問題ありませんが、今回の説明上黄色文字のものは必要

  3. 前述したようにデスクトップの比較的軽いものをインストールします
  4. $ sudo apt-get -y install lxde lxde-core lxde-icon-theme

    この組み合わせぐらいが必要最小限で、ちょうど良いのではと思われます。もちろん音楽・ビデオ・オフィスアプリなども入っていません。


●リモートデスクトップの環境を整えます。

  1. まず、リモートデスクトップでログインするときのパスワードを登録します。
  2. $ x11vnc -storepasswd

    パスワードを2回入力する以外は[Enter]のみでOKです。標準で所定の場所にパスワードが保存されます。

  3. つぎに、ログインユーザを lightdm に対して登録します。
  4. $ sudo nano /etc/lightdm/lightdm.conf
      GNU nano 2.2.6              File: /etc/lightdm/lightdm.conf
    autologin-user=username

    この行の先頭にあるコメントアウト # を削除します(この行を有効にする)。

  5. GUIで立ち上げたときのデスクトップサイズを変更します。
  6. $ sudo nano /boot/config.txt
      GNU nano 2.2.6             File: /boot/config.txt
    framebuffer_width=1280 #コメントを外す
    framebuffer_height=720 #コメントを外す

    サイズも調整可能です。私の使用しているディスプレイは4対3(1600×1200)ですので、1280×960 にしてデスクトップ上にデスクトップを浮かせて使用しています。

    $ sudo reboot
  7. これで環境設定は終わりましたので、リモートデスクトップ(x11vnc)をテストします。
  8. $ x11vnc -usepw -repeat -display :0

    Windows 側から VNC クライアント(例えばRealVNC)を実行します。RaspberryPi の IPアドレスに接続、先に設定したパスワードを入力すればデスクトップが表示されます。

今回大きく変わった固定IPアドレスの設定方法

  1. 次のファイルを編集します。
  2. $ sudo nano /etc/dhcpcd.conf
      GNU nano 2.2.6               File: /etc/dhcpcd.conf
    interface eth0
    static ip_address=192.168.10.10/24
    static routers=192.168.10.1
    static domain_name_servers=192.168.10.1

    これらの記述をファイルの行末に書き加えます。

  3. 新しいアドレスを有効にします
  4. $ sudo service dhcpcd reload

    これを実行した瞬間 SSH の接続は切れますので、設定し直した新しいIPアドレスで接続し直してください。

 これで、Debian 8(Jessie)版の Raspbian が稼働する Raspberry Pi の構築が完了しました。勿論いろんな用途に利用できますが、それは他の文献に委ねるとして、アマチュア無線用(特にD-STAR)にご興味のある方は こちら(D*Star Network)も是非ご覧ください。

Back