FAQ

故障かなと思ったら(Armadillo-X1) Debian GNU/Linux 9 (stretch) 対応

Armadillo-X1で故障かな?と思った時の確認手順を説明します。

本FAQは、Debian/GNU Linux 9 (コードネーム stretch)向けの記事です。 Debian/GNU Linux 10 (コードネーム buster)をお使いの方は「故障かなと思ったら(Armadillo-X1) Debian GNU/Linux 10 (buster) 対応」をご参照ください。

確認は下の図のような流れで行います。

本FAQではSDカードを使用します。SDカードを用意してください。
本FAQは Armadillo-X1 開発セットに含まれる、SDスロット拡張ボードを接続した状態を想定して書かれています。 故障かどうかの確認は、拡張ボードを接続した状態で行なってください。

目次

  1. 準備
  2. ACアダプタの確認
  3. ACアダプタの接続確認
  4. U-Bootの起動確認
  5. Linuxの起動確認
  6. Linuxへのログイン確認
  7. 問題が解決しなかった場合は?

1. 準備

1-1. 作業用PCにATDEをインストールする

作業用PCにATDE7をインストールします。インストールの手順はArmadillo-X1 製品マニュアル 開発/動作確認環境の構築を参照してください。

Armadillo-X1(Debian GNU/Linux 9)に対応したATDEはATDE7です。

1-2. Armadillo-X1と作業用PCを開発用USBシリアル変換アダプタで接続する

以下の接続例を参考に、Armadillo-X1のCON4と作業用PCを開発用USBシリアル変換アダプタで接続します。 また、CON7はSDスロット拡張ボードを取り付けてください。

開発用USBシリアル変換アダプタのスライドスイッチは、以下の図の 1 のように設定した状態としてください。

1-3. ATDEでシリアル通信ソフトウェアを起動する

Armadillo-X1とシリアル通信を行うために、ATDEでminicomを起動します。minicomは端末内で動作するシリアル通信ソフトウェアです。 "GNOME端末"を起動し以下のコマンドを入力します。

[ATDE ~]$ minicom

シリアル通信ソフトウェアの設定は以下の表を参考にしてください。

項目 設定
転送レート 115,200bps
データ長 8bit
ストップビット 1bit
パリティ なし
フロー制御 なし

もしATDEでシリアルポートが使用できない場合は、FAQ : ATDEでシリアルポートが使用できませんを参照してください。

2. ACアダプタを確認する

Armadillo-X1に電源を入れる前に、ACアダプタがArmadillo-X1で使用できるものか確認します。Armadillo-X1 付属のACアダプタを使用している場合は問題ありません。そうでない場合は以下の表を参照してACアダプタが適切であるか確認してください。

出力電圧 出力電流 プラグ形状 極性マーク
5V 1.0A以上 EIAJ RC-5320A準拠(電圧区分2)
外径: 4.0mm
内径: 1.7mm
ac-adapter
5V 1.0A以上 EIAJ RC-5320A準拠(電圧区分2)
外径: 4.0mm
内径: 1.7mm
可能であればテスターなどで、ACアダプタの出力電圧が適切であることを確認してください。

3. ACアダプタの接続状態を確認する

Armadillo-X1にACアダプタを接続します。接続したACアダプタがArmadillo-X1にしっかり接続されているかを確認します。

4. U-Bootの起動を確認する

Armadillo-X1のブートローダであるU-Bootを起動できるか確認します。

Armadillo-X1に電源が入っていないことを確認し、SDスロット拡張ボードの SW1 を「NORMAL」に設定してください。

電源を投入し、正しく起動すると以下のようにU-Bootのプロンプトが表示されます。 プロンプトが表示されない場合はU-Bootを復旧してください。

U-Boot 2016.07-at3 (Sep 16 2016 - 15:29:22 +0900)
 
CPU:   Freescale i.MX7D rev1.1 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 45C
Reset cause: POR
       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Board Type: Armadillo-X1(0a100000)
Revison: 0001
S/N: 12
DRAM: 00001d05
XTAL: 00
X1 Addon EEPROM Detect
Atmark Techno Ext SD Slot Detect
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected N25Q512 with page size 256 Bytes, erase size 64 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Found PFUZE300! deviceid 0x30, revid 0x11
Net:   FEC0
=>

起動ログに以下の2つのログが含まれていることを確認してから、Linuxの起動確認へ進んでください。

  1. Atmark Techno Ext SD Slot Detect
  2. Board Type: Armadillo-X1

1 が表示されなかった場合はArmadilloの電源を切り、SDスロット拡張ボードをもう一度しっかりと接続してから電源を入れてください。

SDスロット拡張ボードをしっかり接続したにも関わらず 1 が表示されない。または 2 が表示されない場合は、 問題が解決しなかった場合は?を参照し、Armadilloの交換お申し込みを行ってください。

