(주)FALINUX사에서 판매되는 제품은 램디스크모드와 YAFFS모드를 모두 제공하고있습니다. 두개의 모드 모두 장단점이 있는데요, 각 모드별 설명과 장단점을 정리해 보았습니다.
램디스크모드란 램의 일부분을 디스크로 운영하는 것으로 말 그대로 램의 메모리 일부분을 파일 시스템으로 제공시겨 주는 것입니다. 그리고 미리 램 디스크에 들어갈 파일들을 모아서 램디스크 이미지를 만든 다음 보드에 내려 주면 다음부터는 부팅할 때 마다 램디스크를 만든 후에 램디스크 이미지를 램 디스크에 풀어 놓게 됩니다.
혹시 노턴사의 ghost 를 아시나요? 하드디스크나 하드의 파티션을 이미지 파일로 압축해 놓으면 다음 언제든지 이 ghost로 이미지를 하드디스크나 하드의 파티션에 풀어 놓으면, 그 때 그 상태로 복귀되는 것처럼 램디스크 이미지가 바로 그와 같은 디스크 이미지 입니다.
램디스크 사용의 장점은 시스템을 재 부팅할 때 마다 램 디스크 이미지로 다시 램 디스크 드라이브에 파일을 생성하기 때문에 (1) 매번 같은 상태로 보드를 사용할 수 있다는 점입니다. P.C.에서 바이러스 걸렸다고 해도, ghost 로 이전에 만든 디스크 이미지로 복구하는 것과 같은 것입니다.
이에 대해 단점은 애써 환경 설정해 놓고 데이터를 만들다가 (1) 리셋이나 전원이 나가면 지금까지의 작업이 수포로 돌아 가고, (2) 매번 부팅할 때 마다 세팅해주고 파일을 올려 주어야 하며, (3) 필요에 따라 램 디스크 이미지를 만들어서 보드에 올려 주어야 하는 불편함이 있습니다. 또한 (4) 기본 메모리의 일부분을 디스크로 만들었기 때문에 사용 가능 메모리가 줄어 들게 됩니다.
현재 상태가 램 디스크 모드인지 확인하시려면 셀에서 df 명령을 실행해 보세요.
/ 가 /dev/ram0로 구성되어 있다면 현재 램디스크 드라이브를 사용하고 계시는 것입니다. 램 디스크를 사용하고 있기 때문에 메모리 사용량을 확인해 보면 사용 가능 메모리의 양이 줄어 든 것을 보실 수 있습니다.
64메모리인데도 46M정도 뿐이 남질 않았죠.
램디스클 사용하지 않고 모두 플래쉬 메모리로 사용할 수 있도록 모드를 변경하는 방법입니다. 우선 램 디스크로부터 플래쉬로 파일 복사를 해야 겠습니다. /root 에 있는 [root@ez-x5 /root]$ ./mkflashroot 를 실행 시켜 줍니다.
mkflashroot가 정상적으로 실행이 완료되면 아래와 같은 화면이 나옵니다.
이제 EZBOOT모드에서 set 모드로 들어 가기 위해 보드를 리셋하십시오. 그리고 EZBOOT에서 set을 입력해 주십시오.
K. 의 kernel CMD 1st의 내용을 바꾸어야 하는데, 내용을 모르시죠? 저도 모르겠습니다. ^^ 이런 이유로 자동으로 값을 찾아서 설정해 주는 lf 명령이 있더라구요. Select >> 에서 LF (영문 엘 에프)를 입력하세요.
Select >> lf
그러면 K. 의 kernel CMD 1st의 내용이 자동으로 바뀝니다.
이제 Save하고 리셋하기만 하면 YAFFS모드로 부팅하게 되는데, 여기서 잠깐!! 아까 lf 명령은 디폴트값을 로드하는 명령이라 LOCAL IP 및 다른 환경 값이 변경됩니다. 이를 원래의 값으로 수정해 주시거나 아니면,
- 여기서 Kernel CMD 1st 값을 클립보드로 복사하시고,
- Save 하지 마시고 0번 Exist로 그냥 나갑니다.
- 그리도 다시 set으로 들어 오세요.
- 이제 K번의 내용을 클립보드의 내용으로 바꾸시면 됩니다.
이제 Save하고 리셋하시면 YAFFS모드로 부팅이 됩니다. 이제 df와 메모리 사용량을 확인해 보시면 이전과 다른 것을 보실 수 있습니다.
저는 보통 FLASH 메모리로 말씀을 드리는데, (주)FALINUX사에 문의를 하면서 말씀을 나누다 보면 FLASH보다는 YAFFS라는 말을 더 많이 사용하시더군요. YAFFS모드는 램디스크를 운영하지 않고 모든 파일 시스템을 플래쉬 메모리로 사용합니다. 즉, 하드디스크를 사용하듯 리셋으로 부팅해도 이전 작업 파일 상태가 그대로 유지되는 것이죠.
램디스크가 부팅할 때 마다 램 디스크 이미지로 깨끗해지는 장점이 있을지 모르겠습니다만 개발하는 환경으로는 YAFFS모드를 권해 드리고 싶습니다. 개발일도 바쁜데 부팅할 때 마다 파일을 다운 받고 환경을 설정한다면 너무 불편하겠지요. 개발 중에 리셋키를 한두번 누르는 것도 아닌데....^^
YAFFS 모드인지 확인하는 것은 위의 글을 참고해 주시고 YAFFS모드에서 필요에 의해 램디스크 모드로 변경하는 방법에 대해서 설명해 드리겠습니다.
역시 리셋하시고 EZBOOT모드에서 set 모드로 들어 갑니다.
이번에도 K.의 kernel CMD 1st의 내용을 바꾸어야 하는데, 역시 내용을 모르시죠? 이럴 때 L (영문 엘)을 입력합니다. 아래와 같이 자동으로 값이 수정됩니다. 역시나 이번 명령도 디폴트 값으로 설정하는 것이기 때문에 다른 환경 값이 변경됩니다. 다시 설정하시거나 위의 내용을 참고하셔서 수정하세요. 이제 저장하고 리셋하면 앞으로는 램디스크 모드로 부팅하게 됩니다.
태그: *장비설정 EZ-보드