運用編

コンテナ内のアプリケーションのアップデートはセットアップとは関係なく、 とくに特別な対応なしで通常どおりの方法でアップデートが可能です。 製品マニュアルを参考にしてください。

署名済みブートローダーや Linux カーネルを更新する場合は以下の手順に従ってください。

5.1. 署名済みブートローダーの更新方法

以下のURLにおける「ブートローダー ソース(u-boot等)」から最新のブートローダーを取得してください。

以下のURLから「ブートローダー ソース(u-boot等)」を取得してください。

ブートローダーのソースコードのアーカイブを展開します。 以降、このアーカイブをホームディレクトリに展開した想定で説明します。

[ATDE ~]$ tar xaf imx-boot-[VERSION].tar.gz 1

図5.1 最新のブートローダーのソースコードを展開する


1

アーカイブを展開します。[VERSION] はバージョンによって変化します。

secureboot_a900/imx-boot のシンボリックリンク元を最新のものにつけかえます。

[ATDE ~]$ rm -rf secureboot_a900/imx-boot 1
[ATDE ~]$ ln -s /home/atmark/imx-boot-[VERSION] /home/atmark/secureboot_a900/imx-boot 2

図5.2 シンボリックリンク元を最新のブートローダーに変更する


1

シンボリックリンクを削除します。

2

imx-boot-[VERSION] をシンボリックリンク元として secureboot_a900/imx-boot のシンボリックリンクを作成します。

最新のブートローダーに署名を行います。

[ATDE ~]$ cd imx-boot-[VERSION]
[ATDE ~/imx-boot-[VERSION]]$ ./secureboot.sh imxboot
Logging build outputs to /home/atmark/secureboot_a900/tmp/imxboot.log

Building imx-boot (boot loader)...
Created /home/atmark/secureboot_a900/out/imx-boot_armadillo-900.signed 1

図5.3 最新のブートローダーに署名する


1

最新のブートローダー対して署名したファイルが作成されます。

最新の署名済みブートローダーをインストールするための SWU イメージを作成します。

[ATDE ~/imx-boot-[VERSION]]$ cd ~/mkswu 1
[ATDE ~/mkswu]$ cp /usr/share/mkswu/examples/boot.desc . 2
[ATDE ~/mkswu]$ cat boot.desc
swdesc_boot "/home/atmark/secureboot_a900/out/imx-boot_armadillo-900.signed" 3
[ATDE ~/mkswu]$ mkswu boot.desc
Enter pass phrase for /home/atmark/mkswu/swupdate.key: 4
boot.swu を作成しました。5
[ATDE ~/mkswu]$ mkswu --show boot.swu 6
# boot.swu

# Built with mkswu [mkswu のバージョン]
# signed by "atmark"

swdesc_boot  --version boot [VERSION] /home/atmark/secureboot_a900/out/imx-boot_armadillo-900.signed

図5.4 最新の署名済みブートローダーを SWU イメージに組み込む


1

mkswu ディレクトリに移動します。

2

使用する desc ファイル(boot.desc)を mkswu ディレクトリにコピーします。

3

swdesc_boot の引数を最新の署名済みブートローダーのファイルパスに置き換えてください。

4

SWU イメージを作成するためのパスワードの入力を求められます。

5

boot.swu がカレントディレクトリに作成されます。

6

boot.swu の中身を表示します。[VERSION] が最新であることをご確認ください。

作成した boot.swu を Armadillo にインストールすることでブートローダーをアップデートできます。

5.2. 署名済み Linux カーネルの更新方法

署名済み Linux カーネルを更新するために、secureboot.sh linux コマンドを使用します。

--linux-update 引数を指定することで最新の Linux カーネルイメージをダウンロードできます。

at-dtweb でカスタマイズした dtbo ファイルを Linux カーネルイメージに組み込みたい場合は、secureboot.sh linux コマンド実行時に --dtbo でその dtbo ファイルのパスを指定してください。

ストレージの暗号化を行っている場合は --initrd-type mmc を指定してください。

[ATDE ~]$ cd imx-boot-[VERSION]
[ATDE ~/imx-boot-[VERSION]]$ ./secureboot.sh linux --linux-update --initrd-type mmc
Logging build outputs to /home/atmark/secureboot_a900/tmp/linux.log

Downloading https://download.atmark-techno.com/armadillo-iot-g4/baseos/linux-at-x2-latest.apk 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16.1M  100 16.1M    0     0  6582k      0  0:00:02  0:00:02 --:--:-- 6579k

Building initrd for mmc (first time is slow)
Signing linux image (mmc)...
Created /home/atmark/secureboot_a900/out/Image.signed-mmc 2

図5.5 最新の Linux カーネルイメージに署名する


1

最新の Linux カーネルの apk の apk パッケージを取得します。

2

署名済みの暗号化対応の Linux カーネルイメージが作成されます。

SWU イメージを作成するための desc ファイルを作成します。

[ATDE ~/imx-boot-[VERSION]]$ cd ~/mkswu 1
[ATDE ~/mkswu]$ cp /usr/share/mkswu/examples/encrypted_rootfs_linux_update.desc . 2
[ATDE ~/mkswu]$ cat encrypted_rootfs_linux_update.desc 3
# This example is intended for users with ENCRYPTED_ROOTFS.
# Ignore it if not using encryped rootfs.

# version must be updated everytime like normal updates
swdesc_option version=[LATEST_VERSION] 4

# Image.signed is an a linux image with initrd built using
# imx-boot/secureboot.sh linux
swdesc_boot_linux "/home/atmark/secureboot_a900/out/Image.signed-mmc" 5

図5.6 最新の署名済み Linux カーネルイメージを SWU イメージに組み込む desc ファイルを作成する


1

mkswu ディレクトリに移動します。

2

作成した署名済み Linux カーネルイメージを SWU イメージに組み込むための desc ファイル(encrypted_rootfs_linux_update.desc)を mkswu ディレクトリにコピーします。

3

encrypted_rootfs_linux_update.desc の中身を表示します。

4

[LATEST_VERSION] は更新する際の最新のバージョンに書き換えてください。

5

作成した署名済み Linux カーネルイメージのパスを swdesc_boot_linux の引数に指定してください。

SWU イメージを作成します。

[ATDE ~/mkswu]$ mkswu encrypted_rootfs_linux_update.desc
Enter pass phrase for /home/atmark/mkswu/swupdate.key: 1
encrypted_rootfs_linux_update.swu を作成しました。2
[ATDE ~/mkswu]$ mkswu --show encrypted_rootfs_linux_update.swu 3
# encrypted_rootfs_linux_update.swu

# Built with mkswu [mkswu のバージョン]
# signed by "atmark"

swdesc_boot_linux  --version boot_linux [LATEST_VERSION] /home/atmark/secureboot_a900/out/Image.signed-mmc

図5.7 最新の署名済み Linux カーネルイメージが組み込まれた SWU イメージを作成する


1

SWU イメージを作成するためのパスワードの入力を求められます。

2

encrypted_rootfs_linux_update.swu がカレントディレクトリに作成されます。

3

encrypted_rootfs_linux_update.swu の中身を表示します。[LATEST_VERSION] が最新であることをご確認ください。

作成した encrypted_rootfs_linux_update.swu を Armadillo にインストールすることで Linux カーネルイメージをアップデートできます。