また、U-Bootの復旧を行ったにも関わらずプロンプトが表示されない場合は、 問題が解決しなかった場合は?を参照してください。

4-1. U-Bootを復旧する

QSPIに書き込まれたU-Bootのイメージファイルに問題がある場合はU-Bootを起動することができません。そのため、U-BootのイメージファイルをSDブートを利用して書き替える必要があります。

下記の手順に行なう前にArmadillo-X1からACアダプタを外してください。

4-1-1. SDブート用のSDカードを作成する

U-Boot の書き換えを行なうためにSDブート用のSDカードを作成します。

SDカードを作成する手順は、Armadillo-X1 製品マニュアル SDブートの活用 の "ブートディスクの作成"から"LinuxカーネルイメージとDTBの配置"を参照してください。

4-1-2. minicomを起動する

Armadillo-X1が保守モードで起動したことを確認するために、ATDEでminicomを起動しておきます。

[ATDE ~]$ LANG=C minicom --noinit --wrap --device [PORT]

[PORT]には、ATDEのArmadillo-X1を接続しているシリアルインターフェースを指定してください。/dev/ttyUSB0にArmadillo-X1が接続されている場合は、[PORT]/dev/ttyUSB0に読み替えてください。

4-1-3. SDカードのブートローダーから保守モードで起動する

まず、SDスロット拡張ボードの SW1 を「SD BOOT」に設定します。 次に、先ほど作成したSDカードをSDスロット拡張ボードに挿入してから、Armadillo-X1に電源を投入します。

ブートローダーが保守モードで起動すると、以下のように保守モードのプロンプトが表示されます。

=>

もしプロンプトが表示されない場合は、開発用USBシリアル変換アダプタのスライドスイッチをもう一度確認してください。 スライドスイッチが正しく設定されているにも関わらずプロンプトが表示されなかった場合は、 問題が解決しなかった場合は?を参照してください。

4-1-4. SDカードのLinuxシステムを起動する

SDカードのLinuxシステムを起動するため、次のように”boot”コマンドを実行してください。コマンドを実行するとブートローダーがLinuxシステムを起動させます。シリアル通信ソフトウェアにはLinuxの起動ログが表示されます。

=> boot

4-1-5. ログイン

起動が完了するとログインプロンプトが表示されます。rootユーザでログインしてください。

ユーザ名 パスワード
root root

4-1-6. QSPIフラッシュメモリに書き込むブートローダーイメージを取得する

Armadillo-X1 から上でブートローダー(QSPIフラッシュメモリ用)をダウンロードしてください。 ブートローダーイメージファイルは Armadillo-X1 ダウンロードページ から最新版をダウンロードしてください。

[armadillo ~]# ls
u-boot-x1-[version].bin

4-1-7. QSPIフラッシュメモリにブートローダーイメージを書き込む

[armadillo ~]# dd if=u-boot-x1-[version].bin of=/dev/mtdblock0
282+1 records in
282+1 records out
288816 bytes (289 kB) copied, 5.4582 s, 52.9 kB/s
[armadillo ~]$ sync

ddによる書き込みおよびsyncが終わったらU-Bootの復旧は終了です。

4-1-8. Armadillo の終了

haltコマンドでArmadillo-X1を終了させます。System halted.と表示されたのを確認してから電源を切断します。

[armadillo ~]# halt

電源を切断した後、再度U-Bootの起動を確認してください。

5. Linuxの起動確認

Linuxシステムの起動を確認します。

5-1. Linuxの起動を確認する

SDスロット拡張ボードのSW1を「NORMAL」に設定してから、Armadillo-X1にACアダプタを接続します。 "boot"コマンドでLinuxシステムを起動してください。

=> boot

起動ログが表示され、以下のようにログインプロンプトが表示された場合は問題ありませんのでLinuxへのログインに進んでください。

armadillo login:

ログインプロンプトが表示されない場合は、ブートローダーの環境変数を初期化してください。 もし、ブートローダーの環境変数を初期化してもログインプロンプトが表示されない場合はLinuxの復旧を行ってください。

Linuxの復旧を行ってもログインプロンプトが表示されない場合は、 問題が解決しなかった場合は?を参照してください。

5-2. ブートローダーの環境変数を初期化する

ブートローダーの環境変数が適切に設定されていない場合はArmadillo-X1を起動することができません。 以下のコマンドを入力して環境変数を初期化してください。

=> env default -a
=> saveenv
=> reset

起動オプションの初期化を行なった後、再度Linuxの起動を確認してください。

5-3. Linuxの復旧

使用しているLinuxのイメージファイルに問題がある場合はLinuxを起動することができません。 そのためLinuxのイメージファイルを書き替える必要があります。

5-3-1. SDブートを行なう

はじめに、SDブート用のSDカード を作成してください。

