1日ひとつだけ強くなる

おべんきょうのーと

Ubuntu16.04でRaspberry piを焼く

はじめに

Raspberry piで使用するSDカードをフォーマットして、ディスクイメージを書き込むところから、初期設定までメモしておきたいと思います。

インストール

www.raspberrypi.org

SDカードのデバイス名を調べる

まずは何も挿していない状態とSDカードを指した状態でそれぞれdf -hコマンド

$ df -h
/dev/mmcblk0p1   63M   21M   43M  34% /media/[自分のデバイス名]/boot
/dev/mmcblk0p2   15G  1.2G   13G   9% /media/[自分のデバイス名]/0aed834e-8c8f-412d-a276-a265dc676112

コマンドの差分を確認してマウントされたSDカードのデバイス名を調べます。これは/dev/sdbやらあるそうですが、僕のは/dev/mmcblk0p\*/でした。

アンマウント

書き込みの前にそれぞれアンマウントしておきましょう。

$ umount /dev/mmcblk0p1
$ umount /dev/mmcblk0p2

書き込み

パーティーションの番号を指定せずにddコマンドで書き込みを行います。少し時間がかかるのでコーヒーでも入れて待ちましょう。 僕はおしゃれにジントニックを作ってる間にできました。

$ sudo dd bs=4M if=2016-11-25-raspbian-jessie-lite.img of=/dev/mmcblk0

SDカードをアンマウント

syncコマンドでキャッシュを同期させてからSDカードを抜きましょう。

$ sync

初期設定

さて、Raspberry piの準備ができたところで初期設定を行いましょう。

初期設定では以下のことを行いたいと思います。 - SDカードの使用可能容量の拡張 - パッケージアップデート - piユーザー名とパスワードの変更 - host名の変更 - タイムゾーンの変更 - キーボード配列の変更 - IPアドレスの固定化 - 公開鍵認証でのssh設定 - ntpの設定

パッケージのアップデート

$ sudo apt-get update
$ sudo apt-get upgrade

piユーザーとパスワードの変更

こちらを参考にしました。

ユーザー名を変更するには、一度ログアウトして他のユーザーから操作する必要があります。

sudo useradd -M tmp # ホームディレクトリを作成せずに仮のユーザーを作成する
sudo gpasswd -a tmp sudo # tmpユーザをsudoグループに追加
sudo passwd tmp tmpユーザのパスワードを設定
exit

次に作成したtmpユーザーでログインし、piユーザーの設定を変更していきます。([YOUR USERNAME]には自分のユーザー名を入力します。)

sudo usermod -l admin pi # [YOUR USERNAME] ユーザ名をpiから変更
sudo usermod -d /home/[YOUR USERNAME] -m [YOUR USERNAME] # ホームディレクトリを/home/piから変更
sudo groupmod -n [YOUR USERNAME] pi # piグループを変更
exit

tmpユーザーを削除しましょう。

sudo userdel tmp # tmpユーザー削除
sudo passwd [YOUR USERNAME] # パスワードの変更

rootのパスワードも設定します。

sudo passwd root # rootのパスワードを変更
sudo visudo # パスワードなしでログインできないように"pi ALL=(ALL) NOPASSWD: ALL"を消す

jyn.jp

host名の変更、タイムゾーンの変更、キーボード配列の変更、wi-fiの国設定、SDカードの使用可能容量の拡張

$ sudo raspi-config
>    1.Expand filesystem --> SDカードの使用可能容量を拡張
>    7.Advanced Options
>      A2 Hostname --> hostname設定
>    4.Internationalisation Option 
>      I1 Change Locale - en_GB.UTF-8 UTF-8のチェックを外し、ja_JP.UTF-8 UTF-8を選択 --> 日本語表記
>      I2 Change timezone - Asia - Tokyo --> Timezoneの設定
>      I3 Change Keyboard Layout - Intel Generic 105 --> 日本語キーボードに設定
>      I4 Change Wi-fi Country - JP Japan --> Wi-fiの国設定

ここまで出来たらFinishを選択し、再起動します。

IPアドレスの固定化

以前までは/etc/network/interfacesを編集していましたが、Jessieからは/etc/dhcpdc.confに設定を記述します。

interface eth0
static ip_address=192.168.0.202/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

公開鍵認証方式の設定

$ ssh-keygen -t rsa
# 適当にエンターキー押しておけばいいよ(めんどくさくなった)
$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys

公開鍵をローカルにコピーします。

$ scp pi@192.168.0.202:~/.ssh/id_rsa ~/.ssh/

公開鍵使ってsshログインできたらおっけ〜

$ ssh -i ~/.ssh/id_rsa pi@192.168.0.202

.ssh/configファイルとかに設定記述しておくと、ssh [hogehoge]だけでログインできるので楽です。

$ cat .ssh/config 
Host hogehoge
  HostName 192.168.0.202
  Port 22
  User hugahuga
  IdentityFile ~/.ssh/raspberry-pi

はい、完成!(適当)