0
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?

More than 1 year has passed since last update.

[Docker] RaspberryPi OS Full 64bit arm64のDockerイメージ作成

Last updated at Posted at 2022-09-07

きっかけ

なんとなくです、と言うとアレなので強いて言うのであれば、出先でもラズパイなあれこれの開発をしたいと感じたから、です。持ち歩くのもアレなのでDockerで頑張ることにしました。

作業環境

  • ThinkPad X13 Gen2i
  • Ubuntu 22.04
  • Docker version 20.10.17, build 100c701

作業

主にこちらの記事を参考にしました。
RaspberryPi OS 32bit armhf / armv7l の Docker Image 作成と起動

公式のRootファイルシステムのダウンロード

wget https://downloads.raspberrypi.org/raspios_full_arm64/root.tar.xz

ついでにハッシュ確認をしたかったのですがここの中では見つけられませんでした。ちなみにこうなりました。

$ sha256sum root.tar.xz
e8fd091305558e1f8c1ff44c905e28618cac159afbaa9513420427fe98362256  root.tar.xz

Dockerにインポート & イメージ作成

リポジトリ名とタグ名に注意してセットします。

$ docker image import root.tar.xz {リポジトリ名}/raspios_full_arm64:2022-04-04_bullseye
sha256:06a8e8313fea7b441c6084ce7ee3aa24991c56b97cd3e60c6ca8446246177b13

作成されたイメージの確認をします。

$ docker images
REPOSITORY                                               TAG                   IMAGE ID       CREATED          SIZE
na2na/raspios_full_arm64                                 2022-04-04_bullseye   9524f8db1176   20 seconds ago   4.64GB

作成されたイメージからコンテナの作成と起動確認

QEMUのStaticモジュールを使用して起動します。

$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
$ docker run -it --rm \
    -v `pwd`:/workspace \
    na2na/raspios_full_arm64:2022-04-04_bullseye bash

確認ができたらexitで抜けます。

パッケージのアップグレードをしたイメージの作成

そのままDockerHubにPushするのもなんだか嫌だったので...。ここからはなんとな〜くやってるので間違っているところがあるかもしれません。200以上更新あってまあまあかかりました。

$ docker run -it na2na/raspios_full_arm64:2022-04-04_bullseye bash

してコンテナ作成をします。

コンテナ内
# apt update && apt upgrade -y

して終わったらctl+p ctl+q抜けます。次にコンテナIDの確認をします。

$ docker ps
CONTAINER ID   IMAGE                                          COMMAND                  CREATED         STATUS                          PORTS     NAMES
2c49f015a44c   na2na/raspios_full_arm64:2022-04-04_bullseye   "bash"                   3 minutes ago   Up 3 minutes                              nervous_turing

最後にdocker commitします。

$ docker commit 2c49f015a44c na2na/raspios_full_arm64:2022-09-07_bullseye

一応起動確認します

$ docker run -it na2na/raspios_full_arm64:2022-09-07_bullseye

DockerHubにPushする

$ docker login # DockerDesktopがあるならそっちでも良さそう
$ docker images # イメージの確認
REPOSITORY                                               TAG                   IMAGE ID       CREATED          SIZE
na2na/raspios_full_arm64                                 2022-09-07_bullseye   920f69ea5844   2 minutes ago    6.32GB
$ docker push na2na/raspios_full_arm64:2022-09-07_bullseye

終わりに

特に作業で引っかかる箇所はありませんでした。安心してラズパイ関係の開発ができますね。
なおliteで良かったんじゃないかという声も(私の中では)ありますが、それは同じ手順で作ればいいだけなんじゃないですかねというのでひとつ

0
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
0
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?