Raspbian は 2019/06/20の公開版よりDebian 10 (Buster) がベースになっています。
Raspberry Pi(Raspbianセットアップ済の作業用環境)を使用して、Raspbian Buster のイメージファイルのダウンロードから、SDカードへの書き込み、SSH有効化、IPアドレス固定化、ホスト名・piユーザ名の変更等の、初期設定完了まで行う手順を記載します。
Raspbian stretch のインストール手順で記載した内容と基本的に同じですが、見直し・修正を行っています。
1. イメージファイルのダウンロード
wgetコマンドを使用して、Raspbian Buster イメージファイルをダウンロードします。
本手順ではLite版を使用していますが、その他を使用する場合はダウンロード先を変更して下さい。
・Raspbian Buster with desktop 版
→ https://downloads.raspberrypi.org/raspbian_latest
・Raspbian Buster with desktop and recommended software 版
→ https://downloads.raspberrypi.org/raspbian_full_latest
■RASPBIAN BUSTER LITE(2019-09-26リリース版=約434MB)
# wget --trust-server-name https://downloads.raspberrypi.org/raspbian_lite_latest
#
2. ダウンロードしたイメージファイルの確認
ダウンロードした Raspbian イメージファイルのSHA-256ハッシュ値と、Raspbian ダウンロードサイトに表示のハッシュ値を比較確認し、ファイルの破損・改ざん等の有無を確認します。
# sha256sum 2019-09-26-raspbian-buster-lite.zip
a50237c2f718bd8d806b96df5b9d2174ce8b789eda1f03434ed2213bbca6c6ff 2019-09-26-raspbian-buster-lite.zip
#
3. インストール先SDカードの確認
Raspbian イメージファイルを書き込むSDカードを、USB SDカードリーダ/ライタにセットして、Raspberry Piに接続します。その後 ” lsblk ” コマンドを使用して、SDカードの認識状態を確認します。
SDカードの内容は、イメージファイルの内容で上書きされるため、下記手順で認識したデバイス配下の状態(パーティションの有無等)は、これ以降の手順に影響しません。
# lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sda 8:0 1 14.9G 0 disk ← sda として、SDカードを認識
├/dev/sda1 8:1 1 43.9M 0 part
└/dev/sda2 8:2 1 14.8G 0 part
/dev/mmcblk0 179:0 0 14.9G 0 disk
├/dev/mmcblk0p1 179:1 0 43.9M 0 part /boot
└/dev/mmcblk0p2 179:2 0 14.8G 0 part /
#
4. イメージファイルをSDカードへ書込み
Raspbian イメージファイルをSDカードに書き込みます。
下記の手順では、” zcat ” コマンドでイメージファイルのzip圧縮を展開しながら、” dd ” コマンドで、SDカードに書き込みを行っています。
# zcat 2019-09-26-raspbian-buster-lite.zip | dd of=/dev/sda bs=4M status=progress conv=fsync
#
5. SDカードへ初期設定実施(Raspbian 起動前)
Raspbian イメージファイルのSDカード書き込みが完了したら、SDカードはセットしたままの状態で、初期設定処理を実施していきます。
(1) SSH有効化設定
設定は、SDカードの1つ目のパーティション(sda1)内に ” ssh ” 名のダミーファイルを作成しておくことで、初回 boot 時に、自動的に有効化設定されます。
# mount /dev/sda1 /mnt
#
# touch /mnt/ssh
#
# sync
# umount /dev/sda1
#
上記で行ったSSH有効化方法については、A SECURITY UPDATE FOR RASPBIAN PIXELの中で、以下の様に説明されています。
If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file.
(2) IPアドレス固定化設定
下記の手順では、” /etc/dhcpcd.conf ” 設定ファイルの編集に、エディタを使用せず ” echo ” コマンドを用いて、設定情報を追記しています。
※IPアドレス情報は、環境に応じて修正して下さい。
# mount /dev/sda2 /mnt
#
# echo "" >> /mnt/etc/dhcpcd.conf
# echo "interface eth0" >> /mnt/etc/dhcpcd.conf
# echo "static ip_address=192.168.1.10/24" >> /mnt/etc/dhcpcd.conf
# echo "static routers=192.168.1.1" >> /mnt/etc/dhcpcd.conf
# echo "static domain_name_servers=192.168.1.1" >> /mnt/etc/dhcpcd.conf
# cat /mnt/etc/dhcpcd.conf ←設定内容を確認します。
#
# sync
# umount /dev/sda2
#
(3) ホスト名変更設定
下記の手順ではエディタを使用せず ” sed ” コマンドを用いて、設定ファイル内デフォルトホスト名 ” raspberrypi ” の文字列を ” server01 ” 名に置換しています。
※ ホスト名情報は、環境に応じて修正して下さい。
# mount /dev/sda2 /mnt
#
# sed -i 's/raspberrypi/server01/g' /mnt/etc/hostname
# cat /mnt/etc/hostname ←設定内容を確認します。
#
# sed -i 's/raspberrypi/server01/g' /mnt/etc/hosts
# cat /mnt/etc/hosts ←設定内容を確認します。
#
# sync
# umount /dev/sda2
#
(4) デフォルトユーザ ” pi ” 名称の変更設定
下記の手順ではエディタを使用せず ” sed ” コマンドを用いて、各設定ファイル内のデフォルトユーザ名 ” pi ” 名称を、正規表現にて単語で検索し ” sysadmin ” 名に置換しています。
※ ユーザ名情報は、環境に応じて修正して下さい。
※ 変更後のファイル内容は、適時 ” cat ” コマンド等で確認して下さい。
# mount /dev/sda2 /mnt
#
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/passwd
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/group
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/shadow
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/gshadow
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/subuid
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/subgid
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/systemd/system/[email protected]
# sed -i 's/\<pi\>/sysadmin/g' /mnt/etc/sudoers.d/010_pi-nopasswd
# mv /mnt/etc/sudoers.d/010_pi-nopasswd /mnt/etc/sudoers.d/010_sysadmin-nopasswd
# mv /mnt/home/pi /mnt/home/sysadmin
#
# sync
# umount /dev/sda2
#
以上で、SDカードへのインストール+初期設定(Raspbian 起動前)の作業は完了です。
SDカードを、USB SDカードリーダ/ライタから取り外します。
6. Raspbian を起動し初期設定(起動後)
インストール+初期設定まで完了したSDカードを、Raspberry Pi にセットして、Raspbian を起動します。
Tera Term 等のターミナルから設定した ” IPアドレス ” に対してSSH接続し、変更した ” ユーザ ” 名、初期パスワード ” raspberry ” にてログインします。
(1) 初期パスワード変更
ログインした ” ユーザ ” の初期パスワード ” raspberry ” を任意のパスワードに変更して下さい。
$ passwd
Changing password for sysadmin.
Current password:
New password:
Retype new password:
passwd: password updated successfully
$
(2) root にパスワード設定
” root ” ユーザにパスワードを設定します。
$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
$
(3) root に su します。
初期設定の作業簡略化のため ” root ” に ” su ” して作業します。
$ su -
Password:
#
(4) ロケール設定変更
言語と地域に関わる設定「ロケール」を、日本に合わせて設定します。
下記の手順では、通常の ” dpkg-reconfigure locales ” のインタラクティブモードを使用しないで、CLIのみで実施しています。
※ 初期状態の ” en_GB.UTF-8” を ” ja_JP.UTF-8” に変更を行っています。
※ 設定の反映は、再ログインしたタイミングになります。
# sed -i 's/en_GB.UTF-8 UTF-8/# en_GB.UTF-8 UTF-8/g' /etc/locale.gen
# sed -i 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/g' /etc/locale.gen
# locale-gen
# localectl set-locale LANG=ja_JP.UTF-8
#
設定の反映のため、一度 ” root ” から抜けて ” su ” し直し、確認します。
# exit
$ su -
Password:
# date ←dateコマンドで時刻の表示を確認します。
# 2020年 5月 2日 土曜日 14:32:54 BST ←日本語表記になっていればOK。
#
(5) タイムゾーン設定変更
タイムゾーンを初期状態の ” Europe/London ” から ” Asia/Tokyo ” に変更します。
# timedatectl set-timezone Asia/Tokyo
#
# date ←dateコマンドで確認します。
# 2020年 5月 2日 土曜日 22:33:19 JST ←末尾が「JST」になっていればOK。
#
(6) パッケージの更新
raspbian のイメージファイルをSDカードに展開した時点の状態から、パッケージの更新を実施します。
” apt update ” → リポジトリ一覧を更新
” apt upgrade ” → パッケージを更新
# apt update
# apt upgrade
#
(7) reboot して起動確認
” reboot ” を実施して、初期設定後の再起動確認を行います。
# reboot
#
以上で、Raspbian Buster のSDカードへのインストール作業は完了です。