Raspberry Pi 4B に Debian 11 (bullseye) をインストール

Raspberry Pi 4B を2年前 (2019/12) に購入して、普通に自宅においたサーバとして使っています。 すでに13,000時間以上なんの問題もなく動作しています。

RasPi4B_Buy_20191226.jpg


写真のように2台購入していますが、1台は時々ちょっと試す以外に使っていなかったので、2021年11月8日に Raspberry Pi OS が Debian 11(Bullseye)ベースに更新 されたのを機会に久しぶりにインストールについての記事を書きました。 また、Lazarus(ラザロ) をちょっと使ってみます。

Debian 11.0 (bullseye)

Debian のバージョンが 11.0 (Bullseye) に上がったことに伴って、Raspberry Pi OS のバージョンも2021-10-30-raspios-bullseye-armhf-full.zip に更新されました。 Raspberry Pi OS のベースとなっている Debian のバージョンは次のように 2年毎にバージョンアップされているため、Raspberry Pi OSも2年ぶりの更新となります。Release Notes for Debian 11 (bullseye)

公開日バージョンコードネーム
2013/05/047.0wheezy
2015/04/268.0jessie
2017/06/179.0stretch
2019/07/0610.0buster
2021/08/1411.0bullseye
2023/xx/xx12.0bookworm
2025/xx/xx13.0trixie

開発関連のパッケージのバージョンの比較

プログラミング言語を中心に開発関連のパッケージのバージョンを buster と bullseye で比較してみました。

PackageBusterBullseyeメモ
git2.20.12.30.2分散型のバージョン管理アプリケーション
gcc8.3.010.2.1Cコンパイラ
as2.31.12.35.2アセンブラ
gdb8.2.110.1.90デバッガ
glibc2.282.31Cライブラリ
python2.7.163.9.2busterのpython3は3.7.3
perlv5.28.1v5.32.1プログラミング言語 Perl
lua5.1.55.1.5プログラミング言語 Lua、luajitに合わせたバージョン
luajit2.1.0-beta32.1.0-beta3LuaのJITコンパイラ
lazarus2.0.02.0.12フリー版Delphi、別途インストールが必要
fpc3.043.2.0FreePascal、lazarus と一緒にインストールされる
awk1.3.31.3.4
tar1.301.34--zstd(ZStandard圧縮)が使えるようになった

Raspberry Pi 4B本体

最近の Raspberry Pi4B のボードは OS を Bullseye に更新することによって、クロックを1.8GHzまで上げられる(Bullseye bonus: 1.8GHz Raspberry Pi 4)そうです。


ボードの黄色の丸で囲んだ部分が図のようなものは古いタイプです。

RaspberryPi4B.jpg


古いタイプでも /boot/config.txt に「arm_freq=1800」のように書き込むことで高速化できるようです。 不安定な場合は少し(50)ずつ減らしたり、「over_voltage=2」のようにコア電圧を調整したりできるようです。 私は試していませんので、これ以上は書きません。

     38 #uncomment to overclock the arm. 700 MHz is the default.
     39 #arm_freq=800

電圧、クロック、温度の確認

実際の電圧とクロック(負荷で変化)を確認する方法です。

電圧

pi@raspberrypi:~ $ vcgencmd measure_volts
volt=0.8563V

クロック

pi@raspberrypi:~ $ vcgencmd measure_clock arm
frequency(48)=600169920

温度

pi@raspberrypi:~ $ vcgencmd measure_temp
temp=52.1'C

Raspberry Pi Imager

今回は、Raspberry Pi OS を SDカードに書き込む方法として、公式の Raspberry Pi Imager を使ってみます。

Windows11 の PCで Raspberry Pi Imager(imager_1.6.2.exe) をダウンロードして、PC にインストールしました。


ダウンロード

公式サイト https://www.raspberrypi.com/software/ から「Download for Windows」をクリックしてRaspberry Pi Imager(imager_1.6.2.exe 19.3MB) をダウンロードします。


RaspiImager00.png


Raspberry Pi Imager のインストール

ダウンロードした imager_1.6.2.exe を実行して、「Install」ボタンを押すとRaspberry Pi Imager がインストールされます。

RaspiImager01.png


「Finish」ボタンを押してインストールを終了します。

RaspiImager02.png


Raspberry Pi OS のSDカードへの書き込み

Raspberry Pi Imager を使って Raspberry Pi OS を SDカードに書き込みます。

RaspiImager03a.png


Raspberry Pi Imager の実行