作成したSDカードをSDスロット拡張ボードに挿入し、拡張ボードのSW1を「SD BOOT」に設定してください。

Armadillo-X1にACアダプタを接続し、ブートローダーのプロンプトが表示されたら、"boot"コマンドを実行しLinuxシステムを起動してください。

=> boot

5-3-2. Linuxのイメージファイルをダウンロードする

Armadillo-X1上でeMMCに書き込むLinuxのイメージファイルをダウンロードします。 Armadillo-X1 ダウンロードページからLinuxカーネルイメージファイルをダウンロードしてください。ファイル名は以下の表を参照してください。

製品イメージ ファイル名
DTB (Device Tree Blob) armadillo_x1-v[VERSION].dtb
Linuxカーネル uImage-x1-v[VERSION]
ユーザーランド debian-stretch-armhf_ax1_[VERSION].tar.gz

[VERSION]はバージョン番号です。最新のものをダウンロードしてください。

[armadillo ~]# ls
armadillo_x1-v[VERSION].dtb             uImage-x1-v[VERSION]
debian-stretch-armhf_ax1_[VERSION].tar.gz

5-3-3. LinuxカーネルをeMMCに書き込む

eMMC に書き込まれているLinuxカーネルおよびDTBのバックアップが必要な場合は、以下の手順でSDカードへバックアップを取ってください。

[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt/
[armadillo ~]# cp /mnt/armadillo_x1.dtb ~/armadillo_x1-$(date +%Y%m%d).dtb
[armadillo ~]# cp /mnt/uImage ~/uImage-x1-$(date +%Y%m%d)
[armadillo ~]# umount /mnt

ダウンロードしたLinuxカーネルおよびDTBを書き込みます。

[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt/
[armadillo ~]# cp ~/armadillo_x1-v[VERSION].dtb /mnt/armadillo_x1.dtb
[armadillo ~]# cp ~/uImage-x1-v[VERSION] /mnt/uImage
[armadillo ~]# umount /mnt

5-3-4. ユーザーランドをeMMCに書き込む

eMMC に書き込まれているユーザーランドのバックアップが必要な場合は、以下の手順でSDカードへバックアップを取ってください。

[armadillo ~]# mount -t ext4 /dev/mmcblk2p2 /mnt/
[armadillo ~]# cd /mnt
[armadillo ~/mnt]# tar zcvf ~/debian-backup-$(date +%Y%m%d).tar.gz ./*
[armadillo ~/mnt]# cd
[armadillo ~]# umount /mnt

ダウンロードしたユーザーランドを書き込みます。

[armadillo ~]# mount -t ext4 /dev/mmcblk2p2 /mnt/
[armadillo ~]# cd /mnt
[armadillo ~/mnt]# tar xf ~/debian-stretch-armhf_ax1_[VERSION].tar.gz
[armadillo ~/mnt]# cd
[armadillo ~]# umount /mnt

ユーザーランドの書き込み後、haltコマンドでArmadillo-X1を終了し、電源を抜いてください。

ここまでの手順が終了した場合は、再度Linuxの起動を確認してください。

6. Linuxへのログイン確認

Linuxにログインできるか確認します。まずは、Linuxの起動確認の手順に従ってログインプロンプトを表示させます。

ここでは、rootユーザでログインします。パスワードの入力時には画面に何も表示されませんが、rootと入力してEnterキーを押下してください。以下のようにLinuxのプロンプトが表示された場合は問題ありません。

ユーザー名、パスワードを変更したイメージを使用している場合は、変更したパスワードを入力してください。
armadillo login: root
Password:
root@armadillo:~]#

もしLinuxのプロンプトが表示されない場合はユーザ名およびパスワードを確認してください。 また、標準イメージを使用し、ユーザー名およびパスワードを確認してもログインが出来ない場合は、 問題が解決しなかった場合は?を参照してください。

6-1. ユーザ名およびパスワードの確認

ユーザ名またはパスワードに誤りがないか確認します。標準イメージファイル1を使用している場合のユーザ名およびパスワードは以下の表を参照してください。 また、標準イメージファイルを使用していない場合は、Linuxの復旧を参照し、標準イメージファイルをフラッシュメモリに書き込んでください。

ユーザ名 パスワード
root root
guest (なし)

ユーザ名およびパスワードは、それぞれ小文字で入力する必要があります。CapsLockがオフになっていることを確認してください。

7. 問題が解決しなかった場合は?

本手順は、動作モードの設定や使用するイメージファイルにより結果が変わってしまいます。 問題が解決しない場合は、手順に注意し再度確認してください。

手順通りに作業を行い問題が解決しない場合は、製品保証規定をご確認の上、Armadilloの購入店にお問い合わせください。


  1. Linuxの復旧で書き込んでいるLinuxのイメージファイルが標準イメージファイルです。 ↩︎