기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

NAND Flash에 MTD + YAFFS2로 시스템을 구성하였습니다.


그런데 부팅 도중 아래와 같은 Kernel panic 메시지가 출력이 되네요.


yaffs: dev is 32505859 name is "mtdblock3"

yaffs: Attempting MTD mount on 31.3, "mtdblock3"

VFS: Mounted root (yaffs2 filesystem).

Freeing init memory: 168K

Kernel panic - not syncing: No init found.  Try passing init= option to kernel.


출고가 되어 정상적으로 동작을 하던 제품이 어느날 부팅을 하지 않아서 회수한 후에 부팅 로그를 한것입니다.


이런 현상이 지금까지는 없었는데 처음으로 발생을 했네요.


증상만 봤을때는 yaffs2 filesystem영역이 손상된 거 같은데 원인이 뭔지 명확하지가 않네요^^;;


의심이 가는 원인이 있으시다 거나 비슷한 경험을 해보셨다면 조언부탁드리겠습니다.


고도리

2016.08.24 02:17:37
*.200.239.210

파일시스템이 망가진 증상과 유사하네요.


대부분 nand fs나 filesystem이 망가지는 경우는 write때문인 경우가 많습니다.

yaffs2의 경우는 좀 독특한 fs인데, 실제 저장장치에 write시 시간이 걸리는 경우가 있습니다.


이런 케이스에서 전원이 꺼지거나 하면 비슷한 증상이 나옵니다.


아니면 nand자체의 write횟수 제한에 의한 진행성 불량일 가능성도 있습니다.


SpecialCase

2016.08.24 02:57:38
*.177.158.129

답변 감사합니다.


저도 전원이 꺼질 때를 유력한 원인으로 보고 있습니다.

그래서 나름 전원이 꺼질 때 filesystem이 손상되지 않게 하기위해서 yaffs2로 개발을 하였는데 아니었나 보네요.

이런 문제를 보완 및 해결을 하려면 어떤 filesystem 또는 솔루션을 사용하는게 좋을까요?

고도리

2016.08.24 05:17:52
*.200.239.210

예전 후배가 2410을 쓸 때 전원 issue로 비슷하게 깨지는 것을 문의한 적이 있었습니다.

이상하게 특정 경우에 yaffs2가 sync하는데 몇초가 걸리는 경우가 있다라고 하더군요.


파일시스템이 좀 독특하게 구성되어 있는 편이라, 구조까지는 파악을 못했었습니다만, write가 많은 시스템의 경우는 발생하는 것으로 보고 있습니다.

고도리

2016.08.24 05:15:43
*.200.239.210

일단, 해당 nand를 블럭단위로 덤프 떠서 x86이나 가상머신에서 마운트 해 보시기 바랍니다.

(image를 loopback mount해서요)

--> 문제를 파악한다면 이런 방법이겠지만, yaffs2를 일일이 추적해야 하니 이도 큰 일로 보여집니다.


nand가 SLC겠죠? SLC면 그나마 ubi/ubifs 조합이 괜찮은 성능을 보여주기는 합니다만,

커널 버전등 여러가지 문제가 있을 수 있습니다.(되도록이면 나중 커널을 써야 하는.....)


1. 커널 버전이 어떻게 되나요?

2. SLC NAND겠죠?

3. 혹시 cpu는요?


그리고, NAND의 mtd map도 중요합니다. ubi가 나온 이유가 mtd의 wear leveling issue를 fix하기 위해서 나온 이유도 있기 때문입니다.


SpecialCase

2016.08.24 06:16:19
*.177.158.129

1. 커널버전은 2.6.18입니다. 칩제조사에서 초기 배포한 PSP에 있던 커널이라 버전이 낮네요.^^;; 최종으로 지원한 것은 3.3 버전까지 있기는 합니다.


2. NAND는 SLC입니다.


3. CPU는 TI에서 나온 OMAP-L137로 ARM9계열입니다.


mtd map은 다음과 같이 사용하고 있습니다.


0x00000000-0x00020000 : "params"

0x00020000-0x000c0000 : "bootloader"

0x000c0000-0x002c0000 : "kernel"

0x002c0000-0x20000000 : "filesystem"


일단 ubi/ubifs를 사용하는 방향으로 해야겠네요.

고도리

2016.08.24 23:24:37
*.200.239.210

커널버전이 높은 것을 쓰는 것이 좋습니다.


근래, 작업할 일이 있어서 3.x 대의 nand코드를 2.6.2x대로 내리는 작업을 했었습니다.

하면서 보니, nand 코드에 여러가지 방어코드들이 좀 늘었더군요.


ubi/ubifs로 작업하실거면 되도록이면 나중 버전이 좋을 듯 합니다.


참고로, ubi/ubifs는 2.6.25(?)서부터 정식으로 커널에 들어있을겁니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6288 Touch screen에 관한 문의드립니다. [2] 아이탱 2015-07-18 290
6287 하나의 프로그램에서 , 녹음과 음악 play를 동시에 하기. [3] 김민욱 2017-07-12 299
6286 Exynos7420으로 binary 다운로드 하고 있는데요... [4] 김민욱 2016-11-10 304
6285 Exynos4412를 watchdong timer를 이용해서 reset을 했습니다. [3] 혜민아빠 2015-03-06 307
6284 WIFI 인증 테스트 문제 [1] kangb 2021-12-02 307
6283 안드로이드 보드 hdmi 출력 어떻게 화인 하면 될까요.? [1] 새삶 2015-08-05 308
6282 [i.MX6 개발 Reference BD구하려고 하던중,..] 밥줘잉 2015-09-23 311
6281 안드로이드 i2c 관한 질문 [1] 뿌삐뿌삐 2015-02-03 314
6280 qt가 directFB를 사용하도록 했습니다. [2] 김아무개 2015-05-08 314
6279 리눅스 루트 파일 시스템 질문드립니다. [1] 하하호호하하 2015-06-17 315
6278 루트파일시스템에 gcc 기능을 넣어보신분 계신가요? [1] 흰둥아놀자 2015-01-09 315
6277 DAC 칩을 임의로 제거 하여도 문제가 없을까요? file [4] 겟페우스 2016-11-02 316
6276 IEI WAFER-LX800이나 LX2보드에 WinCE 한글5.0 포팅 가능하신분... [5] neontis 2017-02-11 317
6275 안드로이드 보드 해상도 문의 드립니다. [2] 새삶 2015-07-16 319
6274 작업 규모에 대해 궁금한게 있어서요 [1] 더미원 2017-02-15 319
6273 일반 스마트폰에는 uvc 기능이 설정되지 않은건가요? [2] pedor11 2016-01-20 321
6272 특정 process(mplayer)가 4개의 cpu 중에 1나의 점유율을 100%가져갈... [1] 혜민아빠 2015-08-27 321
6271 커널 로고화면 변경시 제한된 사이즈가 있나요? [2] DavidKim 2016-04-27 323
6270 android bluedroid 에서 sco over hci 가 안되죠? [3] 쾌도난마 2017-07-01 323
» yaffs2 filesystem 마운트 후 Kernel panic 관련 질문입니다. [6] SpecialCase 2016-08-22 328

사용자 로그인