Ubuntu16.04でRaspberry piを焼く
はじめに
Raspberry piで使用するSDカードをフォーマットして、ディスクイメージを書き込むところから、初期設定までメモしておきたいと思います。
インストール
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"を消す
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
はい、完成!(適当)