Raspberry Pi Imager を実行して、まず書き込むOSを選択します。

RaspiImager03.png


リストの先頭は Raspberry Pi OS です。 ダウンロードされるファイルは 2021年11月18日現在 2021-10-30-raspios-bullseye-armhf-full.zip です。

RaspiImager04.png


リストの他の項目を選ぶと、Raspberry Pi OS 以外のOSイメージを書き込むことができます。2番目には Ubuntu があります。

RaspiImager05.png


Ubuntu を選ぶと、32ビットまたは64ビットの OS がインストールできます。

RaspiImager06.png


Raspberry Pi で使用する SDカードを PC の SDカードリーダに挿入して、書き込み先のデバイスを選択します。

RaspiImager07.png


書き込む前に隠しコマンドで SSH や Wifi の設定が可能になっていますが、Raspberry Pi を起動後に設定することもできます。

[Ctrl] + [Shift] + [X] を同時に押すと設定画面が表示されます。

RaspiImager09.png


Wifi の設定は PC から読み取られるようです。Wifi の設定はこの方法が楽です。

RaspiImager10.png


「WRITE」ボタンをクリックすると、SDカードが消去されるという警告が表示されます。

RaspiImager08.png


書き込み中には進行状況が表示されます。

RaspiImager11.png


書き込みが終了したら、SDカードを取り出します。

RaspiImager12.png


Raspberry Pi の起動

SDカードを Raspberry Pi に挿入して電源を接続すると、最初に一度だけ初期設定の画面が表示されます。


piwiz による初期設定

書き込んだ Raspberry Pi OS を使って、最初に Raspberry Pi を起動すると自動的に piwiz というアプリが起動して初期設定が始まります。

piwiz00.png


国や言語を指定して、時刻、キーボードの配列などを設定します。

piwiz01.png


pi ユーザのパスワードを設定します。確認のため2回入力します。

piwiz02.png


ディスプレイの設定で、表示される領域が小さい場合にチェックします。 設定は再起動した後に反映されます。

piwiz03.png


無線で接続する場合は Wifi のアクセスポイントを選択します。

piwiz04.png


Wifi のアクセスポイントのパスワードを入力します。 普通は無線ルータのラベルに表示されているはずです。

piwiz06.png


ソフトウェアを更新しない場合は「Skip」をクリックします。

piwiz07.png


ソフトウェアの更新には時間がかかる場合があります。

piwiz08.png


更新が終了したら次のウィンドウが表示されるので「OK」をクリックします。

piwiz09.png


初期設定が終了すると次のウィンドウが表示されるので「Done」をクリックします。

piwiz10.png


以上で Raspberry Pi 4B に Debian 11 (bullseye) のインストールが終了しました。

RaspiBullseye.jpg


SD Card Copier で SSD にコピー

Raspberry Piを本格的に使う場合に、SDカードでは容量と耐久性に不安があります。 しかし、Raspberry Pi OS に組み込まれている SD Card Copier を使うと、メニューのコマンドを選択するだけで SD カードから USB接続したハードディスクや SSD に OS 全体をコピーできます。 SD Card Copierの実行後は、SD カードなしで起動すると自動的にコピー先の HDD や SSD が使われて、SD カード無しで運用できるようになります。

SDCardCopier.jpg


ブートローダのバージョンが古いと、SD カードなしの場合に HDD や SSD が使われないため、ブートローダのバージョンを確認します。

pi@raspberrypi:~ $ vcgencmd bootloader_version
Sep  3 2020 13:11:43
version c305221a6d7e532693cc7ff57fddfc8649def167 (release)
timestamp 1599135103
update-time 0
capabilities 0x00000000

SD Card Copier 実行前のSD カードの状態です。

pi@raspberrypi:~ $ df
ファイルシス   1K-ブロック    使用  使用可 使用% マウント位置
/dev/root         15075008 6289964 8119668   44% /
devtmpfs           1800564       0 1800564    0% /dev
tmpfs              1965428       0 1965428    0% /dev/shm
tmpfs               786172    1968  784204    1% /run
tmpfs                 5120       4    5116    1% /run/lock
/dev/mmcblk0p1      258095   49241  208854   20% /boot
tmpfs               393084      24  393060    1% /run/user/1000

500GBのSSDをUSBに接続して、SD Card Copier を実行しました。 実行後のSSDのパーティションを確認すると、boot 用の領域とファイルシステム用のパーティションができています。

