LoginSignup
0
3

More than 5 years have passed since last update.

Raspberry Pi に raspbian をキーボードとディスプレイなしでインストールする無精手順[要シリアルケーブル]

Last updated at Posted at 2017-01-06

Raspberry Pi に raspbian をキーボードとディスプレイなしでインストールする無精手順[要シリアルケーブル]

目的

  • 個人的メモ
  • キーボードとディスプレイ接続めんどくさい

対象

  • UNIXコマンド多少わかる

構成

手順

1. ダウンロード

curl -O http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2016-11-29/2016-11-25-raspbian-jessie.zip

curl -O http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2016-11-29/2016-11-25-raspbian-jessie.zip.sha1
FILE_NAME='2016-11-25-raspbian-jessie'

openssl sha1 $FILE_NAME.zip | awk '{print $2}' | grep --color -x `cat $FILE_NAME.zip.sha1 | awk '{print $1}'`
outpuut
6587483c9b90b11185e2ce99175e27fe75af1f61
unzip $FILE_NAME.zip

ls -lh $FILE_NAME.img

2. SD カードへの書き込み

2-1. デバイス名を確認

システムディスクが /dev/disk0 なので disk1 以降を見つけます

  • SD カード接続前
df -h | grep '/dev/disk[1-9]'
  • SD カード接続後
df -h | grep '/dev/disk[1-9]'
/dev/disk1s1                        56Mi  8.4Mi   47Mi    16%     512          0  100%   /Volumes/NONAME

デバイス名 /dev/disk1 を確認出来ました。

  • mac で disk1 でなく raw device の rdisk1 を指定していることについては man hdiutil を確認
    • 要は rdisk を指定したほうが dd が速いです

2-2. 書き込み

デバイス名を間違わないように注意!!!

DEV_NAME='/dev/rdisk1'
echo $DEV_NAME
echo $FILE_NAME.img

sudo diskutil unmountDisk $DEV_NAME
sudo dd bs=1m if=./$FILE_NAME.img of=$DEV_NAME conv=sync

2-3. アンマウントと取り外し

マウントされている場合はアンマウントして取り外しましょう。

sudo diskutil unmountDisk $DEV_NAME

3. Raspberry Pi の起動

3-1. コンソールケーブルの接続

GPIOピンアサイン図
- https://www.raspberrypi.org/documentation/usage/gpio/

ピン ケーブル色
Ground
14
15
Not Connected

IMG_1130.JPG

  • ホストPCのUSBポートに接続し /dev/cu.usbserial が見えていたらOK
ls /dev/cu.usbserial
output
/dev/cu.usbserial

3-2. Raspberry Pi の電源を入れログインする

  • screen コマンドでシリアル接続します。
screen /dev/cu.usbserial 9600
  • 何かキーを押してプロンプトが表示されればここまでは成功です
output
Raspbian GNU/Linux 8 raspberrypi ttyAMA0

raspberrypi login:
  • 以下のアカウントでログインします。
    • UserName: pi
    • PassWord: raspberry
output
pi@raspberrypi:~$

4. 初期設定

4-1. ルートパーティションの拡張

dd コマンドで転送した初期イメージ(約4GB)から利用しているSDカードの最大サイズまで拡張します。

sudo raspi-config

1 Expand Filesystem

再起動して適用します。

sudo reboot

4-2. エディターを変更します(vim.tiny)

sudo update-alternatives --config editor

4-3. ネットワークの設定をします

4-3-1. 有線LANの場合
  • 設定ファイルを編集します。

ref. man 5 interfaces

sudo vi /etc/network/interfaces
DHCPでアドレスを取得する場合
#iface eth0 inet manual
iface eth0 inet dhcp
手動でアドレスを設定する場合の例
iface eth0 inet static
  address 192.168.0.100
  netmsak 255.255.255.0
  gateway 192.168.0.1
4-3-2. 無線LANの場合
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
#country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="SSID名"
        psk="パスワード"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}

4-4. ネットワークサービスを再起動します

  • 無線LANの場合は、無線LANアダプタを接続するだけで良いです
  • 有線LANの場合は、サービスを再起動します
sudo systemctl daemon-reload

4-5. ネットワーク設定がされていることを確認します

  • IP アドレス
有線LANの場合
ip a s eth0
無線LANの場合
ip a s wlan0
  • ルーティング
ip r s
  • DNS
cat /etc/resolv.conf

4-6. SSH で外部から接続するための設定

status確認
sudo systemctl status ssh.service
サービス開始
sudo systemctl start ssh.service
サービス有効化
sudo systemctl enable ssh.service

5. 言語設定、OS アップデート etc

sudo raspi-config

4 Internationalisation Options > I1 Change Locale

  • 任意で言語を追加します
[*] en_US.UTF-8 UTF-8
[*] ja_JP.UTF-8 UTF-8
  • 設定可能な言語に追加されていることを確認します
locale -a
output
C
C.UTF-8
POSIX
en_GB.utf8
en_US.utf8
ja_JP.utf8
  • 必要に応じて .bashrc に追記します
vi .bashrc
export LANG=C
export LC_ALL=C
export LANGUAGE=C
. .bashrc
locale
  • OS アップデート
sudo apt-get update -y
sudo apt-get upgrade -y

6. おまけ

  • X (GUI) 関連パッケージ他の削除

ref. https://codegists.com/snippet/shell/raspbian_server_cleaningsh_rgaidot_shell

sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep x11 | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep python | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep sound | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep gnome | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep lxde | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep gtk | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep desktop | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep gstreamer | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep avahi | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep dbus | sed s/install//`
sudo apt-get -y remove `sudo dpkg --get-selections | grep -v "deinstall" | grep freetype | sed s/install//`
sudo apt-get -y autoremove
sudo apt-get clean
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3