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

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
번호 제목 글쓴이 날짜 조회 수
6288 MIPI DSI 문제 문의 드립니다. file [3] 모리 2016-11-09 333
6287 UBIFS filesystem 관련 질문 [2] SpecialCase 2016-11-04 747
6286 압력센서 신호처리 관련하여 문의드립니다. [3] kernel_study 2016-11-03 148
6285 DAC 칩을 임의로 제거 하여도 문제가 없을까요? file [4] 겟페우스 2016-11-02 315
6284 wm1811 드라이버를 찾아요 [9] 김민욱 2016-11-01 18724
6283 Wifi와 셀률러 동시 사용 설정 관련 [1] 겟페우스 2016-10-26 330
6282 [apt pkg server 관련] [2] 밥줘잉 2016-10-20 150
6281 램디스크 늘린 용량을 적용하려면요 file [1] DavidKim 2016-10-18 254
6280 Build한 안드로이드의 화면 출력이 이상합니다. file [7] 겟페우스 2016-10-15 275
6279 안드로이드 소스를 빌드 하였는데, img 파일이 생성되지 않습니다. [4] 겟페우스 2016-10-15 233
6278 임베디드 보드 커널에 UDP 통신 설정이 따로 있는가요? [2] pedor11 2016-10-13 240
6277 브릿지보드 Rx에 라우터 기능추가OK! but 브릿지Tx보드 접속문제? [2] 2016-10-12 246
6276 cat sys/kernel/debug/gpio, gpio 초기화 질문입니다. [2] k40007 2016-10-01 230
6275 on cell 형 multi touch panel 사용법? [1] 문종섭 2016-09-29 204
6274 udev rules 파일에서 ifconfig 와 ifup 차이 [1] 제드 2016-09-23 336
6273 embedded Linux에서 Android adb같은 USB 화일전송 방법이 있을... [3] 박종석 2016-08-30 692
6272 Linux booting message관련해서... [3] 박종석 2016-08-30 228
6271 MPU-9250 9축 센서 테스트 방법 질문입니다. [4] 으악 2016-08-27 336
» yaffs2 filesystem 마운트 후 Kernel panic 관련 질문입니다. [6] SpecialCase 2016-08-22 327
6269 opencv,usb 웹캠을 이용한 windows, Ubuntu, Embedded 호환성검토 [2] pedor11 2016-07-09 878

사용자 로그인