Armadillo-IoT(G4)/X2で、Linuxカーネルのビルド~Armadilloへの書き込みまでの一連の手順です。
0. 前提(開発環境の準備)
ここでは、Linuxカーネルのビルド、および、Armadilloのイメージ書き換え環境として、該当する製品の
Armadillo-IoT ゲートウェイ G4 製品マニュアル「3.1. 開発の準備」
Armadillo-X2 製品マニュアル「3.1. 開発の準備」
の「3.1.5. Armadillo に初期設定をインストールする」まで実施済みの前提で説明します。
補足)後述の手順にて、上記手順内の
「
図3.9 initial_setup.swu 初回生成時の各種設定」で設定した
「証明書の鍵のパスワード」「abos-web のパスワード」が必要になります。
以下、ATDEのコマンドライン端末(GNOME)が起動している状態で実施します。
1. Linuxカーネルのビルドに必要なパッケージのインストール
[ATDE ~]$ sudo apt update [ATDE ~]$ sudo apt install crossbuild-essential-arm64 bison flex python3-pycryptodome python3-pyelftools zlib1g-dev libssl-dev bc firmware-misc-nonfree wireless-regdb atmark-firmware
2. Linuxカーネルのソースファイル入手~デフォルトコンフィグ
[ATDE ~]$ wget [ソースファイルのURL(※)] # linux-at-x2-[VERSION].tarというファイルがダウンロードされます。 [ATDE ~]$ tar xf linux-at-x2-[VERSION].tar [ATDE ~]$ tar xf linux-at-x2-[VERSION]/linux-[VERSION].tar.gz [ATDE ~]$ cd linux-[VERSION] [ATDE ~/linux-[VERSION]]$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- x2_defconfig
※)最新バージョンの場合、下記サイト内の「Linuxカーネル」のリンク先のURL
Armadillo-IoT ゲートウェイ G4 Linuxカーネル
Armadillo-X2 Linuxカーネル
3. Linuxカーネルのカスタマイズ(必要な場合のみ)
コンフィギュレーションを変更する場合
[ATDE ~/linux-[VERSION]]$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
コマンドを実行するとカーネルコンフィギュレーション設定画面が表示されます。
カーネルコンフィギュレーションを変更後、"Exit"を選択し、
「Do you wish to save your new kernel configuration? (Press to continue kernel configuration.)」
で"Yes"を選択し、 カーネルコンフィギュレーションを確定します。
ソースコードを改変する場合
linux-[VERSION]ディレクトリ内のソースコードを編集します。
4. Linuxカーネルのビルド
[ATDE ~/linux-[VERSION]]$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j5
5. ビルドしたLinuxカーネルのアップデートファイル(kernel.swu)を作成
[ATDE ~/linux-[VERSION]]$ /usr/share/mkswu/examples/kernel_update_plain.install.sh ~/mkswu/kernel.desc [ATDE ~/linux-[VERSION]]$ mkswu ~/mkswu/kernel.desc Enter pass phrase for /home/atmark/mkswu/swupdate.key: # 「証明書の鍵のパスワード」(※)を入力します。 /home/atmark/mkswu/kernel.swu を作成しました。
※)上記手順「0. 前提」で設定した「証明書の鍵のパスワード」
6. LinuxカーネルをArmadilloに書き込む
Linuxカーネルのアップデートファイル(kernel.swu)で、Armadilloに書き込みます。
書き込み方法は、
Armadillo-IoT ゲートウェイ G4 製品マニュアル「3.3.3.5. SWU イメージのインストール」
に記載の通り複数ありますが、ここでは一例として、ABOS Webを使った手順で説明します。
(下記手順は、ATDEからArmadilloに対して、ネットワーク名(armadillo.local)か、[ArmadilloのIPアドレス]で
ネットワーク接続可能な場合に有効です。)
下記のどちらかのコマンドで、ABOS Webを開きます。
# Armadilloのネットワーク名が「armadillo.local」で見えている場合 [ATDE ~/linux-[VERSION]]$ firefox --url https://armadillo.local:58080 # ArmadilloのIPアドレスを直接指定する場合 [ATDE ~/linux-[VERSION]]$ firefox --url https://[ArmadilloのIPアドレス]:58080
①ログイン画面では、上記手順「0. 前提」で設定した「abos-web のパスワード」を入力してログインします。
②ABOS Webの画面で「SWUインストール」をクリックします。
③「SWUファイル入力」のウィンドウで「参照」をクリックします。
④「ファイルのアップロード」のウィンドウで、「/home/atmark/mkswu」ディレクトリ内の
「kernel.swu」を選択します。
⑤「SWUファイル入力」のウィンドウに戻ったら「インストール」をクリックします。
以上で、ArmadilloにLinuxカーネルが書き込まれた後、自動的に再起動がかかります。