pi@raspberrypi:~ $ sudo fdisk -l /dev/sda
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model:  P10 500GB      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x61b43cd2

Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1         8192    532479    524288   256M  c W95 FAT32 (LBA)
/dev/sda2       532480 976773167 976240688 465.5G 83 Linux

SDカードを抜いて、SSDだけで起動した場合です。 約500GBが使えるようになりました。

pi@raspberrypi:~ $ df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/root        479335120 8488336 446424384    2% /
devtmpfs           1800052       0   1800052    0% /dev
tmpfs              1964916   44980   1919936    3% /dev/shm
tmpfs               785968    1944    784024    1% /run
tmpfs                 5120       4      5116    1% /run/lock
/dev/sda1           258094   49241    208853   20% /boot
tmpfs               392980      36    392944    1% /run/user/1000

Visual Studio Code

最初からエディタもインストールされていますが、Visual Studio Code も簡単にインストールできます。 バージョンも確認してみると最新版でした。

pi@raspberrypi:~ $ sudo apt install code
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが新たにインストールされます:
  code
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
69.3 MB のアーカイブを取得する必要があります。
この操作後に追加で 241 MB のディスク容量が消費されます。
取得:1 http://archive.raspberrypi.org/debianbullseye/main armhf code armhf 1.62.3-1637136483 [69.3 MB]
69.3 MB を 15秒 で取得しました (4,690 kB/s)                                                                                                  
以前に未選択のパッケージ code を選択しています。
(データベースを読み込んでいます ... 現在 184521 個のファイルとディレクトリがインストールされています。)
.../code_1.62.3-1637136483_armhf.deb を展開する準備をしています ...
code (1.62.3-1637136483) を展開しています...
code (1.62.3-1637136483) を設定しています ...
gnome-menus (3.36.0-1) のトリガを処理しています ...
shared-mime-info (2.0-1) のトリガを処理しています ...
mailcap (3.69) のトリガを処理しています ...
desktop-file-utils (0.26-1) のトリガを処理しています ...

pi@raspberrypi:~ $ code --version
1.62.3
ccbaa2d27e38e5afa3e5c21c1c7bef4657064247
arm

Java11 のインストール

Visual Studio Code で PlantUML を使いたいので、Java をインストールします。

pi@raspberrypi:~ $ sudo apt install openjdk-11-jdk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java
  libatk-wrapper-java-jni openjdk-11-jdk-headless openjdk-11-jre
  openjdk-11-jre-headless x11-utils
Suggested packages:
  default-jre openjdk-11-demo openjdk-11-source visualvm fonts-ipafont-gothic
  fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
  mesa-utils
The following NEW packages will be installed:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java
  libatk-wrapper-java-jni openjdk-11-jdk openjdk-11-jdk-headless
  openjdk-11-jre openjdk-11-jre-headless x11-utils
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 216 MB of archives.
After this operation, 345 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

PlantUMLのインストール

Visual Studio Code で PlantUML を使う場合は、拡張機能から PlantUML をインストールします。

CodePlantUML1.png


CodePlantUML2.png


[Alt + D] を押すと PlantUML のソースから UMLの図が表示できます。

CodePlantUML3.png


Libre Office のインストール

Libre Office をインストールすると、Word や Excel がなくてもほぼ問題なく業務でもRaspberry Pi を使えるようになります。

pi@raspberrypi:~ $ sudo apt install libreoffice
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:

Suggested packages:
  ant-doc antlr javacc junit junit4 jython libbcel-java libbsf-java

The following NEW packages will be installed:
  ant ant-optional apparmor coinor-libcbc3 coinor-libcgl1 coinor-libclp1
  coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core
  firebird3.0-utils fonts-crosextra-caladea fonts-crosextra-carlito
  fonts-dejavu fonts-linuxlibertine fonts-noto-core fonts-noto-extra
  fonts-noto-ui-core fonts-opensymbol fonts-sil-gentium
  fonts-sil-gentium-basic gstreamer1.0-plugins-ugly libabw-0.1-1
  libactivation-java libaopalliance-java libapache-poi-java libapache-pom-java
  libargs4j-java libatinject-jsr330-api-java libbase-java libbcmail-java
  :
  略
  :
  libsidplay1v5 libsisu-inject-java libsisu-plexus-java libslf4j-java
  libsnappy-java libsnappy-jni libstaroffice-0.0-0 libstax-ex-java
  libstreambuffer-java libtommath1 libtxw2-java libuno-cppu3
  libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3
  libuno-salhelpergcc3-3 libunoil-java libunoloader-java libvisio-0.1-1
  libwagon-http-java libwagon-provider-api-java libwebsocket-api-java
  libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libxerces2-java
  libxml-commons-external-java libxml-commons-resolver1.1-java libxml-java
  libxmlbeans-java libxmlsec1 libxmlsec1-nss libxom-java libxsom-java
  libxz-java libyajl2 libzmf-0.0-0 lp-solve python3-uno uno-libs-private ure
