Armadillo-640/610で、Linuxカーネルのビルド~Armadilloへの書き込みまでの一連の手順です。
補足)Armadillo-640/610は、2つのOS(Debian/Armadillo Base OS)に対応しています。
このブログでは、Armadillo Base OSを使用する場合の手順になります。
0. 前提(開発環境の準備)
ここでは、Linuxカーネルのビルド、および、Armadilloのイメージ書き換え環境として、該当する製品の
Armadillo-640製品マニュアル(Armadillo Base OS 対応)「3.1. 開発の準備」
Armadillo-610製品マニュアル(Armadillo Base OS 対応)「3.1. 開発の準備」
の「3.1.5. Armadillo に初期設定をインストールする」まで実施済みの前提で説明します。
補足)後述の手順にて、上記手順内の
「
図3.9 initial_setup.swu 初回生成時の各種設定」で設定した
「証明書の鍵のパスワード」「abos-web のパスワード」が必要になります。
以下、ATDEのコマンドライン端末(GNOME)が起動している状態で実施します。
1. Linuxカーネルのソースファイル入手
[ATDE ~]$ wget [ソースファイルのURL(※)]
# linux-at-a6-[VERSION].tarというファイルがダウンロードされます。
[ATDE ~]$ tar xf linux-at-a6-[VERSION].tar
[ATDE ~]$ tar xf linux-at-a6-[VERSION]/linux-[VERSION].tar.gz
[ATDE ~]$ cd linux-[VERSION]
※)最新バージョンの場合、下記サイト内の「Linuxカーネル」のリンク先のURL
Armadillo Base OS対応 Armadillo-640 Linuxカーネル
Armadillo Base OS対応 Armadillo-610 Linuxカーネル
2. Linuxカーネルのデフォルトコンフィグ
[ATDE ~/linux-[VERSION]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- armadillo-640_defconfig
3. Linuxカーネルのカスタマイズ(必要な場合のみ)
コンフィギュレーションを変更する場合
[ATDE ~/linux-[VERSION]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
コマンドを実行するとカーネルコンフィギュレーション設定画面が表示されます。
カーネルコンフィギュレーションを変更後、"Exit"を選択し、
「Do you wish to save your new kernel configuration? (Press <ESC><ESC> to continue kernel configuration.)」
で"Yes"を選択し、 カーネルコンフィギュレーションを確定します。
ソースコードを改変する場合
linux-[VERSION]ディレクトリ内のソースコードを編集します。
4. Linuxカーネルのビルド
[ATDE ~/linux-[VERSION]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
[ATDE ~/linux-[VERSION]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
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 ゲートウェイ A640製品マニュアル「3.3.3. アップデート機能について」
の「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カーネルが書き込まれた後、自動的に再起動がかかります。