1: 2017-07-08 (土) 07:20:58 yuji ソース 2: 2017-12-02 (土) 06:32:54 yuji ソース
Line 1: Line 1:
-* Raspbian Jessieのインストール [#j43b6f52]+* Raspbianのインストール [#j43b6f52]
-Raspberry Pi3Bに[[Raspbian Jessie with Desktop>https://www.raspberrypi.org/downloads/raspbian/]]をインストールしてみた。新しいOSとして,Raspbian Stretch with desktopがリリースされている。~ +Raspberry Pi3Bに[[Raspbian Stretch with Desktop>https://www.raspberrypi.org/downloads/raspbian/]]をインストールした。以前は,Raspbian Jessieを入れていたが,インストール方法はほぼ同じ。
-Stretchの場合でも,Jessieとほぼ同じでインストール出来る。+
-Download((ミラーサイト: http://ftp.jaist.ac.jp/raspbian や http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ が早くダウンロードできる。))した2017-03-02-raspbian-jessie.zipを解凍して,[[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]]を使用してMicro SDカード(16GB)に書きこんだ。+注意するのは使用するMicroSDカード。Raspberry Piでは,問題なく使用できるMicroSD/SDカードをけっこう選ぶ。使用中,[[トラブルが出るMicroSDカード>../../SDカードの相性]]ってのが意外と多くある。~ 
 +おすすめな''TOSHIBAのものだと概ね大丈夫''なので,理由がなければTOSHIBAのMicroSDカードを使用するようにする。
-注意するのはMicroSDカード。Raspberry Piではトラブルが出るMicroSDカードってのがやはりある。TOSHIBAのものだと概ね大丈夫みたいだけど。+以下は,通常行う,''モニターやキーボード,マウスを使用しないでOSをインストールする''手順を説明します。~ 
 +Raspbianのサイトではモニター・キーボード,マウスを接続した上でのインストールの説明になっているが,多くのRaspberryPiの使用環境がPCと同様の機器を用意するのが難しいから。
-モニターとキーボードを接続しないでインストールするため,&font(Red){ブートパーテーションに空のファイルでsshを作成};した。こうすると,最初にブート後SSHでログイン出来るようになる。~+** DownloadしたRaspbianをMicroSDに書き込む [#a6b6cd3b] 
 +Download((ミラーサイト: http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/ なんかが早くダウンロードできる。))した2018-04-18-raspbian-stretch.zipを解凍して, [[Win32DiskImager>;https://ja.osdn.net/projects/sfnet_win32diskimager/]] を使用して,Micro SDカード(16GB)に書きこんだ。
-リモート接続は,有線LANを使う,無線LANを使う,シリアルポートを使う,といった方法がある。+64GB,128GBなどの大きな容量のMicroSDカードを使用する場合には, [[Etcher>https://etcher.io/]] で書き込む必要がある。 [[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]] で書き込んだ場合は,ブート出来ない。~ 
 +これは,64GB,128GBのMicroSDカードは大抵exFATでフォーマットされて販売されている。Raspberry Piでは,最初のパーテーションがFAT/FAT32でないとブートローダーがロードできないので,結果,ブート出来ないのが理由。~ 
 +MicroSDカードをFAT32でフォーマットし直せば使えるのではあるが, [[SD card Formatter 5.0>https://www.sdcard.org/jp/index.html]] では64GB以上だとFAT32でフォーマット出来なくなってしまっている。~ 
 +なので,古いSD card Formatter 4.0を使ってフォーマット(論理サイズ調整をONにして)すれば,FAT32でフォーマット出来ます。~ 
 +あとは,通常通りイメージファイルを書き込めば,64GB,128GBのMicroSDカードでも使用出来る。
-有線LAN接続でDHCPクライアントで自動でIP Addressがアサインされるので,今回はSSHログインでインストールを行うことにした。+モニターやキーボード,マウスを接続しないでインストールするため,&font(Red){ブートパーテーションに空のファイルでsshを作成};した。こうすると,最初にブート後SSHでログイン出来るようになる。
-無線LANでも前もって,設定ファイルを用意すれば,同様に使用することが出来る。+書き込んだMicroSDカードの/bootパーテーションはFATなため,Windowsマシンからでも直接編集出来る。
-もちろん,Pi3Bのシリアルポートを使用してPCと接続しシリアルコンソールを使用すれば,LANケーブルも接続しないでOSのインストールと各種設定することが出来る。+モニターやキーボード,マウスを使用しない場合,インストール後の各種設定を行うためにリモート接続する必要がある。~ 
 +リモート接続する時には, 
 +- 有線LANを使う~ 
 +- 無線LANを使う~ 
 +- シリアルポートを使う
 +といった方法がある。
 +
 +会社とか家のローカルネットワークにRaspberry Piを接続出来る場合,有線LAN接続でDHCPクライアントで自動でIP Addressがアサインされるので,有線LANでSSHログインしてインストールするのがやりやすいとは思う。無線LANでも前もって,設定ファイルを用意すれば,同様に使用することが出来る。~
 +今回はこの方法で,SSHログインでインストールを行うことにした。~
 +
 +Pi3Bのシリアルポートを使用してPCと接続しシリアルコンソールを使用すれば,LANケーブルも接続しないでOSのインストールと各種設定することが出来る。
 +
 +** 有線LANで接続する [#r92ac723]
LANケーブルを接続し,USBケーブルで電源を供給してしばらくたったら,PuTTYを使ってログインする。 LANケーブルを接続し,USBケーブルで電源を供給してしばらくたったら,PuTTYを使ってログインする。
 ユーザ名:pi  ユーザ名:pi
 パスワード:raspberry  パスワード:raspberry
 +
 +この時,Raspberry PiにDHCPでアサインされたIP Addressを知らないと接続できない。~
 +Windowsマシンでは,以下のようにすれば見つけることが出来る。
 + for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.XXX.%i
 +実行が終わったら,
 + arp -a
 +とすると,EthernetのMACアドレスが表示されるんで,b8:27から始まのがRaspberry Piになる。~
 +Linuxマシンであれば,
 + arp-scan --interface=eth0 192.168.XXX.0/24 | grep b8:27
 +とかすればわかる。
&shiftnote; &shiftnote;
** 接続にWLANを使用する場合 [#c0e0038e] ** 接続にWLANを使用する場合 [#c0e0038e]
-モニターやキーボード,マウスを接続しないでインストールする時にWLANを使用する場合には,アクセスポイントに接続してdhcpを使用してNetworkに接続するということが必要になる。+モニターやキーボード,マウスを接続しないでインストールする時にWLANを使用する場合には,指定するアクセスポイントに接続してdhcpを使用してNetworkに接続するということが必要になる。
-無線LANしか使えない場合,/bootにwpa_supplicant.confを作成しておけばブート時に使用してくれるようだ。~+無線LANを使う場合,/bootにwpa_supplicant.confを作成しておけば,ブート時に使用してくれるようだ。~
最初にブート後,/boot/wpa_supplicant.confを/etc/wpa_supplicant/wpa_supplicant.confにコピー後,/boot/wpa_supplicant.confは削除される。 最初にブート後,/boot/wpa_supplicant.confを/etc/wpa_supplicant/wpa_supplicant.confにコピー後,/boot/wpa_supplicant.confは削除される。
Line 33: Line 61:
 country=JP  country=JP
 network={  network={
-         ssid="marin"+         ssid="access1"
         key_mgmt=NONE                                <-- WEPの場合          key_mgmt=NONE                                <-- WEPの場合
         wep_key0="xxxxxx"          wep_key0="xxxxxx"
         wep_tx_keyidx=0          wep_tx_keyidx=0
 +         priority=2                                    <-- 数字が大きい方が優先される
 }  }
 network={  network={
-         ssid="nermal2"+         ssid="access2"
         psk="xxxxxxxxxxxxxx"                          <-- WAPの場合          psk="xxxxxxxxxxxxxx"                          <-- WAPの場合
 +         priority=1
 }  }
 +
 +Raspberry PiのIPアドレスを知るのは,有線LANと同様。
** 接続にシリアルポートを使用する場合 [#af53ed44] ** 接続にシリアルポートを使用する場合 [#af53ed44]
-有線LANも無線LANも使用できない場合は,GPIOのシリアルポートを使用して,シリアル+有線LANも無線LANも使用できない場合は,GPIOコネクタのシリアルポートを使用して,シリアル
コンソールでログインするようにする。 コンソールでログインするようにする。
-この場合,Raspberry Pi3の場合は,/boot/config.txtに追加する。~ +この場合,''Raspberry Pi3BとZeroW''の場合は,/boot/config.txtに追加する。~
-# dtoverlay=pi3-miniuart-bt+
 core_freq=250  core_freq=250
Line 164: Line 195:
以下のように必要であれば編集する。 以下のように必要であれば編集する。
 network={  network={
-         ssid="marin"+         ssid="access1"
         key_mgmt=NONE                                <-- WEPの場合          key_mgmt=NONE                                <-- WEPの場合
         wep_key0="xxxxxxxxxxxxxxxxxxx"          wep_key0="xxxxxxxxxxxxxxxxxxx"
         wep_tx_keyidx=0          wep_tx_keyidx=0
 +         priority=2                                    <-- 数字が大きい方が優先される
 }  }
 network={  network={
-         ssid="nermal2"+         ssid="access2"
         psk="xxxxxxxxxxxxxx"                          <-- WAPの場合          psk="xxxxxxxxxxxxxx"                          <-- WAPの場合
         key_mgmt=WPA-PSK          key_mgmt=WPA-PSK
 +         priority=1
 }  }
Line 228: Line 261:
FallbackNTPには予備のサーバーを指定しておく。 FallbackNTPには予備のサーバーを指定しておく。
 [Time]  [Time]
- NTP=ntp.nict.jp+ NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp
 FallbackNTP=time.google.com  FallbackNTP=time.google.com
Line 236: Line 269:
 gpu_mem=128  gpu_mem=128
-* SwapをOFFにして,RAMディスクを使用する [#rf6cd373] +** VNC接続を有効にする [#i9c30998
-Raspberry Piは,MicroSDしかストレージがないので,短い時間でMicroSDカードが寿命になる場合がある。 +リモート接続する時にGUIで操作したい場合は,通常はvncを使うかxrdpを使うかします。Raspbianではrealvnc-vnc-serverが入っているようだ。
- +vncを使う場合は,raspi-configの5. Interfacing OptionからP3 VNCをたどってenableにすればOK。
-出来るだけ,この寿命を長くするように,Swapファイルは使用をやめて,テンポラリファイルをRAM Diskを使用するようにしてみる。 +
- +
-RAMディスクは,電源OFF-ONやブートしたりした場合消えてしまうが,テンポラリのログ等では消えてしまってもまあ問題ない。 +
- +
-** swapを使わないようにする [#j089ae05+
-freeコマンドでswapサイズを確認してみる。 +
- # free +
-               total      used      free    shared    buffers    cached +
- Mem:        750632    523468    227164      5460      53252    361196 +
- -/+ buffers/cache:    109020    641612 +
- Swap:      102396          0    102396 +
- +
-と,スワップファイルとして100MBが確保されている。usedは0なんで,スワップは発生していないが・・・ +
- +
-まず,swapを無効化してみる。 +
- # dphys-swapfile swapoff +
-確認してみると, +
- # free +
-             total      used      free    shared    buffers    cached +
- Mem:        750632    527064    223568      5460      53652    361688 +
- -/+ buffers/cache:    111724    638908 +
- Swap:            0          0          0 +
-使用されなくなった。 +
- +
-ちなみに,swapを有効化するには, +
- # dphys-swapfile swapon +
-でOK。 +
- +
-swapは使用しなくなったがこれは一時的なため,swapが自動起動しないようにsystemctlで停止する。 +
- # systemctl stop dphys-swapfile +
-自動起動もやめる。 +
- # systemctl disable dphys-swapfile +
- +
-Raspberry Piを再起動して,swapが使用されていないか確認する。 +
- +
-** /etc/fstabの編集 [#q92b0bc8] +
-/etc/fstabを編集して,/tmpと/var/tmpと/var/logを移動するようにしてみる。 +
- proc            /proc          proc    defaults          0      0 +
- /dev/mmcblk0p1  /boot          vfat    defaults          0      2 +
- /dev/mmcblk0p2  /              ext4    defaults,noatime  0      1 +
- # a swapfile is not a swap partition, no line here +
- #  use  dphys-swapfile swap[on|off]  for that +
-これを, +
- proc            /proc          proc    defaults          0      0 +
- /dev/mmcblk0p1  /boot          vfat    defaults          0      2 +
- /dev/mmcblk0p2  /              ext4    defaults,noatime  0      1 +
- # a swapfile is not a swap partition, no line here +
- #  use  dphys-swapfile swap[on|off]  for that +
- tmpfs          /tmp            tmpfs  defaults,size=32m,noatime,mode=1777      0      0 +
- tmpfs          /var/tmp        tmpfs  defaults,size=16m,noatime,mode=1777      0      0 +
- tmpfs          /var/log        tmpfs  defaults,size=32m,noatime,mode=0755      0      0 +
-とtmpfsとして3個追加する。 +
- +
-再起動して,マウント確認をする。 +
- # df -h +
- ファイルシス  サイズ  使用  残り 使用% マウント位置 +
- /dev/root        15G  4.6G  8.9G  34% / +
- devtmpfs        363M    0  363M    0% /dev +
- tmpfs            367M    0  367M    0% /dev/shm +
- tmpfs            367M  5.1M  362M    2% /run +
- tmpfs            5.0M  4.0K  5.0M    1% /run/lock +
- tmpfs            367M    0  367M    0% /sys/fs/cgroup +
- tmpfs            32M  88K  32M    1% /var/log +
- tmpfs            16M    0  16M    0% /var/tmp +
- tmpfs            32M    0  32M    0% /tmp +
- /dev/mmcblk0p1    63M  21M  42M  34% /boot +
- tmpfs            74M    0  74M    0% /run/user/1001 +
- +
-これでRAMディスク化ができたので、SDカード上の tmpファイルを削除する。 +
- rm -rf /tmp/* +
- rm -rf /var/tmp/* +
- +
-** cron により一日に一回システムをリブート [#s222d010] +
-RAMをクリアするために,システムを自動でリブートする設定を行う。 +
- # crontab -e +
-nanoでcrontabファイルの編集ができる。+
-最後の行に下記を追加する。ここでは午前4時5分に再起動がかかるようにした。 +
- 5 4 * * * /sbin/reboot +
- +
-** 不要なログは作成しないようにする [#a79d3e83] +
-rsyslog.confを変更して,不要なログを作成しないようにする。これにより,ディスクへ +
-の書き込みを減らす。 +
- +
-/etc/rsyslog.confファイルで,不要な行の頭をコメントアウトする。 +
- ############### +
- #### RULES #### +
- ############### +
- +
- # +
- # First some standard log files.  Log by facility. +
- # +
- auth,authpriv.*                /var/log/auth.log +
- *.*;auth,authpriv.none          -/var/log/syslog +
- #cron.*                        /var/log/cron.log +
- #daemon.*                      -/var/log/daemon.log +
- #kern.*                        -/var/log/kern.log +
- #lpr.*                          -/var/log/lpr.log +
- #mail.*                        -/var/log/mail.log +
- #user.*                        -/var/log/user.log+
- # +デフォルトをコンソールにしている場合はGUIに変更しておく。Raspi-configの3 Boot OptionsのB1 Desktop / CUIでGUIを選ぶ。
- # Logging for the mail system.  Split it up so that +
- # it is easy to write scripts to parse these files. +
- # +
- #mail.info                      -/var/log/mail.info +
- #mail.warn                      -/var/log/mail.warn +
- #mail.err                      /var/log/mail.err+
-&nbsp;+リモート接続側は,通常の[[RealVNC Viewer&gt;https://www.realvnc.com/en/connect/download/viewer/]]を使用する。
- # Logging for INN news system. +
- # +
- #news.crit                      /var/log/news/news.crit +
- #news.err                      /var/log/news/news.err +
- #news.notice                    -/var/log/news/news.notice+
- # +*** VNC接続時の解像度 [#hbe4fe15] 
- # Some "catch-all" log files. +VNCを使ってリモート接続するとそのままでは,VGA(720x480)の解像度になってしまう。~ 
- # +これでは不便なので,解像度の設定を変更する。
- #*.=debug;\ +
- #      auth,authpriv.none;\ +
- #      news.none;mail.none    -/var/log/debug +
- *.=info;*.=notice;*.=warn;\ +
-         auth,authpriv.none;\ +
-         cron,daemon.none;\ +
-         mail,news.none          -/var/log/messages+
- # +/boot/config.txtを修正する。下の行の行頭のコメント記号を外す。 
- # Emergencies are sent to everybody logged in. + framebuffer_width=1280 
- # + framebuffer_height=720 
- *.emerg                        :omusrmsg:*+とするか,もしくは, 
 + hdmi_group=2 
 + hdmi_mode=85 
 +とかする。(1280x720@60Hz)設定値は[[こちら>https://elinux.org/RPiconfig#Video_mode_options]]を参照。)~ 
 +後者は,HDMIを使ってディスプレー表示した場合でも,この解像度が使用される。
-一部のプログラムはテンポラリ用のディレクトリが無いとエラーになるため,OS起動時にディレクトリを作るようにする。+現在の画面の設定値を知りたい場合は, 
 + # tvservice -s 
 + state 0x12000a [HDMI DMT (85) RGB full 16:9], 1280x720 @ 60.00Hz, progressive 
 +のように,表示してくれる。
-/etc/rc.localで,これを行う。 +後は,Raspberry Piを再起動すれば,画面サイズが変更されている。
- #!/bin/sh -e +
- # +
- # rc.local +
- # +
- # This script is executed at the end of each multiuser runlevel. +
- # Make sure that the script will "exit 0" on success or any other +
- # value on error. +
- # +
- # In order to enable or disable this script just change the execution +
- # bits. +
- # +
- # By default this script does nothing.+
- # Print the IP address +*** クライアントをRealVNC Viewerじゃない場合 [#w4f7164e] 
- _IP=$(hostname -I) || true +VNCクライアントは,亜流がたくさんある。他のVNCクライアントを使いたい場合は, 
- if [ "$_IP" ]; then +/root/.vnc/config.d/vncserver-x11の 
-   printf "My IP address is %s\n" "$_IP" + Authentication=VncAuth 
- fi+に変更する。もし該当する行がなければ追加する。
- mkdir -p /var/log/ConsoleKit + # vncpasswd -service 
- mkdir -p /var/log/samba +で,適当なパスワードをセットする。接続時に必要なので忘れないようにする。
- mkdir -p /var/log/fsck +
- mkdir -p /var/log/apt +
- mkdir -p /var/log/ntpstats +
- chown root.ntp /var/log/ntpstats +
- chown root.adm /var/log/samba+
- touch /var/log/lastlog +*** GUIでの自動ログインをやめる [#ac27f2df] 
- touch /var/log/wtmp +デフォルトだとGUI環境でpiユーザで自動ログインされる。
- touch /var/log/btmp +
- chown root.utmp /var/log/lastlog +
- chown root.utmp /var/log/wtmp +
- chown root.utmp /var/log/btmp+
- exit 0+これをやめる。~ 
 +''/etc/lightdm/lightdm.conf''ファイルを編集して, 
 + autologin-user=pi 
 +   ↓ 
 + #autologin-user=pi 
 +のように,コメントする。
-再起動して,/var/logの下に,ログが出来ていることを確認する。 +** xrdpを使ってリモート接続 [#tb6b5562] 
- # ls -la /var/log/ +Windowsマシンでは標準でリモートデスクトップ接続が使えます。VNCの場合は,WindowsマシンへVNC Viewerをインストールする必要があるんで,面倒な場合はリモートデスクトップ接続を使いたいわけです。~ 
- 合計 92 +Raspbianでも,このリモートデスクトップ接続を使える。 
- drwxr-xr-x  7 root root    300  7月 11 11:21 . + # apt-get install xrdp 
- drwxr-xr-x 11 root root  4096  3月  4 01:24 .. +Raspberry Piを再起動後は,Windowsマシンからリモートデスクトップ接続を使って接続できる。~ 
- drwxr-xr-x  2 root root    40  7月 11 11:21 ConsoleKit +リモートデスクトップ接続の場合,画面の解像度なんかも接続側で設定できる。また,音をリモートすることも出来る。(Raspberry PiにPulseaudioをインストールする必要がある。)
- drwxr-xr-x  2 root root    40  7月 11 11:21 apt +
- -rw-r-----  1 root adm    738  7月 11 11:22 auth.log +
- -rw-r--r--  1 root root  3783  7月 11 11:21 boot.log +
- -rw-------  1 root utmp      0  7月 11 11:21 btmp +
- drwxr-xr-x  2 root root    40  7月 11 11:21 fsck +
- -rw-r--r--  1 root utmp 292584  7月 11 11:22 lastlog +
- -rw-r-----  1 root adm  20786  7月 11 11:21 messages +
- drwxr-xr-x  2 root ntp      40  7月 11 11:21 ntpstats +
- drwxr-xr-x  2 root adm      40  7月 11 11:21 samba +
- -rw-r-----  1 root adm  41577  7月 11 11:22 syslog +
- -rw-rw-r--  1 root utmp  1920  7月 11 11:22 wtmp +
- -rw-------  1 root root    98  7月 11 11:21 xrdp-sesman.log+


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 1463, today: 1, yesterday: 0