Armadillo-X1, Armadillo-IoT G3/G3Lでは、インストールディスクでLinuxカーネル、ルートファイルシステムを更新する仕組みがあります。インストールディスクを使用する方法では、SDカードを使用する必要がありますが、なんらかの理由によりSDカードを使用せずUSBメモリを使用したい場合があるかと思います。 そのため、ここではUSBメモリを使用して、eMMCのLinuxカーネル、ルートファイルシステムを更新する方法について紹介します。
ブログ
-
at_ito
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、SDカードをルートファイルシステムとして構築できず、USBメモリに構築する必要がある場合があります。その際のUSBメモリにルートファイルシステムを構築する手順を紹介します。
-
at_kazutaka.bito
Armadillo-440で、SDカードにDebian環境を構築して、セルフコンパイルできるようにする方法です。
-
at_kazutaka.bito
Armadillo-440で、USBメモリにDebianルートファイルシステムを構築する方法です。 (ブートローダーとカーネルは、ROMに書き込んだもので動作します。)
-
at_takuya.sasaki
Armadillo-IoT G2に標準でインストールされているmosquittoのバージョンは1.3.5になります。 これを、2017.07.02時点で最新の1.4.12に上げてみました。
-
at_ito
AradilloではLinuxカーネルのコンフィギュレーションを変更した場合など、Linuxカーネルのファイルを変更して動作させることがあるかと思います。その際にコンフィギュレーションに問題があり起動しなくなった場合等は、変更前のLinuxカーネルに戻したい場合等があるかと思います。 そういった複数のLinuxカーネルを使用したい場合に使える方法についてここで紹介します。
-
at_takuya.sasaki
Armadillo-400シリーズのソフトウェアマニュアルにサンプルコードがある、GPIO sysfsからの割り込みですが、 これをG3/X1に搭載可能なDIDOアドオンモジュールで利用する方法です。
-
at_yuma.arakawa
x1-debian-builderで自動作成されるrootユーザー、atmarkユーザーのパスワードの変更方法を紹介します。
-
at_yuma.arakawa
Armadillo-IoT G3/G3L、あるいはArmadillo-X1では、x1-debian-builderというツールを使用してルートファイルシステムアーカイブを作成します。 この記事では、その主たる処理を行うbuild.shの動きについて、簡単に概要を説明いたします。
-
at_yuma.arakawa
インターネット経由でスマートフォンへPush通知を行うためのサービスとして"Pushbullet"というサービスがあります。 この記事では、Armadillo-IoT G3/G3Lで使用してみた際の手順をまとめます。
-
at_yuma.arakawa
ルートファイルシステムアーカイブは.tar.gzのアーカイブなので、展開すればchownコマンドで所有者を変更できます。ただし、chownでの変更時に注意が必要な点があるため、この記事で説明します。
-
at_yuma.arakawa
x1-debian-builderでルートファイルシステムアーカイブを作成すると、一般ユーザーとして"atmark"ユーザーが作成されます。この記事では、ルートファイルシステムアーカイブ作成時のユーザーの追加/変更方法を紹介します。
-
at_yuma.arakawa
apt-getコマンドでdebファイルのダウンロードが可能です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3LでDeviceTreeを作成する際に、各ドライバーのソースコードを確認する必要がある場合があります。本ブログでは、Microchip 製 AD コンバーター(MCP3202)の設定を例に、該当のドライバーの場所を調べる方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、アプリケーション開発環境がArmadillo上で開発することが想定されており、ATDE環境でクロス開発する場合には、各種クロスライブラリのインストール等必要なため大変です。 そのため、ATDE環境でArmadilloのルートファイルシステムを動作させ、そこでアプリケーション開発する方法について紹介します。
-
at_takuya.sasaki
AArmadillo-220で利用可能な機能が、Armadillo-420では一部利用ができない または仕様が変わっている 部分があります。 今回はそのうちの一部をArmadillo-420でも利用できるように変更してみました。
-
at_takuya.sasaki
Armadillo-IoT G3のファイアーウォールはデフォルトでは、すべて許可(ACCEPT)しています。 実際に使用するネットワーク環境に合わせて、必要なポート以外は閉じる必要がありますが、 今回は、ファイアーウォール設定の一例をご紹介します。
-
at_kazutaka.bito
Armadillo-IoT(G3/G3L)で、Node.jsを使えるようにしてみました。 (Armadillo-X1でも同様の手順で可能です。)
-
at_kazutaka.bito
Armadillo-X1で、カメラの画像からQRコードを読む方法(zbarcam)です。カメラはUSBカメラを使用しました。 当方が確認したのは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手順が使えるはずです。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、量産時には突然の電源断対策にOverlayFSを有効化し、ファイル変更などをeMMCに書込みせずRAMに保存するような仕組みになっています。その際には、動作ログ等でファイルサイズが増え続けるとRAMの容量を圧迫してしまうため、長期連続動作をする場合は、ファイルサイズを抑制するよう構成することが必要です。 ここではログファイルの増加を抑制する前に、まずは動作時にどのようなファイルが変更されているかの確認方法について紹介します。
-
at_ito
sshを使用してログイン後、バックグラウンドでコマンドを実行し、ログアウトをすると実行したコマンドは終了してしまいます。ここではログアウト後も継続してバックグラウンドでコマンドを実行したい場合に使える方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3ではマルチプレクスの設定を行う際にはDevice Treeが必要になります。ここではArmadillo-X1, Armadillo-IoT G3/G3Lでピンのマルチプレクス設定を行う際の例を記載します。
-
at_kazutaka.bito
Armadillo-X1の拡張インタフェース(CON8)のI2Cインタフェースで、I2C接続D/Aコンバータ(MCP4725)を使ってみました。
-
at_takuya.sasaki
Armadillo-IoT G3に統合監視ソフトウェアであるzabbixサーバをインストールしてみました。
-
at_kazutaka.bito
Armadillo-X1で、USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法です。
-
at_takuya.sasaki
以前 Armadillo-840でiDS社製のUSBカメラ uEye XS2を動かしてみたブログを書きました。 Armadillo-840でiDS社製uEye XS 2を動かしてみる(Debian編) 今回は同じ内容をArmadillo-X1で試してみました。
-
at_takuya.sasaki
以前書いたブログ[*1]を元に、今度はAtmarkDistにて動作させてみました。 [*1] https://users.atmark-techno.com/blog/750/2572
-
at_kazutaka.bito
Armadillo-X1の拡張I/F(CON8)のUARTを使用する方法です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、拡張ボードのマルチプレクスの設定や、ドライバーの設定を行うにはDevice Treeの設定が必要になります。 ここではDevice Treeの概要と、Device Treeについての調べ方について簡単に紹介します。
-
at_ito
node-eye(SACM)でシステムを監視している際に、標準では対応していない一部ファイルの更新や、設定の変更など、各システムに合わせてリモートからの指示をカスタマイズしたい場合があるかと思います。 そのような場合は、任意コマンドを実行できるよう設定を行うことで対応可能です。 ここでは任意コマンドの実行できるようにする追加設定の方法を紹介します。
-
at_takuya.sasaki
Armadillo-IoT G3/G3Lでは、NetworkManagerを使ってネットワークの設定を行います。 3G/LTEと、有線LANを同時に使う際に、有線LAN側のGWをデフォルトゲートウェイとして設定されてしまうと、 外部ネットワークへの接続ができなくなることがあるので、その際の対処方法の一つとして、 有線LANをデフォルトゲートウェイに設定しない方法を試してみます。
-
at_kazutaka.bito
Armadillo-X1の拡張I/F(CON8)のSPIを使用する方法です。 使用するCON8の端子番号と機能の相関は下記のとおりです。 SPI(ECSPI4) 72:MISO 73:MOSI 74:SCLK 75:SS(GPIO3_IO3)
-
at_yuma.arakawa
Armadillo-X1/IoT(G3/G3L)では、ユーザーランドとしてDebian GNU/Linux 8(jessie)のルートファイルシステムアーカイブのみを公開しています。このアーカイブの作成やカスタマイズには、x1-debian-builderというツールを公開しています。 ただし、x1-debian-builderは完了までに少なくとも30分程かかります。本記事では、ちょっとした変更などで、アーカイブを直接変更する手順を紹介します。
-
at_yuma.arakawa
x1-debian-builderを使用してルートファイルシステムアーカイブを作成する際、apt-getでインストールするパッケージは、
x1-debian-builder-[VERSION]/[製品名]_resources/resources/packages
にパッケージ名を追加します。 パッケージに設定ファイルが含まれる場合、この設定ファイルがルートファイルシステムアーカイブに組み込まれることになります。
しかし、ルートファイルシステムアーカイブには任意に変更した設定ファイルを含めたい場合があります。 そこで本記事では、lighttpdを例に、変更した設定ファイルを含むルートファイルシステムアーカイブの作成方法を紹介します。 -
at_takuya.sasaki
Armadillo-840にiDS社製のUSBカメラ uEye XS 2[*1]を接続して動かしてみました。 [*1] https://jp.ids-imaging.com/store/produkte/kameras/usb-2-0-kameras/ueye-xs/xs.html
-
at_ito
node-eyeは「node-eye: ネットワーク接続シーケンスの参考情報」で紹介した通りネットワークが一度接続された後に、切断、再接続というネットワーク接続シーケンスを取ります。 そのため、最後の再接続が完了されたかどうかを確認したい場合があるかと思います。 ここではその実現方法例を紹介します。
-
at_takuya.sasaki
Armadillo-810からの画像をWindows上で表示したり録画できるツールをご紹介します
-
at_takuya.sasaki
Armadillo-IoT G3/G3Lでは、3G/LTEモジュールの制御をModemManagerで実施しています。 3GやLTE接続時に、何かしら問題が起きた時にこれらのデバッグログを有効にする方法をご紹介します。
-
at_yuma.arakawa
overlayfsの有効化方法は製品マニュアルに記載があります[*1]が、無効化方法は記載されていません。
[*1] 22.2. ルートファイルシステムへの書き込みと電源断からの保護機能
有効化では、U-Bootの環境変数にoverlayfsを設定しているだけです。そこで、本記事ではU-Bootの環境変数の内容を確認し、削除する方法を紹介します。 -
at_yuma.arakawa
hcitoolでHCI(Host Controller Interface)のコマンドをBluetoothモジュールへ発行することにより、Bluetoothモジュールの設定を変更できます。本記事では例として、アドバタイズパケットの送信周期を変更してみます。
-
at_kazutaka.bito
Armadillo-X1/IoT(G3/G3L)の製品マニュアルには、ATDE6からのファイル転送として、SSHを使用する方法がありますが、 ここでは、ATDE6にlighttpd(Webサーバー)を使えるようにして、Armadillo-X1/IoT(G3/G3L)からファイルを取得する方法を説明します。
-
at_kazutaka.bito
起動時にソフトを自動実行する場合は、実行コマンドの後ろに"&"をつけてバックグラウンドで実行させます。 うっかり忘れてしまうと、フォアグラウンドで実行されてしまい、コンソールが戻らずログインできなくなります。 ここでは、Armadillo-X1/IoT(G3/G3L)で、起動時のソフトの自動実行により、ログインできなくなったときの復帰方法を説明します。
-
at_yuma.arakawa
Armadillo-IoT G3/Armadillo-IoT G3L/Armadillo-X1ではi.MX7DというデュアルコアのCPUを搭載しています。通常、あるプロセスがどのCPUコアで実行されるかは、Linuxカーネルの判断次第なのですが、プロセスごとにアフィニティ(親和性)の設定を行うことで、どのコアで実行して欲しいかをLinuxカーネルへ指定することができます。 tasksetというコマンドでアフィニティの設定が行えます。本記事では、実行例と共に使用方法を紹介します。
-
at_ito
node-eyeにはネットワーク設定のリモートコンフィグ機能が、標準で実装されています。この機能を使用することにより、ネットワークの設定がWebブラウザ上で行うことができます。
ただし、この機能を使用するため従来のような端末でのネットワーク設定と異なる動作を行いますので、ここでまとめておきます。 -
at_ito
Armadillo上で、eMMCやSDカード等のストレージにデータを書きこんだ場合、すぐにデータが書きこまれるわけではなく、メモリ上のディスクキャッシュに保存されていることがあります。
その状態で電源が切断されると、RAM上に保存されているディスクキャッシュが、ストレージに書き出される前の状態であるため、ストレージの書き出したはずのデータが消える等の問題が発生します。
そのため、ここでは明示的にディスクキャッシュをストレージに書き出す方法を紹介します。 -
at_takuya.sasaki
Armadillo-810をUSB HIDデバイスとして動作させ、PCやタブレット端末側からArmadillo-810がHIDデバイス(キーボードやマウスなど)として見えるようにすることを目的とします。
-
at_takuya.sasaki
以前書いた以下のブログでは、OpenCVによる画像処理の結果は、ファイルに保存していました。 Armadillo-X1でOpenCVを使って見る しかし画像処理の結果を、連続してウィンドウに連続描画したい場合が多いと思います。 Armadillo-X1にUSBモニタを接続する方法もありますが、今回はLANで接続したPC上でウィンドウ表示する方法を試してみます。
-
at_kazutaka.bito
Armadillo-400/800シリーズで、USBメモリを使ってイメージファイルを書き換える方法です。
WindowsPCでFAT32ファイルシステムのUSBメモリに
・カーネル:linux.bin.gz
・ユーザーランド:romfs.img.gz
という名前のイメージファイルを書き込んでいる場合を想定して説明します。 -
at_kazutaka.bito
Armadillo-X1でWebページ上で表とグラフを表示するサンプルデモを作ってみました。
(今回確認したものは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手法が使用できると思います。) -
at_yuma.arakawa
インストールディスクの実態は、SDのブートディスクです。Armadilloの内臓ストレージ(eMMC及びQSPIフラシュメモリ)へ書き込むイメージファイルと、インストールスクリプトを含んでおり、SDブート時にインストールスクリプトが実行されるよう設定されています。