LoginSignup
4
3

More than 3 years have passed since last update.

Archlinux 64bit Raspberry pi 4でUSB bootするまで(MBRディスクのみ)

Posted at

始めに

Raspberry Pi4でもUSBからブートできるようになり、各種ディストリビューションでも動作するようになってきました。64bit対応のものでもできるようになってきましたが、まだ手順がいろいろあり、一発で動作するようにはなっておりません。特にArchlinuxは32bit版はできるが、64bit版ができない状態でした。やっと方法の文章を見つけたので、試したところ、MBRディスク限定ですが成功したので、手順を公開しておきます。

参考サイト

準備するもの

  • Raspberry Pi 4(USB boot対応済のもの)
  • SDカード 16 or 32GB 仮環境の構築
  • SSD or HDD 2TB未満のもの( GPT対応不可のため )
  • Linux PC 環境作成に使用

インストラクション

まず、SDカードにArchlinux 64bitの環境をインストールします。linux PCを使い、こちらの記事に記載されている「Archlinuxのインストール」の部分でインストールを行ってください。インストールが完了したら、同記事の「Raspberry Pi 4の環境設定」のうちのsudoを設定するところまで完了してください。以降、ユーザpiで入り直したところからの手順となります。

まず、ベースの環境をインストールして、ワークディレクトリを作ります。

$ sudo pacman -S base-devel
$ mkdir work
$ cd work

次にPCなどで、ブラウザで以下のアドレスをアクセスしてください。(SSHなどでPCからraspberry piに接続していることを想定)

ここに出ている5つのテキストファイルを同名でworkディレクトリ内に作成してください。

0001-rpi-increase-space-for-kernel.patch
PKGBUILD
boot.txt.v2
boot.txt.v3
mkscr

多分viなどの画面にコピペすることになりますが、
この時、
0001-rpi-increase-space-for-kernel.patch
は最後空行が必要、それ以外は最後空行はNGとなります。(実行時にエラーとなります。)
次にPKGBUILDを開きます。

$ vi PKGBULID

以下の変更をします。
(1) pkgnameを uboot-raspberrypi-rc にします。
(2) pkgver を 2020.10rc2 にします。
(3) md5sums の最初の行のチェックサムを 'bae5280c7ce49961c3722fa9019535bf' にします。

出来上がったら、実行してビルドします。

$ makepkg -si

ビルドが無事終了すると、最後に出来上がったパッケージをインストールしようとしてエラーで落ちます。なので、手動でインストールします。

$ mkdir tmp
$ tar xf uboot-raspberrypi-rc-2020.10rc2-2-aarch64.pkg.tar.xz -C tmp
$ sudo cp tmp/boot/* /boot

次にイニシャライズ部分の変更をします。

$ sudo vi /etc/mkinitcpio.conf

MODULES=()

の行を

MODULES=(pcie_brcmstb)

に変更して、以下を実行します。

$ sudo mkinitcpio -P

これで、USB boot可能なイメージが出来上がりました。Raspberry pi4はシャットダウンしてください。

このイメージをlinux PCを用いて、SSD/HDDに写し取ります。SDカードイメージには、/bootと/の2つのイメージが入っているため、SDカードと同じ要領でパーティションを作成します。このパーティションにSDカードのパーティション内容をコピーします。コピーするときはrootユーザで実行してください。また、/をコピーするときは、cp -rpとpオプションを指定して、オーナー情報等を保存してください。

これでやっとUSB bootができます。
Raspberry Pi4にSSD/HDDだけを取り付け、電源を入れてください。立ち上がると思います。

Archlinux aarch64版の良いところは、別記事にもあるように最初からKVMがついており、aarch64のVMを高速に動作させることができることです。そのためには、容量に余裕のあるSSD/HDDで環境構築できるといろいろ良いことがあると思います。よかったら試してみてください。

4
3
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
4
3