Armadilloフォーラム

OS起動しない

naons

2024年2月19日 13時37分

お世話になっております。

G3Lで最近、OS起動できない現象が発生しました。
シリアルコンソール繋げて起動ログを確認していたところ、以下のようなエラーが出ていました。

U-Boot 2016.07-at23 (Mar 25 2022 - 16:42:41 +0900)
 
CPU:   Freescale i.MX7D rev1.2 at 996MHz
CPU:   Extended Commercial temperature grade (-20C to 105C) at 30C
Reset cause: POR
       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Boot Source: QSPI Flash
Board Type: Armadillo-IoT G3L(0a200000)
Revision: 0002
S/N: 2626
DRAM: 00001d05
XTAL: 00
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from SPI Flash... SF: Detected N25Q64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment
 
Failed (-5)
Loading Environment from SPI Flash... SF: Detected N25Q64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment
 
Failed (-5)
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
** Unable to read file boot.scr **
reading boot.scr
** Unable to read file boot.scr **
reading uImage
12153792 bytes read in 385 ms (30.1 MiB/s)
Booting from mmc ...
reading armadillo_iotg_g3l.dtb
53915 bytes read in 20 ms (2.6 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-3.14.79-at26
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    12153728 Bytes = 11.6 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 84800000
   Booting using the fdt blob at 0x84800000
   Loading Kernel Image ... OK
   Using Device Tree in place at 84800000, end 8481029a
 
Starting kernel ...
 
       :
       :
 
Warning: unable to open an initial console.
Freeing unused kernel memory: 3120K (8128f000 - 8159b000)
systemd-udevd[151]: starting version 215
random: systemd-udevd: uninitialized urandom read (16 bytes read, 36 bits of entropy available)
JBD2: Invalid checksum recovering block 554 in log
JBD2: recovery failed
EXT4-fs (mmcblk2p2): error loading journal
EXT3-fs (mmcblk2p2): error: couldn't mount because of unsupported optional features (2c0)
EXT2-fs (mmcblk2p2): error: couldn't mount because of unsupported optional features (2c4)
JBD2: Invalid checksum recovering block 554 in log
JBD2: recovery failed
EXT4-fs (mmcblk2p2): error loading journal

eMMCが壊れたか? またはjournal処理で失敗して、イメージがロードできていないだけか?
どちらの要因でしょうか?
※journal処理が失敗しただけなら、初期化し直して起動できれば、問題ないのでしょうか?

コメント

at_dominique.m…

2024年2月19日 14時30分

naonsさん

お世話になっています、
マルティネです。

> JBD2: Invalid checksum recovering block 554 in log
> JBD2: recovery failed

>
> eMMCが壊れたか? またはjournal処理で失敗して、イメージがロードできていないだけか?

このエラーメッセージの内容では、確かに何かの書込みが失敗しましたね。
journal の書込みの途中で電源が落ちて、その journal の部分が最後まで書込みされなかっただけかもしれません。

> ※journal処理が失敗しただけなら、初期化し直して起動できれば、問題ないのでしょうか?

SD ブートして e2fsck を実行していただければ復帰もできると思いますが、初期化で問題なければそれでもいいと思います.

journal の checksum エラーが発生して確かに eMMC の故障の可能性もありますが、電源が落ちる時に大きいブロックの書込みの途中で最後まで書込みできなかった場合にもある現象なので、そのエラーだけでは何ともいえません。
fsck で他のエラーを見るか、初期化後にまたエラーが発生する場合にまた相談させてください。

よろしくお願いします。

マルティネさん、回答ありがとうございます。

> SD ブートして e2fsck を実行していただければ復帰もできると思いますが、初期化で問題なければそれでもいいと思います.
> journal の checksum エラーが発生して確かに eMMC の故障の可能性もありますが、電源が落ちる時に大きいブロックの書込みの途中で最後まで書込みできなかった場合にもある現象なので、そのエラーだけでは何ともいえません。
> fsck で他のエラーを見るか、初期化後にまたエラーが発生する場合にまた相談させてください。

一旦初期化してみて、様子見たいと思います。
(可能性はjoournalの書き込みエラーだけだと信じて)

初期化後、fsckとか時々様子をみる事にしてみます。