概要
- Raspberry Piの初期設定など、自分の記事で、
いつもの
...と省略してるが、自分でもよくわからなくなりそうなので、現状のをメモっとく。 - 自分は、長期で運用は、あまり考えてなく、なにか試すたびにRaspbianイメージを焼いてる.
-
2016-11-25-raspbian
より、デフォルトで、ssh無効になっている。bootパーティションに、ssh
というファイルを作成することで、有効化.
環境
- Raspberry Pi Zero/1/2/3
- Windows 7 (64ビット)
手順
OSイメージ選択
Raspbian: https://www.raspberrypi.org/downloads/raspbian/
- だいたい X-window使うか、使わないか、で判断。
X | 用途 | イメージサイズ | ファイル名 | |
---|---|---|---|---|
Raspbian | Xあり | デスクトップ向け | 4.04GB |
2016-11-25-raspbian-jessie 2016-09-23-raspbian-jessie.img 2016-05-27-raspbian-jessie.img 3.74GB (1.29GB) |
Raspbian Lite | Xなし | サーバ向け | 1.29GB |
2016-11-25-raspbian-jessie-lite 2016-09-23-raspbian-jessie-lite.img 2016-05-27-raspbian-jessie-lite.img 1.29GB (292MB) |
SDに焼く。
- ツール (Windows)
-
Rufus : ポータブル版、いいかも?
Create a bootable disk using [DD Image]で、となりのディスクアイコンを押して、イメージファイル(.img)を選択 - Win32DiskImager
- DD for Windows
-
Rufus : ポータブル版、いいかも?
- エクスプローラで、SDカードを開いて、右クリ>新規作成>テキスト文書、とでもして、
ssh
というファイルを作成。(拡張子無し)
初回電源投入とログイン
ユーザ名:
pi
/ パスワード:raspberry
-
環境としては、
- キーボード・ディスプレイ接続
- UART接続(シリアル-USB変換ケーブル接続) : 115200bps
-
有線ネットワーク接続(イーサネット)
ちなみに、MACアドレスは、"b8:27:eb"
+ CPUのシリアル番号の下6桁で、生成されてるらしい。pi@raspberrypi:~ $ cat /proc/cpuinfo | grep -i serial Serial : 000000002a6c0f31 pi@raspberrypi:~ $ ifconfig eth0 | grep -i hwaddr eth0 Link encap:Ethernet HWaddr b8:27:eb:6c:0f:31 pi@raspberrypi:~ $
-
無線ネットワーク接続接続(Wifi)
(Liteじゃない方のみ)FATパーティションに設定済みwpa_supplicant.conf
を置いておくと、Wifiデバイス起動時(ifup)/etc/wpa_supplicant/
にコピーしてくれるwpa_supplicant.confをコピーするところpi@raspberrypi:~$ cat /etc/network/if-pre-up.d/01-wpa-config-copy #!/bin/sh if [ -e /boot/wpa_supplicant.conf ]; then /bin/mv /boot/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf /bin/chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf fi pi@raspberrypi:~$
デフォルトのwpa_supplicant.confpi@raspberrypi:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 pi@raspberrypi:~ $
wpa_passphraseで、設定生成(grepの-vは、その文字を含まない行を表示=>生パスワードを含めない)pi@raspberrypi:~ $ wpa_passphrase wifi_ssid password_desuyo | grep -v \#psk network={ ssid="wifi_ssid" psk=e42b6b0cada605c80ca3727df865ea5adddb8ca9fee2ed1e276233d393526c76 } pi@raspberrypi:~ $
(例)wpa_supplicant.confcountry=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wifi_ssid" psk=e42b6b0cada605c80ca3727df865ea5adddb8ca9fee2ed1e276233d393526c76 }
- ツール
-
TeraTerm : zip版は解凍して、
ttermpro.exe
実行でいけるのでらくちん。何か設定したら、TERATERM.INI
は、こまめにバックアップとっておくといいかも。 -
PuTTY:
You can download PuTTY
here.
の hereあたりをクリックして、Windowsのバイナリをダウンロード...
(わたしは、PuTTY Portableにお世話になっています。)
-
TeraTerm : zip版は解凍して、
APTパッケージレポジトリのアップデート。
-
sudo apt-get update
# 最初に一回やっとく。 sudo apt-get upgrade
# パッケージの更新. 適当に設定がおわったあとでもよいかと。-
upgrade
する前に使わなそうなパッケージを削除しておくとよいかも。例)2017-01-11-raspbian-jessiepi@raspberrypi:~$ uname -a Linux raspberrypi 4.4.34+ #930 Wed Nov 23 15:12:30 GMT 2016 armv6l GNU/Linux pi@raspberrypi:~$ time sudo apt-get autoremove -y wolfram-engine sonic-pi scratch nodered libreoffice-common --purge Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libboost-atomic1.55.0* libboost-filesystem1.55.0* libboost-program-options1.55.0* libboost-regex1.55.0* libboost-thread1.55.0* libc-ares2* libcwiid1* libffi5* libjs-prettify* libqscintilla2-11* libqscintilla2-l10n* libqt4-network* libqt4-xmlpatterns* libqtwebkit4* libreoffice* libreoffice-avmedia-backend-gstreamer* libreoffice-base* libreoffice-base-core* libreoffice-base-drivers* libreoffice-calc* libreoffice-common* libreoffice-core* libreoffice-draw* libreoffice-gtk* libreoffice-impress* libreoffice-java-common* libreoffice-math* libreoffice-report-builder-bin* libreoffice-sdbc-hsqldb* libreoffice-writer* libruby1.9.1* libruby1.9.1-dbg* libruby2.1* libscsynth1* libtcl8.5* libtcltk-ruby1.9.1* libtk8.5* libv8-3.14.5* libyaml-0-2* nodejs* nodejs-legacy* nodered* nuscratch* python3-uno* ri1.9.1* ruby* ruby1.9.1* ruby1.9.1-dev* ruby1.9.1-examples* ruby1.9.1-full* ruby1.9.3* ruby2.1* rubygems-integration* scratch* sonic-pi* squeak-plugins-scratch* squeak-vm* supercollider* supercollider-common* supercollider-ide* supercollider-language* supercollider-server* supercollider-supernova* tcl8.5* tk8.5* wolfram-engine* 0 upgraded, 0 newly installed, 66 to remove and 133 not upgraded. After this operation, 1,221 MB disk space will be freed. (Reading database ... 122284 files and directories currently installed.) Removing supercollider-supernova (1:3.6.6~repack-2-1) ...
-
aptキャッシュサーバある場合は、先に、設定をしておく
=> [メモ] aptのキャッシュサーバ(apt-cacher-ng)例-/etc/apt/apt.conf.d/02proxyAcquire::http::Proxy "http://192.168.123.222:3142";
らずぱいの初期設定 sudo raspi-config
-
パーティションの拡張(:1 Expand Filesystem
)
最近のRaspbianは初回起動時にスクリプトが実行されるので、やらなくてよい
(df -h
とやって、/dev/root
のサイズが(使ってるSDの割りに)小さければ、実行してみる、とか?) -
pi
のパスワード変更(2 Change User Password
): 単にpasswd
でもよいかと.. -
ホスト名(
9 Advanced Options > A2 Hostname
):sudo raspi-config nonint do_hostname new_host_name
でもいける。例)ホスト名をrpi-(eth0のMACアドレスの下6桁)にする=>rpi-6c0f31# CPUのシリアル番号から sudo raspi-config nonint do_hostname rpi-`cat /proc/cpuinfo | grep Serial | rev | cut -b 1-6 | rev` # MacAddressから #sudo raspi-config nonint do_hostname rpi-`cat /sys/class/net/eth0/address | sed -e 's/://g' | cut -b7-` sudo reboot
- Windows10だったり、avahi(
sudo apt-get install avahi-utils
)とか、bonjourとか入ってると、-
ping rpi-6c0f31.local
とかで応答あったり、 -
ssh pi@rpi-6c0f31.local
で SSHログインできたりするハズ。
-
- Windows10だったり、avahi(
GPU Memory (
9 Advanced Options > A3 Memory Split
) : 16 (カメラとか、ディスプレイを使わないなら)。カメラ使うときは、最低128必要-
国際化設定(
5 Internationalisation Options
)-
I1 Change Locale
:[*] ja_JP.UTF-8 UTF-8
にチェックを入れて、Default localeで、ja_JP.UTF-8
(日本語)またはC.UTF-8
(英語)あたりを選択。 -
I2 Change Timezone
:Asia > Tokyo
-
I3 Change Keyboard Layout
: (本体につないだUSBキーボードから実行可能) -
I4 Change Wi-fi Country
:JP Japan
(GB Britain (UK)
,US United States
)
-
-
VNC (2016-09-23より、RealVNC が使える)
- 9 Advanced Options > A5 VNC より
-
ネットワーク
-
IP固定(Static IP)
- ルータのDHCPの設定で、MACアドレスでIPアドレス固定割付、をやる。(自分のおうちなど、ルータの設定ができる場合)
-
/etc/dhcpcd.conf
で固定.(例)/etc/dhcpd.conf... interface eth0 static ip_address=192.168.0.62/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
-
日本語関係
- X用日本語フォント(インストールせず、Default Localeを日本語にて、Desktopで起動すると、豆腐になる)
sudo apt-get install fonts-ipafont fonts-ipaexfont
- ほかの日本語フォント
sudo apt-cache search fonts | grep -i japanese
# などで検索 - 日本語入力
sudo apt-get install fcitx-mozc fcitx-anthy
- 日本語のマニュアル
sudo apt-get install manpages-ja manpages-ja-dev
ソフトウェア設定
よく使うパッケージインストール
# いつも
sudo apt-get install -y htop byobu git
# まぁまぁ.
sudo apt-get install iotop bwm-ng lsof ccze fbcat
# カーネルビルド.
sudo apt-get install build-essential git ncurses-dev bc unzip
Swapを切る
# パッケージ削除
sudo apt-get purge dphys-swapfile
#
# /etc/fstab : いくつかのフォルダをtmpfsとする。
sudo sh -c 'echo "#### ramdisk" >> /etc/fstab'
sudo sh -c 'echo "tmpfs /tmp tmpfs defaults,noatime,nosuid,size=128m 0 0" >> /etc/fstab'
sudo sh -c 'echo "tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=32m 0 0" >> /etc/fstab'
sudo sh -c 'echo "tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=32m 0 0" >> /etc/fstab'
Samba
#パッケージインストール
sudo apt-get install -y samba
# オリジナル設定のバックアップ
if [ ! -e /etc/samba/smb.conf.orig ] ; then sudo mv /etc/samba/smb.conf{,.orig}; sudo cp /etc/samba/smb.conf{.orig,}; echo "smb.conf: backup done" ;else echo "No need backup"; fi
#
# 設定の編集.
sudo vi /etc/samba/smb.conf
...
...
[homes]
browseable = no # 好みにより yes
read only = yes
...
...
# (お好みにより)最後の方に追加
# だれでも読み書き可能な共有フォルダ
[public_share]
path = /home/pi/pub # フォルダを作っておく.
writable = yes
guest ok = yes
guest only = yes
# smb.confの [global]セクションで、passdb backend = tdbsam となっているので、ユーザ設定をする.
# 現在のユーザリスト
sudo pdbedit --list
# ユーザ追加 => パスワードを聞かれる
sudo pdbedit -a -u pi -h /home/pi -f "Raspberry Pi" -N "Raspberry Pi Default User"
#
#
# 設定確認
sudo pdbedit --list
#
# サービス再起動
sudo systemctl restart smbd nmbd
-
\\rpi.local\pi
または、\\<らずぱいのIP>\pi
にアクセスして、ユーザpi、パスワードを入力。
追加ハードウェアなどの設定
Wifi
wpa_passphrase SSID PASS | grep -v PASS | tee -a /etc/wpa_supplicant/wpa_spplicant.conf
USBシリアルでコンソール(USBの方を挿す)
sudo sudo systemctl enable serial-getty@ttyUSB0.service
- うちの環境だと、起動時9600bpsになる、
stty -F /dev/ttyUSB0 115200
とか、921600とかでボーレート変更する。
RTC(DS3231)
- I2C接続のリアルタイムクロック (VCC, GND, SDA, SCLの4つをつなぐ)
# ntpとi2c関係のツール.
sudo apt-get install -y ntpdate i2c-tools
# i2cを有効
sudo raspi-config nonint do_i2c 0
# 確認 => dtparam=i2c_arm=on となってる
cat /boot/config.txt | grep i2c
#
# /boot/config.txtに dtoverlay=i2c-rtc,ds3231 を追加.
grep ^dtoverlay=i2c-rtc,ds3231 /boot/config.txt ; if [ $? != 0 ]; then sudo sh -c 'echo dtoverlay=i2c-rtc,ds3231 >> /boot/config.txt'; fi
#
# サービス設定
sudo update-rc.d fake-hwclock disable
sudo update-rc.d ntp disable
#
# 設定書き換え.
sudo vi /lib/udev/hwclock-set
#if [ -e /run/systemd/system ] ; then
# exit 0
#fi
#リブート.
sudo reboot
#
#
sudo i2cdetect -y 1
#こんなのがでてくる
#pi@raspberrypi:~ $ sudo i2cdetect -y 1
# 0 1 2 3 4 5 6 7 8 9 a b c d e f
#00: -- -- -- -- -- -- -- -- -- -- -- -- --
#10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
#70: -- -- -- -- -- -- -- --
#
# リブート後、時刻補正、RTCへ時刻設定
sudo sh -c 'ntpdate pool.ntp.org ; hwclock -w'
ENC28J60 (SPI-Ethernet Port)
- ワイヤー7本 => RaspberryPi - ENC28J60(SPI-Ethernet)設定
# spiを有効
sudo raspi-config nonint do_spi 0
# 確認 => dtparam=spi=on
grep spi /boot/config.txt
#
# /boot/config.txtに dtoverlay=enc28j60,int_pin=25,speed=25000000 を追加.
grep ^dtoverlay=enc28j60,int_pin=25,speed=25000000 /boot/config.txt ; if [ $? != 0 ]; then sudo sh -c 'echo dtoverlay=enc28j60,int_pin=25,speed=25000000 >> /boot/config.txt'; fi