2410 보드에 Cramfs 사용에 관해서 질문드립니다.

a287848의 이미지

2410 보드에 현재 OS 와 파일 시스템이 모두 정상적으로 돌아가고 있습니다.

cramfs 로 마운트 되어 있는 디렉토리의 내용을 바꾸려고

작업 PC에서 cramfs 툴로 이미지를 새로 만들었습니다.

hexdump 로 mtd 에 있는 파일을 찾아보니 /dev/mtd/2의 내용이 기존의 cramfs 이미지와 일치해

cat env.cramfs > /dev/mtd/2 ; mount /dev/ufd/3 /env

를 했더니 디바이스 busy 결과가 나오고 마운트가 안됩니다.

reboot 시켰더니 당연히 kernel panic 뜨고요.

혹시 mtd/2 의 내용을 제가 직접 수동으로 지워야하는지요? 그렇다면 어떻게 지워야할까요?

뭐가 문제인지 어떻게 해결해야 하는지 조언 부탁드립니다.

Hyun의 이미지

mtd디바이스에 데이터를 쓸때 먼저 지운 후 쓰기를 했던거 같네요.
mtd쪽 드라이버 소스보면 ioctl로 지우는 명령이 있었던거 같습니다.
예전에 따로 프로그램을 만들어서 구현했던거 같은데...

a287848의 이미지

자답+ 추가 질문입니다.
EraseALL 유틸리티를 사용해 지워서 해결했습니다.

다만 ufd 하고는 연동이 안되서 첫번재 read 시에 ufd0 오류가 나네요.

무시해도 상관없어 보입니다만은 혹시 어떻게 해결해야할까요?

Dig it.

Dig it.