先日購入したRaspberry Pi4の初期セットアップと、
USBメモリからブートさせる、というところまでやったので、ブログに書きまする。
前回の記事は↓から。
Raspberry Pi 4を買ったので、まずは組み立て!
小さいは正義
まずはHomebrirgeとNASとして動かすために以下の設定をやる。
- 一般的な初期設定
- microSDは寿命的にリスク有りなのでUSBメモリに移行
dockerをインストール(dockerは一旦不要)
あとRaspberry Pi OSは"Buster"且つ64bit版、GUIは使ってない。
一般的な初期設定
まずは誰もが実施する初期設定。
初期ユーザ(pi)のパスワードを変更。
"raspi-config"を使えばポチポチ設定できるんだけど、エンジニアっぽく極力コマンド端末で済ませるw
- passwd
OSアップデート。
- sudo apt update
- sudo apt -y upgrade
- sudo apt -y autoremove
時刻同期設定。
- echo "NTP=ntp.nict.jp" | sudo tee -a /etc/systemd/timesyncd.conf
SSH公開鍵をGitHubから登録。
- mkdir ~/.ssh
- curl -s https://github.com/(GitHub名).keys | tee -a ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
パスワードログインとrootユーザーログインを不可にする。
- sudo tee -a /etc/ssh/sshd_config << EOM > /dev/null
- PasswordAuthentication no
- PermitRootLogin no
- Port 22
- EOM
ホスト名変更。
俺は"raspberrypi"⇒"raspberrypi4"に変えた。
- sudo hostnamectl set-hostname raspberrypi4
タイムゾーンを日本(=東京)に変更。
- sudo timedatectl set-timezone Asia/Tokyo
言語に日本語を追加。
- sudo dpkg-reconfigure locales
上記コマンドを実行すると言語を選択する画面が出るので、
"ja_JP.UTF-8"を選択する。
次に表示する言語を選択する画面。これも日本語に変える。
ただ、英語のままのほうが良いという話もあるのでお好みで。
ネットワークは有線LANを使っているんだけど、
ログインするたびに以下の警告が表示される。
実害は無いんだけど、気になるのでWiFiの使用する国を日本に変える。
Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.
- sudo raspi-config nonint do_wifi_country JP
以上で初期設定終わり。再起動する。
- sudo reboot
microSD→USBメモリに変更
microSDをディスク代わりに使っていると、書き込み寿命が来てサーバシャットダウンと言ったリスクが考えられるので
手持ちのUSBメモリが余っていたのでそちらに切り替え。
あと、USB3.0のほうがスピードが速いので。
SSDにすりゃもっと速いんだろうけど、SATA→USB変換ケーブル持ってないし。
USBメモリは↓のサンディスク製の64GB。
これの前モデルを3年くらい前に買ったやつ。
実物。
Raspberry Pi OSのGUI版であればSDカードの中身をコピーするツールがあるんだけど、
GUI版じゃないので、"rpi-clone"というツールをインストールする。
ツールのダウンロードにgitを使うので、
ついでにgitもインストールしておく。
- sudo apt install -y git
rpi-cloneをダウンロード。
- git clone https://github.com/billw2/rpi-clone.git
DLしたプログラムをコピーして、後片付け。
- sudo cp rpi-clone/rpi-clone* /usr/local/sbin
- rm -rf rpi-clone/
USBメモリをポートに挿して、対象となるデバイスを確認する。
以下だと"sda"がUSBメモリということになる。
- lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sda 8:0 1 57.3G 0 disk
- └─sda1 8:1 1 57.3G 0 part
- mmcblk0 179:0 0 116.5G 0 disk
- ├─mmcblk0p1 179:1 0 256M 0 part /boot
- └─mmcblk0p2 179:2 0 116.2G 0 part /
以下のコマンドでmicroSDカードの中身をUSBメモリへコピーする。
途中で確認が入るで"yes"と入力する。
- sudo rpi-clone sda
- Booted disk: mmcblk0 125.1GB Destination disk: sda 61.5GB
- ---------------------------------------------------------------------------
- Part Size FS Label Part Size FS Label
- 1 /boot 256.0M fat32 -- 1 57.3G -- --
- 2 root 116.2G ext4 rootfs
- ---------------------------------------------------------------------------
- == Initialize: IMAGE partition table - partition number mismatch: 2 -> 1 ==
- 1 /boot (30.5M used) : MKFS SYNC to sda1
- 2 root (1.2G used) : RESIZE MKFS SYNC to sda2
- ---------------------------------------------------------------------------
- Run setup script : no.
- Verbose mode : no.
- -----------------------:
- ** WARNING ** : All destination disk sda data will be overwritten!
- -----------------------:
- Initialize and clone to the destination disk sda? (yes/no): yes
- Optional destination ext type file system label (16 chars max):
- Initializing
- Imaging past partition 1 start.
- => dd if=/dev/mmcblk0 of=/dev/sda bs=1M count=8 ...
- Resizing destination disk last partition ...
- Resize success.
- Changing destination Disk ID ...
- => mkfs -t vfat -F 32 /dev/sda1 ...
- => mkfs -t ext4 /dev/sda2 ...
- Syncing file systems (can take a long time)
- Syncing mounted partitions:
- Mounting /dev/sda2 on /mnt/clone
- => rsync // /mnt/clone with-root-excludes ...
- Mounting /dev/sda1 on /mnt/clone/boot
- => rsync /boot/ /mnt/clone/boot ...
- Editing /mnt/clone/boot/cmdline.txt PARTUUID to use 7798598e
- Editing /mnt/clone/etc/fstab PARTUUID to use 7798598e
- ===============================
- Done with clone to /dev/sda
- Start - 10:27:39 End - 10:29:03 Elapsed Time - 1:24
- Cloned partitions are mounted on /mnt/clone for inspection or customizing.
- Hit Enter when ready to unmount the /dev/sda partitions ...
- unmounting /mnt/clone/boot
- unmounting /mnt/clone
- ===============================
以上でUSBメモリへコピーが出来た。
次にブートローダーを変更する。
raspi-configで設定できるようになった。
- sudo raspi-config
「6 Advanced Options」を選択する。
「A6 Boot Order」を選択する。
「B2 USB Boot」を選択する。
これでUSBブートできるようになった。
一旦シャットダウンしてmicroSDカードを抜く。
- sudo shutdown -h now
これでUSBメモリを起動ディスクとすることが出来た。
dockerインストール
次にdockerをインストールする。
以下のコマンドを実行してインストール用のシェルをダウンロードして実行。
- curl -fsSL https://get.docker.com -o get-docker.sh
- sudo sh get-docker.sh
"docker"というグループをpiユーザーに紐付け。
- sudo usermod -aG docker `whoami`
一旦ログアウト。ついでにダウンロードしたシェルファイルも削除。
- rm get-docker.sh
- exit
dockerの確認。
- sudo systemctl status docker
- docker -v
- Docker version 20.10.10, build b485636
次にdocker-composeをインストール。
最新版のv2をインストールする。
- mkdir -p ~/.docker/cli-plugins/
- curl -SL https://github.com/docker/compose/releases/download/v2.1.0/docker-compose-linux-aarch64 -o ~/.docker/cli-plugins/docker-compose
- chmod +x ~/.docker/cli-plugins/docker-compose
- sudo ln -s $HOME/.docker/cli-plugins/docker-compose /usr/local/bin/
動作確認。
- docker-compose -v
- Docker Compose version v2.1.0
以上!
次はHomebridgeを移行しようと思います。
----------------追記
続き書きますた。HomebridgeじゃなくてNASの導入!
Raspberry Pi 4にOpenMediaValutを導入してNASとして使う
RaspberryPiの可能性は無限大!
0 件のコメント:
コメントを投稿