Raspberry Pi 開発環境セットアップ記録
Raspberry Pi(Debian 13 Trixie, arm64)で行ったシステム復旧と開発環境構築の手順をまとめた記事です。
システム情報
| 項目 | 内容 |
|---|---|
| OS | Debian GNU/Linux 13 (trixie) |
| アーキテクチャ | aarch64 (ARM64) |
| Python | 3.13.5 |
| Docker | 29.5.2 |
| Visual Studio Code | 1.121.0 |
1. apt-get upgrade エラーの解決
問題
sudo apt-get upgrade 実行時、initramfs-tools およびカーネルイメージパッケージの設定中に以下のエラーが発生しました。
mkinitramfs: failed to determine device for /
原因: overlayroot 環境ではルート(/)が overlay ファイルシステムでマウントされているため、MODULES=dep 設定ではルートブロックデバイスを特定できません。
解決方法
/etc/initramfs-tools/initramfs.conf の MODULES=dep を MODULES=most に変更し、壊れたパッケージを再設定します。
# initramfs 設定変更
sudo sed -i 's/^MODULES=dep$/MODULES=most/' /etc/initramfs-tools/initramfs.conf
# 壊れたパッケージの復旧
sudo dpkg --configure -a
# アップグレード再実行
sudo apt-get upgrade -y
overlayroot 環境で変更を永続化する場合:
sudo overlayroot-chroot sed -i 's/^MODULES=dep$/MODULES=most/' /etc/initramfs-tools/initramfs.conf
補足
initramfs 生成時に以下の警告が出ることがありますが、overlayroot 環境では一般的で、アップグレードには影響しません。
W: Couldn't identify type of root file system '/media/root-ro/' for fsck hook
2. Visual Studio Code のインストール
Raspberry Pi 公式リポジトリの .deb パッケージをユーザーアカウントにインストールしました。
インストール場所
| パス | 説明 |
|---|---|
/home/pi/apps/vscode/extract/usr/share/code/ |
VS Code 本体 |
/home/pi/.local/bin/code |
実行コマンド(シンボリックリンク) |
/home/pi/.local/share/applications/code.desktop |
アプリケーションメニュー項目 |
使い方
# ターミナルから起動
code
# 特定フォルダを開く
code ~/dev
システム全体インストール(任意)
apt でインストールすると自動更新が便利です。
sudo apt update
sudo apt install -y code
3. Docker のインストール
Docker Engine は公式インストールスクリプトでインストールしました。再インストールが必要な場合は以下のスクリプトを使用できます。
インストールスクリプト
sudo bash ~/install-docker.sh
スクリプトファイル: /home/pi/install-docker.sh
スクリプトの処理内容:
- Docker 公式インストールスクリプト(
get.docker.com)の実行 -
docker,containerdサービスの有効化・起動 -
piユーザーをdockerグループに追加 -
hello-worldコンテナでインストール確認
使い方
# バージョン確認
docker --version
docker compose version
# テストコンテナ実行
docker run --rm hello-world
# コンテナ一覧
docker ps -a
補足
-
sudoなしで Docker を使うには、インストール後に ログアウトして再ログイン してください。 - overlayroot 環境では、スクリプトが自動的に
overlayroot-chrootを使って永続インストールを試みます。
4. Python 3 開発環境
インストールしたシステムパッケージ
sudo apt-get install -y \
python3-pip python3-venv python3-dev python3-setuptools python3-wheel \
libffi-dev libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev liblzma-dev tk-dev pipx build-essential
ディレクトリ構成
~/dev/
├── .venv/ # 共通開発用仮想環境
├── requirements-dev.txt # 共通開発ツール一覧
└── hello/ # サンプルプロジェクト
~/.local/bin/
└── new-python-project # 新規 Python プロジェクト作成スクリプト
~/.bash_aliases # Python 便利関数・エイリアス
~/.config/pip/pip.conf # pip 設定
共通開発仮想環境(~/dev/.venv)
インストール済みツール:
| ツール | 用途 |
|---|---|
ruff |
リンター / フォーマッター |
pytest |
テストフレームワーク |
ipython |
対話型 Python シェル |
httpx |
HTTP クライアント |
# 共通開発環境を有効化
pydev
# ツールバージョン確認
ruff --version
pytest --version
ipython --version
新規プロジェクト作成
# ~/dev/myapp プロジェクト作成
new-python-project myapp
# 別パスに作成
new-python-project myapp ~/projects
生成されるプロジェクト構成:
myapp/
├── pyproject.toml
├── .gitignore
├── src/myapp/
│ ├── __init__.py
│ └── main.py
├── tests/
│ └── test_main.py
└── .venv/
cd ~/dev/myapp
pyvenv # 仮想環境を有効化
pytest # テスト実行
python -m myapp.main
ruff check . # リントチェック
シェル便利コマンド(.bash_aliases)
| コマンド | 説明 |
|---|---|
pydev |
~/dev/.venv 仮想環境を有効化 |
pyvenv |
カレントディレクトリの .venv を有効化 |
py |
python3 のエイリアス |
pip |
python3 -m pip のエイリアス |
新しいターミナルを開くと、上記コマンドをすぐ使えます。
5. 主要ファイル一覧
| ファイル | 説明 |
|---|---|
/home/pi/README.md |
このドキュメント |
/home/pi/install-docker.sh |
Docker インストールスクリプト |
/home/pi/.local/bin/new-python-project |
Python プロジェクト作成スクリプト |
/home/pi/dev/requirements-dev.txt |
共通 Python 開発ツール一覧 |
/home/pi/.bash_aliases |
シェル便利関数・エイリアス |
/home/pi/.config/pip/pip.conf |
pip 設定 |
6. クイックリファレンス
# システム更新
sudo apt update && sudo apt upgrade -y
# VS Code 起動
code
# Docker 状態確認
systemctl status docker
docker ps
# Python 開発環境
pydev
new-python-project myapp
cd ~/dev/myapp && pyvenv && pytest
7. トラブルシューティング
apt-get upgrade 失敗(initramfs)
→ 1. apt-get upgrade エラーの解決 を参照
Docker 権限エラー(permission denied)
# docker グループ確認
groups pi
# グループにいなければ追加後、再ログイン
sudo usermod -aG docker pi
Python 仮想環境が有効化されない
# 共通環境
source ~/dev/.venv/bin/activate
# プロジェクト別環境
source .venv/bin/activate
VS Code がメニューに表示されない
# デスクトップ DB 更新
update-desktop-database ~/.local/share/applications
まとめ
Raspberry Pi(Debian Trixie)で以下を構築しました。
-
システム: overlayroot 環境での
apt-get upgradeエラー解消 - エディタ: Visual Studio Code 1.121.0
- コンテナ: Docker 29.5.2 + Docker Compose
- Python: 3.13.5 開発環境(ruff, pytest, ipython など)
Raspberry Pi を開発マシンとして使う際の参考になれば幸いです。