Help us understand the problem. What is going on with this article?

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

始めに

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に接続していることを想定)

https://archlinuxarm.org/packages/armv7h/uboot-raspberrypi/files

ここに出ている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で環境構築できるといろいろ良いことがあると思います。よかったら試してみてください。

yoshiki9636
ぼちぼち記事を投稿していきたいオジサンです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした