Armadilloフォーラム

apt-getにてinstallしたアプリをアンインストールし端末再起動したら起動しなくなった

narita

2017年1月26日 11時09分

以下手順を実施した際に端末が起動しなくなりました。
復帰方法に関してご教授願います。

手順1:
 apt-get install apache2

  上記にてapache2をインストール

手順2:
 apt-get remove apadhe2

  上記にてapache2をアンインストール

手順3:
 reboot実施し、端末再起動。

 再起動時に、以下のように途中で起動処理が停止する。

 teratermコンソール内容:

  In: serial
  Out: serial
  Err: serial
  Found PFUZE300! deviceid 0x30, revid 0x11
  Net: FEC0
  switch to partitions #0, OK
  mmc1(part 0) is current device
  switch to partitions #0, OK
  mmc1(part 0) is current device
  reading boot.scr
  2711 bytes read in 16 ms (165 KiB/s)
  Running bootscript from mmc ...
  ## Executing script at 82000000
  reading boot_state
  4 bytes read in 9 ms (0 Bytes/s)
  Compare boot_state...
  byte at 0x84800000 (0x30) != byte at 0x82000000 (0x31)
  Total of 0 byte(s) were the same
  Total of 1 byte(s) were the same
  DEBUG:KERNEL_TRY is 1
  DEBUG:KERNEL_SUCCESS is 0
  *RECOVERY KERNEL BOOT*
  Setting up recovery env...
  switch to partitions #0, OK
  mmc1(part 0) is current device
  reading uImage.recovery
  ** Unable to read file uImage.recovery **
  WARNNING: MAIN KERNEL NOT FOUND
  *RECOVERY KERNEL BOOT*
  Setting up recovery env...
  switch to partitions #0, OK
  mmc1(part 0) is current device
  reading uImage.recovery
  ** Unable to read file uImage.recovery **
  No kernel found
  => ※ここで止まる

コメント

at_shota.tamura

2017年1月26日 17時33分

田村です。

「node-eye パッケージをインストールした後、ご報告いただいた操作を行った」ということであっていますか?
貼っていただいたログを確認したところ、Armadillo では node-eye のリカバリー機能が動作しているようです。

node-eye のリカバリー機能が動作する原因(条件)はいくつかあります。

・node-eye パッケージをインストールした後の再起動中に電源を切った(リセットした)
・node-eye パッケージをインストールした後、node-eye.service を disable にして再起動した
・node-eye のファームウェアアップデート機能を使用中にArmadilloを再起動しした
・node-eye のファームウェアアップデート機能を使って、起動できないユーザーランドやカーネルなどを書き込んだ
・など

これらの操作を行うとリカバリー機能が動作します。
ちなみに、apache の install/remove はリカバリー機能の動作に影響しませんので今回の現象に関しては無関係だと考えます。
# もし、下記に示す復帰手順で復帰させた後に apache の install/remove を行い、同様の現象が再現した場合はご連絡ください

さて、前置きが長くなってしまいましたが、
node-eye のリカバリー機能が動作してしまったときの復帰手順を次に示します。

■復帰手順

1. Armadillo-IoT ゲートウェイ G3L 製品マニュアルの『SDブートの活用』を参考にSDブートを行ってください。

> SD ブートの活用 | G3L 製品マニュアル
> http://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_pr…

2. SD ブートを行ったら、Armadillo に root アカウントでログインしてください。
df コマンドを実行し、ルートファイルシステムが /dev/mmcblk0p2 になっていればSD ブート成功です。

root@armadillo:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/mmcblk0p2   3457408 1470304   1791760  46% /
udev               10240       0     10240   0% /dev
tmpfs             100404    4908     95496   5% /run
tmpfs             251008       0    251008   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             251008       0    251008   0% /sys/fs/cgroup
/dev/mtdblock1       128     128         0 100% /opt/license
tmpfs              50204       0     50204   0% /run/user/0

3. eMMCの第1パーティションに保存されている boot_state を削除してください。
※ SD カードの第1パーティションではありません

root@armadillo:~# mount /dev/mmcblk2p1 /mnt/
root@armadillo:~# ls /mnt/boot_state
/mnt/boot_state
root@armadillo:~# rm /mnt/boot_state
root@armadillo:~# umount /mnt

4. Armadillo の電源を落としてください。

5. SD ブートのためにショートさせた JP1 をオープンにしてください。

6. Armadillo の電源を入れ、eMMC 上の Debian を起動させてください。
=> これで復帰完了です

■その他

余談ですが、
node-eye のリカバリー機能を使用するためには、事前にリカバリーイメージを書き込んでおく必要があります。
リカバリーイメージを書き込むための方法は2つあります。

1. ファームウェアアップデート機能を使う
2. 手動で書き込む

▼ 1. ファームウェアアップデート機能を使う

・手順
 http://manual.atmark-techno.com/node-eye/device-management_aiotg3l_ja-1…
 この手順はカーネルの更新手順ですので、適宜リカバリーイメージに読み替える必要があります。
・イメージファイル
 http://armadillo.atmark-techno.com/armadillo-iot-g3l/downloads#node-eye

▼ 2. 手動で書き込む

Armadillo の eMMC 第3パーティション(/dev/mmcblk2p3) に
リカバリーイメージとDTB(リカバリーイメージ用) を書き込んでください

・手順

root@armadillo:~# mount /dev/mmcblk2p3 /mnt/
root@armadillo:~# cd /mnt
root@armadillo:/mnt# wget http://download.atmark-techno.com/armadillo-iot-g3l/node-eye/image/uImage-x1-v7.00-ne1.recovery
root@armadillo:/mnt# wget http://download.atmark-techno.com/armadillo-iot-g3l/node-eye/image/armadillo_iotg_g3l-v7.00.dtb.recovery
root@armadillo:/mnt# mv uImage-x1-v7.00-ne1.recovery uImage.recovery
root@armadillo:/mnt# mv armadillo_iotg_g3l-v7.00.dtb.recovery armadillo_iotg_g3l.dtb.recovery
root@armadillo:/mnt# cd 
root@armadillo:~# umount /mnt

・イメージファイル
 http://armadillo.atmark-techno.com/armadillo-iot-g3l/downloads#node-eye

以上です。