0 upgraded, 217 newly installed, 0 to remove and 0 not upgraded.
Need to get 256 MB of archives.
After this operation, 846 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Libre Office の日本語化

メニューなどを日本語で表示するために追加でインストールします。

pi@raspberrypi:~ $ sudo apt install libreoffice-help-ja
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libreoffice-help-common libreoffice-l10n-ja node-normalize.css
Suggested packages:
  hunspell-dictionary-ja | myspell-dictionary-ja hyphen-ja
  libreoffice-grammarcheck-ja mythes-ja libjs-html5shiv nodejs
The following NEW packages will be installed:
  libreoffice-help-common libreoffice-help-ja libreoffice-l10n-ja
  node-normalize.css
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 7685 kB of archives.
After this operation, 40.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

samba

ネットワーク越しにファイルを読み書きできると便利なので samba もインストールします。

samba のインストール

pi@raspberrypi:~ $ LC_ALL=C
pi@raspberrypi:~ $ sudo apt install samba
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  attr libcephfs2 libgpgme11 liburing1 python3-dnspython python3-gpg
  python3-markdown python3-requests-toolbelt python3-samba python3-tdb
  python3-yaml samba-common samba-common-bin samba-dsdb-modules
  samba-vfs-modules tdb-tools
Suggested packages:
  python3-sniffio python3-trio python-markdown-doc bind9 bind9utils ctdb
  ldb-tools ntp | chrony smbldap-tools ufw winbind heimdal-clients
The following NEW packages will be installed:
  attr libcephfs2 libgpgme11 liburing1 python3-dnspython python3-gpg
  python3-markdown python3-requests-toolbelt python3-samba python3-tdb
  python3-yaml samba samba-common samba-common-bin samba-dsdb-modules
  samba-vfs-modules tdb-tools
0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 6512 kB of archives.
After this operation, 45.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

samba の設定

pi@raspberrypi:~ $ sudo vi /etc/samba/smb.conf

/etc/samba/smb.conf の 175行目の 「read only = yes」 を「read only = no」に変更して保存します。これでネットワーク越しに書き込むことができるようになります。

    167 #======================= Share Definitions =======================
    168
    169 [homes]
    170    comment = Home Directories
    171    browseable = no
    172
    173 # By default, the home directories are exported read-only. Change the
    174 # next parameter to 'no' if you want to be able to write to them.
    175    read only = no
    176

samba の起動

pi@raspberrypi:~ $ systemctl start smbd
pi@raspberrypi:~ $ systemctl start nmbd

ユーザの追加

pi@raspberrypi:~ $ sudo pdbedit -a -u pi
new password:
retype new password:

Lazarus(ラザロ) のインストール

Raspberry Pi の使いみちとしてプログラミング教育がありますが、元々プログラミング教育用に作成されて、多くのフリーソフトウェアが開発された Pascal はどうでしょうか? 商用の Delphi と同様に高速なネイティブアプリケーションが作成できるLazarus(ラザロ) を試してみましょう。

rpi_Lz001.jpg


上部のタスクバーのコンソールをクリックします。以下のように入力して Lazarus をインストールします。

pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt upgrade
pi@raspberrypi:~ $ sudo apt install lazarus

インストールしたLazarus(ラザロ) はタスクバーのメニューから起動することができます。

rpi_Lz002.jpg


Lazarus自身もLazarusで作成されていることから、Lazarus の能力がわかります。 ネイティブなGUIアプリが作成できる環境となります。 作成したソースは Windows や macOS の Lazarus でコンパイルできます。

rpi_Lz003.jpg


Lazarus でのアプリケーションの作り方は、フォームに部品を配置して、イベントに応じたコードを書き込む形式です。 ここではボタンとテキストボックスを配置して、「実行/構築」でアプリケーションを作りました。 1分以内でできます。

rpi_Lz004.jpg


出来上がったアプリケーション「project1」と実行結果です。

rpi_Lz005.jpg


次回以降に Lazarus の使い方をちゃんと解説するかも。




このページの目次