3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2でRaspberry Pi 4BにArchLinuxを入れる

Last updated at Posted at 2025-06-30

WSL2でRaspberry Pi 4BにArchLinuxを入れる

概要

Raspberry Pi 4BにArch Linuxを導入する手順をまとめた備忘録です。MicroSDというか、archのuboot起因のエラーぽく忘れないように

問題となる症状

  • mmc1: unrecognised SCR structure version 4 エラー
  • mmc1: error -22 whilst initialising SD card エラー
  • PARTUUID not found エラー

これらは主にRaspberry Pi 4の新しいリビジョン(1.4以降)で発生します。

準備するもの

ハードウェア

  • Raspberry Pi 4B
  • MicroSD カード(64GB以上推奨)
  • MicroSD カードリーダー

ソフトウェア

セットアップ手順

1. WSL環境とMicroSDリーダーを接続

Windows PowerShell(管理者権限)で実行

# WSL に接続するデバイスのバス IDを確認
usbipd list

# デバイスを共有(初回のみ)
usbipd bind --busid {device-ID}

Windows PowerShell(通常権限)で実行

# WSLを起動している状態で実行
# USB デバイスを接続する
usbipd attach --wsl --busid <busid>

WSL内で確認

# デバイスが認識されているか確認
lsusb

# ブロックデバイスとして認識されているか確認
lsblk

2. WSL上でMicroSDにArch Linuxを展開

必要なパッケージをインストール

# Ubuntu/Debianの場合
sudo apt update
sudo apt install u-boot-tools bsdtar wget

SDカードのパーティション作成

# SDカードのパーティション作成(/dev/sdeの部分は環境に応じて変更)
sudo fdisk /dev/sde

fdiskでの操作手順:

  1. o - 新しいDOSパーティションテーブルを作成
  2. np1Enter+512M - bootパーティション作成
  3. tc - FAT32に設定
  4. np2EnterEnter - rootパーティション作成
  5. w - 変更を書き込み

ファイルシステムの作成

# ファイルシステム作成
sudo mkfs.vfat /dev/sde1
sudo mkfs.ext4 /dev/sde2

Arch Linux ARMのダウンロードと展開

# 作業ディレクトリを作成
mkdir ~/arch-linux-setup
cd ~/arch-linux-setup

# 最新版をダウンロード
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz

# マウントポイントを作成
mkdir boot root

# パーティションをマウント
sudo mount /dev/sde1 boot
sudo mount /dev/sde2 root

# Arch Linux ARMを展開
sudo bsdtar -xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C root

# bootファイルを適切な場所に移動
sudo mv root/boot/* boot/

3. 起動エラー修正の適用

Arch Linux ARM フォーラムよりuboot起因のエラー対応を起こなう

boot.txtの修正(重要)

# boot.txtを編集
sudo nano boot/boot.txt

修正内容: 以下の2箇所で ${fdt_addr_r}${fdt_addr} に変更

修正前:

booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
booti ${kernel_addr_r} - ${fdt_addr_r};

修正後:

booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr};
booti ${kernel_addr_r} - ${fdt_addr};

boot.scrの再生成

cd boot
sudo mkimage -A arm -T script -O linux -d boot.txt boot.scr

最新DTBファイルの適用(念のため)

# GitHubから最新のDTBファイルを取得
wget https://github.com/raspberrypi/firmware/raw/master/boot/bcm2711-rpi-4-b.dtb

# 両方の場所に配置
sudo cp bcm2711-rpi-4-b.dtb boot/bcm2711-rpi-4-b.dtb
sudo cp bcm2711-rpi-4-b.dtb boot/dtbs/broadcom/bcm2711-rpi-4-b.dtb

4. 安全なアンマウント

# 全ての書き込み処理を完了
sudo sync

# アンマウント
sudo umount boot root

# 再度同期
sudo sync

# USBデバイスの安全な取り外し(オプション)
sudo eject /dev/sde

5. Raspberry Piでの動作確認

  1. MicroSDカードをRaspberry Pi 4Bに挿入
  2. 電源を接続
  3. 正常に起動することを確認

ログイン情報

  • 一般ユーザー: alarm / alarm
  • root ユーザー: root / root

loginしたら絶対変更しよう

参考資料

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?