Raspbianのセットアップ3 〜bootディレクトリ?そんなんで良かったの?
confファイルをboot/に置くだけ
ext4のドライブの中を直接書き直してやろうという野望は脆くも崩れ去りましたが、ヒントはRaspberry Pi Zero(長いので以降RPi Zero)にありました。(気分でAmazonのリンクを貼っておきます)
RPi ZeroにはLANコネクタが無く有線接続できないので、モニター等をつなぐかいきなりWi-Fi接続させるしかないハズで、当然(?)モニターなしでセットアップする人がいるだろうという希望的観測の元ググってみました。
いました。
検索ワードが頭悪いことについての批判は認めません。
検索結果で表示されているブログを何箇所か読んでみると以下の方法でイケるようです。
1, wpa_supplicant.confにWi-FiのSSIDとパスフレーズを書く
2, wpa_supplicant.confをboot/に置く
え?sshを有効にするのと同じじゃね?一番最初、これやろうとして「いやいやそんなわけ無いだろ、bootは本ブートのためのブートローダーが置いてあるところだろ?」ってやめたじゃん!(実は、ここですでにsshは良くてWi-Fiはダメという矛盾に気づいていない)
ラズパイの起動シーケンスは普通のパソコンと違っていて、BIOSがありません。
そこでBCM283*シリーズは内蔵OTP(ワンタイムプログラム)ROMの情報を元にnicroSDのboot/にあるブートローダーを内蔵GPUが読み込んでから本ちゃんのRaspbianをブートするという手順を踏んでいるそうでその辺りをちゃんと調べておかないとイケないなと思っています。
ただ、それをここで書いてると進捗どうですか?ダメですとしかならないので別の機会に譲ります。
とまぁそんなわけで、これがトゥルーエンドへのルートと信じて進みます。(トゥルーエンドなんて言葉、初めて使ったよ...)
wpa_supplicant.confを作成
色々な方のやり方を見ているとvimで作っているみたいですが、vimは使ったことがないのでテキストエディットを使います。
$ cd /Volumes/boot/
$ touch wpa_supplicant.conf
Finderでboot/を覗いてwpa_supplicant.confをダブルクリック、テキストエディットを選択して編集します。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="接続したいSSID"
psk="SSIDのパスワード"
key_mgmt=WPA-PSK
}
実は一度、key_mgmtを書かずにラズパイに入れたところWi-Fiにつながりませんでした。あとssidとpskの値は" "で括ってあげてください。
ラズパイを起動してWi-Fiに接続
microSDをスロットに挿して電源を入れます。
赤いLEDが点灯し、緑色のLEDがチカチカしてきたらラズパイのIPアドレスを探します。ターミナルコマンドのarp -aでもいいのですが、こんな有様で192.168.1.254までずーっとスキャンをかける事態に陥りました。
$ arp -a
? (192.168.1.1) at **:**:**:**:**:** on en0 ifscope [ethernet]
? (192.168.1.2) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.3) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.4) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.5) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.6) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.7) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.8) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.9) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.10) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.11) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.12) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.13) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.14) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.15) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.16) at (incomplete) on en0 ifscope [ethernet]
とても鬱陶しいのでLanScanというツールを使います。
起動してStart LanScanを押すと探索してくれます。
Hostname raspberrypi、IPアドレスは192.168.1.108で接続していました。
pingを撃って応答があることが確認できました。
$ ping 192.168.1.108
PING 192.168.1.108 (192.168.1.108): 56 data bytes
64 bytes from 192.168.1.108: icmp_seq=0 ttl=64 time=8.507 ms
64 bytes from 192.168.1.108: icmp_seq=1 ttl=64 time=6.204 ms
64 bytes from 192.168.1.108: icmp_seq=2 ttl=64 time=6.938 ms
64 bytes from 192.168.1.108: icmp_seq=3 ttl=64 time=9.148 ms
64 bytes from 192.168.1.108: icmp_seq=4 ttl=64 time=8.878 ms
64 bytes from 192.168.1.108: icmp_seq=5 ttl=64 time=8.753 ms
^C
--- 192.168.1.108 ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.204/8.071/9.148/1.098 ms
SSH接続
いよいよSSH接続します。
デフォルトでのuser名はpi、パスワードはraspberryです。
コマンドを投入するとなにか信頼性がどうのこうの言われましたがそこは気にせず進めていきます。
$ ssh pi@192.168.1.108
The authenticity of host '192.168.1.108 (192.168.1.108)' can't be established.
ECDSA key fingerprint is SHA256:*****************************************
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.108' (ECDSA) to the list of known hosts.
pi@192.168.1.108's password:
.
.
.
.
.
Last login: Tue Oct 9 12:43:53 2018
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $
はい、無事接続できました。
パスワードの変更
どこのブログでもデフォのパスワードはやめておけと言われているので変更します。
pi@raspberrypi:~ $ passwd
Changing password for pi.
(current) UNIX password: (デフォのパスワード"raspberry")
Enter new UNIX password: (新しいパスワード)
Retype new UNIX password: (もう一度新しいパスワード)
passwd: password updated successfully
pi@raspberrypi:~ $
Raspbianのアプデ
アップデートコマンドを投げてRaspbianを最新にします。
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
updateは割とすぐ終わるのですがupgradeは3〜4分くらいかかります。
一応lsしてみる
一応、前回の失敗の影響でパーミッションはどうなってるのか気になってlsコマンドを投げてみます。
pi@raspberrypi:~ $ ls -l
total 40
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Desktop
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Documents
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Downloads
drwxr-xr-x 2 pi pi 4096 Oct 9 12:31 MagPi
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Music
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Pictures
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Public
drwxr-xr-x 2 pi pi 4096 Oct 9 12:31 python_games
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Templates
drwxr-xr-x 2 pi pi 4096 Oct 9 12:44 Videos
pi@raspberrypi:~ $
おおぉ、ちゃんとroot権限で編集できるようになってる。
次回は固定IPアドレスを設定します。