このページはRaspbian stretchについて記述しています。
すっかり出遅れていますが、2018年の夏の自由研究にRaspberry Piを触ってみました。
我が家にあるキーボードはATインターフェースとPS/2インターフェースの物ばっかりでUSBインターフェースのキーボードはありません。\5,000-かそこらのRaspberry Piのために2万、3万のキーボードを新調するのも粋なものではありますが、キートップの位置が気に入る物がなく、結局買ったのはSANWA SUPPLYのSKG-KG3WNというやつで、ビックカメラで\1,382-でした。
最初の1台は、現時点で最高スペックのRaspberry Pi 3 Model B+にしました。
千石電商ラジオデパート店で本体と並べて売られていた3Aのやつを買いました。
Webを検索してみると、SanDiskやTrascendを使うと不安定で、TOSHIBAがいい、という情報が多いようなので、TOSHIBAの16GBの物を買いました。www.raspberrypi.orgのDOCUMENTATION > INSTALLATION > SD-CARDSのSD card size (capacity).の項目に
the minimum recommended card size is 8GB.
と書いてあるので、残り8GBの行方が気になるところではあります。
www.raspberrypi.orgのDOCUMENTATION > INSTALLATIONに
Beginners should start with NOOBS
と書いてあるので、素直にNOOBSを使ってRaspbianをインストールしてみることにします。後日、NOOBSではなくddを使ってRaspbianをインストールしたときの様子はこちら。
Downloadsのページから
カードリーダにmicroSDカードを挿しPCのUSBコネクタに接続すると、Ubuntuのデスクトップに「16 GBボリューム」というウィンドウがポップアップしてきました。dfしてみると
$ df -H Filesystem Size Used Avail Use% Mounted on : : /dev/sdb1 17G 33k 17G 1% /media/kohi/0494-C7A1
という結果が出力されたので、これがmicroSDカードのようです。本当はこんなことをやってはダメで、microSDカードを接続する前に一度dfして、接続してからもう1回dfして、増えた行がmicroSDカードと判定するのが正しい手順です。新品なのでFATファイルシステムが作成されているだろうと思いますが、一応念の為mountコマンドも実行してみたところ
$ mount : : /dev/sdb1 on /media/kohi/0494-C7A1 type vfat (rw,nosuid,nodev,relatime,uid=1021,gid=1100,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
と、type vfatと表示されていることが確認できました。
それでは、このディレクトリでアーカイブを展開します。
$ cd /media/kohi/0494-C7A1 $ pwd /media/kohi/0494-C7A1 $ /usr/bin/sudo unzip ~/work/NOOBS_v2_8_2.zip [sudo] password for kohi: Archive: /home/sh/kohi/work/NOOBS_v2_8_2.zip inflating: recovery.rfs inflating: INSTRUCTIONS-README.txt creating: defaults/ : : inflating: overlays/pi3-disable-bt.dtbo inflating: overlays/dwc-otg.dtbo
「16 GBボリューム」のウィンドウにも、どんどんアイコンが増えていきました。
Raspberry Piにキーボード、ディスプレイ、マウスを接続し、できあがったmicroSDカードをPCのカードリーダから抜いてRaspberry Piに挿し、最後にACアダプタを挿すと、ディスプレイに無事NOOBSの画面が映りました。
後日の追記
Raspberry Pi 4 Model Bを買ってきてNOOBSを起動するときに、ビデオの接続でハマりました。
後で調べたらConnect your Raspberry Piにちゃんと左がHDMI0、右はoptional second screenって書いてあるんですが、それに気づかず右のコネクタにディスプレイをつないで電源を入れたところ、何度か緑のLEDがチカチカしたものの画面は2次元グラデーションが表示されっぱなしで、その先が進みませんでした。ブートメディアを作り損ねたか、と思ってフォーマットしてもう1度書き込み直してみたんですが状況は変わらず、そこでハタと気づいて隣のコネクタに挿し換えたところ、ちゃんとNOOBSの画面が映っていました。
このときはさらにおまけがあって、8GBのmicroSDカードではNOOBSでRaspbery PI OSを選択すると空き容量が足りなくって、結局ddで直接インストールする羽目になりました。
NOOBSのウィンドウで
Raspbian (RECOMMENDED)
にチェックを入れると、グレーアウトしていたInstall (I)のアイコンが活性化ました。画面下のLanguageはEnglish (US)を、Keyboardはjpを選んでInstallのアイコンをクリックすると、Raspbianのインストールが始まりました。プログレスバーが100%まで進みOKボタンをクリックすると、今度はRaspbianがbootし、GUIが動作しました。これでUNIXが動いちゃうんだから、いい時代になったものです。
初期設定のアプリケーションが自動起動して、piさんのパスワードの設定などが進んでいきます。うちのAPはSSIDをブロードキャストしていないんですが、SSIDなどを手動で入力する方法が見つからず、WiFiに接続することはできませんでした。ここでさっさと有線で接続してしまえばよかったのかもしれませんが、後でいいや、と初期設定の続きを進めてしまったところ、updateの取得にも失敗してしまいました。一段落したところで有線で接続し、ifconfigを実行したところ、DHCPとRtSolでIPアドレスが設定されていました。
気になっていたmicroSDカードの容量の余裕分の扱いですが、dfしてみたところ、8GBは徳川埋蔵金にはならず、全部/に割り当てられていました。
pi@raspberrypi:~$ df -H ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 14G 4.3G 8.9G 33% / devtmpfs 482M 0 482M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 6.6M 480M 2% /run tmpfs 5.3M 4.1k 5.3M 1% /run/lock tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mmcblk0p6 72M 23M 49M 32% /boot tmpfs 98M 0 98M 0% /run/user/1000 tmpfs 98M 0 98M 0% /run/user/1021
インストールするときにLanguageをEnglish (US)にしたはずなのに、なぜか日本語になっていますが、必要になったら設定し直すことにして、とりあえずこのままにしておきます。
/usr/bin/sudo -sしてvipwで自分のアカウントを作り、ホームディレクトリも作りました。
メニューバーの左端のラズベリーのアイコンをクリックし、設定 → Raspberry Piの設定でインターフェースタブを開き、SSHを有効にしようとしましたが、OKボタンがグレーアウトしていてキャンセルしか選べませんでした。少し悩んだんですが、さてはrootの特権がないと設定できないに違いない、と思い、コマンドラインで
# systemctl enable ssh
を実行してsshdを起動しました。PCから、Raspberry PiがDHCPで取得しているIPアドレスにアクセスしたところ、無事sloginできました。
ネットワークが有効になったところでapt-get upgradeしてみたんですが、いつの間にか済んでいたのか、インストールしたRaspbianが最新でアップグレード対象のパッケージがないのか
pi@raspberrypi:~ $ /usr/bin/sudo apt-get upgrade パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 アップグレードパッケージを検出しています... 完了 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
という結果になりました。
後日の追記
apt-get upgradeの前にapt-get updateを実行しておく必要がありました。
次にraspi-configを起動し、2 Network Options → N2 Wi-fiを選択すると、SSIDの入力を要求してきました。が、何度試してもWiFiがassociateしません。そこで先人に助けを求めるべくGoogle先生にお尋ねしたところ、/etc/wpa_supplicant/wpa_supplicant.confという設定ファイルのnetwork={...}の中にscan_ssid=1という行を追加して
network={ ssid="himitsu" psk="zettaihimitsu" key_mgmt=WPA-PSK
scan_ssid=1
}
のように設定する必要があることがわかりました。記述を追加した後、systemctl restart networkingを実行しただけでは動作せず、OSごとrebootしたら、再起動後にはassociationされるようになりました。
さぁ、これで当分遊べそうです。