メニュー ホーム

Raspberry Pi OS(64bit:β版)をインストール

Raspberry Piネタが続きますが、これまでRaspberry PiOSは32bitでした。まだβ版ではあるのですが、64bit版が公開されていたのでインストールしてみました。ついでに各種設定をもう一度書いてみます。

64bit版をダウンロード

前提条件としてmacOSでOSを書き込みます。使うのはRaspberry Pi4。iPアドレスは確定していて、イーサーネットで接続するとしておきます。Wi-Fiは使いません。

https://downloads.raspberrypi.org/raspios_arm64/images/

このアドレスに64bit版がありますので、日付の一番新しいヤツをダウンロードします。直接ダウンロードかTorrentファイルによるダウンロードが選べます。2021年10月20日時点で「2021-05-28」が一番新しいものになってますね。

ダウンロードが終わったらRaspberry Pi Imagerで書き込みます。ダウンロードしたファイルはzipファイルになっているので適当なアプリを使って解凍してimgファイルにしておきます。Raspberry Pi Imagerでは選択肢の一番下、customを選んでimgファイルを選択します。

一番下のUse customを選択します

私は基本ヘッドレスで運用しているので、sshができるようにしておかなければなりません。Raspberry Pi ImagerでSDカードができあがったら1度抜いて再び入れ直します。そうするとmacOS上にbootというディスクがマウントされます。その中に「ssh」というファイル(中身はなくていい)を作っておきます。起動時にこのファイルをRaspberry PiOSが読み込んでssh接続に必要なものをセットアップしておいてくれます。

私は、ターミナルから

touch /Volumes/boot/ssh

でファイルを作っておきます。後はアンマウントしてRaspberry Piにセットします。

最初の起動でやっておくこと

最初の起動ではまずUpdateしておきましょう。

sudo apt update
sudo apt -y full-upgrade

以前推奨されていたのはsudo apt upgradeでしたが、最近はfull-upgradeになったみたいです。さらにLocationを変更します。私はLanguageを変更せずに使っていますが、同時にLanguageも変更できますね。

後で出てきますが、ここでログイン後Consoleでマルチユーザーログインを選択しておくとはまらずにすみます。

sudo raspi-config

終了するとリスタートを求められるので、Yesにしてリスタートします。

ユーザー名の変更など

[Raspbian]ユーザ名変更の個人的に「正しい」と思うやり方 | 純規の暇人趣味ブログ こちらを参照してデフォルトユーザーであるpiから任意のユーザー名に変更します。削除ではなく変更です。

ここで、グラフィカルユーザーインターフェースをキャンセルしておかないと、sshで接続している以外に、GUIで接続しているユーザー(pi)が存在していてユーザー名を変更できません。sshで接続しているから自分だけだと思って作業するとはまりますので、ご注意ください。

sudo useradd -M tmp       #仮のユーザーtmp
sudo gpasswd -a tmp sudo  #tmpをsudoグループに入れる
sudo passwd tmp           #tmpのパスワードを決定する
exit                      #一旦ログアウトして次はtmpでログインする
---
sudo usermod -l NEWID pi  #piをNEWIDにリネーム
sudo usermod -d /home/NEWID -m NEWID
                          #ホームディレクトリを変更
sudo groupmod -n NEWID pi #piグループをNEWIDグループに変更
exit                      #tmpユーザーをログアウトして次はNEWIDでログインする
---
sudo userdel tmp          #仮のユーザーを削除
sudo passwd NEWID         #NEWIDのパスワードを決定する

外付けハードディスク等にシステムを移動

私はその前に公開鍵を転送してパスワードレス認証にしてます。これはどこにでもあるので省略。

さて外付けディスクにシステムを移動させます。Raspberry Piの場合、USBにディスクを接続すると、/dev/sdaになるのですが、複数の接続があったりすると必ずしもそうなるとは言えませんので、lsblkなりsudo fdisk -lなりで確認しておいてください。ここでは/dev/sdaだとして進めます。

sudo parted /dev/sda          #パーティショニングする
(parted) mklabel gpt          #パーティションをGPTにするWARNINGが表示されるのでYESで進める
(parted) mkpart primary ext4 0% 100%
                              #パーティションを分けずにext4にする
(parted) q                    #partedを終了

さて、パーティショニングも終わったのでいよいよシステムを転送します。ddコマンドを使います。

sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync status=progress

ifは現在のシステム(0p1がブートローダー、0p2がシステムです)、ofは転送先。ステータスで現状を報告するように指定しましたので、SDカードの容量分転送して終了します。

転送が終わったら、システムのチェックをかけます。

sudo e2fsck -f /dev/sda1

ここでは、Fix<y>? というメッセージが数回表示されると思いますので、で応答してください。これも正常に終了したら、リサイズをかけます。余談ですがe2fsckで数十回Fixメッセージがでたときがありました。これは異常だと判断してパーティショニングからやり直しました。

sudo resize2fs /dev/sda1

これで、転送は終了です。

起動に向けて最終調整

このやり方は、ブートローダーをSDカード上に持ち、その後外付けディスクからシステムを読み込むという手順になります。直接外付けディスクから立ち上げる方法もあるらしい(実際試した)のですが、うまくいきません。何がおかしいのかわからないので、SDカードが必要な方法に落ち着きました。

さて、後はブートローダーに外付けディスクに入れたシステムを読み込ませる手順を踏みます。

起動時にブートローダーが参照するのはboot/cmdline.txtですが、ここに使われているのはpartuuidです。これをまず調べます。

ls -l /dev/disk/by-partuuid/

これで接続されている外付けディスクのUUIDがわかるのでメモしておきます。先に述べたboot/cmdline.txtを開くと、partuuidを指定している部分があるので、外付けディスクのそれと置き換えます。このファイルの変更点はここだけですので、保存して終了します。

次はブートローダーによって起動されたシステムの中に/etc/fstabの指定があります。外付けディスクの中にある指定なので、いったん外付けディスクをマウントしてその中をいじります。

sudo mount -t ext4 -o defaults /dev/sda1 /mnt

ここでは/mntにマウントしましたが、どこでも良いです。そしてその中の/etc/fstabを開きます。ちょっとややこしいのですが、/mntの中の/etc/fstabを開くので、/mnt/etc/fstabを開いて編集します。

proc                  /proc           proc    defaults          0       0
PARTUUID=xxxyyyzz-01  /boot           vfat    defaults          0       2
PARTUUID=xxxyyyxx-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

こんな内容になっているはずなので、/の方のpartuuidを先ほどメモしたものに入れ替えます。/bootの方はとりあえずいじらなくて良いです。

長々と書いてきましたが、これで終了です。ミスがなければsudo rebootで外付けディスクから64bitOSが立ち上がります。sshで接続すると、

Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64

というメッセージとともに立ち上がると思います(バージョンは変わる可能性がありますね)。一番最後にaarch64の文字があれば成功です。後は煮るなり焼くなり好きにしてください。お疲れさまでした。

投稿者プロフィール

會澤 賢一
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

カテゴリー:Raspberry Pi

タグ:

會澤 賢一

新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

お気軽にコメントを残していってください