
raspberry pi4にubuntu 19.10を入れた話
こんにちは
カシマです。
最近ブログがすっかりご無沙汰ですが、コロナにも負けず生きてます。
今回はraspberry pi4にubuntu 19.10を入れた話をまとめておこうと思いました。
本来はManjaroを入れる予定だったのですが、日本語でセットアップしてたら根負けしたのでやめ、ubuntuでいいや、となりました。
GUIも入れようかと思ったけど、まあターミナルつながればいっかってな具合でめんどいからGUIのインストールは辞めました。
raspberry pi4はSSDにしようかと思ったのですが、何やら環境面でのセットアップが面倒そうだったので壊れたらまた同じ手順踏んでセットアップすっかと考えたのですが、そのためにまたぐぐり直すの…?と思ったので先にメモってしまえ!となり、取り急ぎブログ化することに。
触発されたのはサルできの カワサキさんに触発されてですが、ラズパイ購入のきっかけはセキュリティアカデメイアのipusironさんなんですが、それもこれもBOINCでコロナ解析で少しでも貢献しようと思ったからです。
ちなみにケースはSmrazaの クリアケースタイプを使いましたが、非常に怪しい日本語で「大丈夫か?」と心配しましたが、全然問題なく動作しています。
ファンも良い感じに5Vで回っており、ヒートシンクも良い感じでできているのでお勧めしたいと思います。
ケースを探すのに金曜日は3時ごろまで起きててだいぶヤバかったですが。。。(笑)
さて、以下でささっとやったことをメモっていきます。
microSDの準備
raspberry pi4にいきなり挿しても何も起こりませんので、まずはmicroSDにOSを入れます。
入れ方は2通りあるのですが、困ったことに片方のやり方はraspberry pi4のために用意したubuntuが4GB制限で起動しないことがわかりましたので割愛します。
事前準備としては以下の三つです。
- microSD 16GB以上(私は128GBを用意した)
- ubuntu OS 19.10
- balenaEtcher
作業環境としては mac OS 10.15.4 (Catalina) で実施しています。
「焼くならddコマンドでいいじゃん」と思いがちですが、先に記述した通り、メモリ制限を3GBに変更した上で起動するためddコマンドでは事前準備が行えません。
microSDへのコピー方法は、拡張子を ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img
に変更した上で、balenaEtcherを使用するだけなので割愛します。
microSDへの書き込みが終わったらターミナルを開き、以下のコマンドを実行します。
まずは念のためmount作業をターミナルで実施します。
% sudo diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *124.7 GB disk2
1: Windows_FAT_32 BOOT 98.6 MB disk2s1
2: Linux 124.6 GB disk2s2
% sudo diskutil mountDisk /dev/disk2s1
% echo total_mem=3072 >> /Volumes/system-boot/usercfg.txt
ぼくの自宅の環境はWiFi環境があるためraspberry pi4を起動時に無線LANでネット接続できるようにしてあげます。
% vi /Volumes/system-boot/network-config
ethernets:
eth0:
dhcp4: false
dhcp6: false
optional: true
addresses: [192.168.xxx.3/24]
gateway4: 192.168.xxx.1
nameservers:
addresses: [192.168.xxx.1]
search: []
wifis:
wlan0:
dhcp4: false
dhcp6: false
optional: true
addresses: [192.168.xxx.2/24]
gateway4: 192.168.xxx.1
nameservers:
addresses: [192.168.xxx.1]
search: []
access-points:
SSID-Name:
password: "SSID Password"
そのまんまの記述ですが、dhcpなどは使用せず、LANの固定IPを設定し、SSIDに接続できるように設定します。
addressesのところの [] がやや不安でしたが、そのまんま記述でOKです。
SSID-Nameのところもそのままご自宅のSSID名を記述し、passwordの”SSID Password”はダブルコーテーション(“)で括ってある状態でSSIDのパスワードを入れればOKです。
事前準備はここまででmicroSDをunmountします
% sudo diskutil unmountDisk /dev/disk2
あとは Raspberry pi4にmicroSDを差し込んで、USB Type-Cを差し込めば起動開始します。
ぼくはmicro HDMIからHDMI変換するケーブルを使い、ディスプレイに表示させながらこの後の作業を実施しています。
起動した後の作業
起動が完了すると以下のようなメッセージが表示されるため、ログインします。
Ubuntu 19.10 ubuntu tty1
ubuntu login:
ユーザ名とパスワードは ubuntu
を入力します。
ログインに成功すると初期パスワードからの変更を求められます。
この時キーボードレイアウトがus配列のキーボードであることにご注意ください。
うまくログインできている場合は、以下のコマンドでネット接続できているか確認します。
% curl httpbin.org/ip
これで自分が使っているIPが結果表示されればネット接続はOKです。
あとはOSやミドルウェアのアップデート、メモリ制限の解除、キーボードレイアウトやshellのlocale変更を実施します。
lcoaleなどの基本的な変更は以下のようになります。
% sudo apt update && sudo reboot now
% sudo apt install language-pack-ja
% sudo locale-gen ja_JP.UTF-8
% sudo dpkg-reconfigure -f noninteractive locales
% echo "LANG=ja_JP.UTF-8" | sudo tee /etc/default/locale
% sudo timedatectl set-timezone Asia/Tokyo
現状のままの直接操作は文字化けするためSSH経由のみ日本語になるように調整する
% vi ~/.bashrc
ファイルの内容はこんな感じです。
case $TERM in
linux) LANG=C ;;
*) LANG=ja_JP.UTF-8 ;;
esac
viコマンドで以下のファイルを書き換え、キーボードレイアウトを変更します。
% vi /etc/default/keyboard
XKBLAYOUT="us"
から XKBLAYOUT="jp"
に変更します
メモリ制限を元に戻します。
% sudo vi /boot/firmware/usercfg.txt
total_mem = 3072
を削除します。
最後にパッケージのアップデート作業と再起動を行えば完了です
% sudo apt upgrade && sudo reboot now
これで、まずは下準備の全てが完了したことになります。
次からこの記事を読めばぼくは幸せになるはずです。
まとめ
ここまで来るのに11:00から16:00まで費やしてたので、もう疲れた。
BOINCはこれからやりまーす!