2009-08-20 5 views
2

저는 리눅스 환경에서 uClinux 2.4를 실행하는 ARM 플랫폼 용 커널을 만들고 있습니다. "일반 설정"리눅스 구성에서는 "m68knommu 스타일 RAMF에 연결된 romfs"이라는 옵션이 있습니다. ARM 어셈블리 기술은 다소 제한적이지만이 옵션을 활성화하면 ROMFS가 커널 BSS의 끝에 복사됩니다.RAM에 ROMFS를 부착한다는 것은 무엇을 의미합니까?

이 기능의 목적은 무엇입니까?

답변

4

이 옵션을 잘못 지정하면 커널 이미지에 첨부 된 romfs가 .bss 섹션의 끝에 재배치됩니다. 이렇게하면 시스템이 루트 파일 시스템으로 romfs에서 시작할 수 있습니다.

+0

재미 있지만이 옵션을 사용하지 않으면 root로 romfs에서 이미 시작됩니다. –

+2

예.하지만이 옵션을 사용하면 외부 저장소가 아닌 RAM에서 루트 파일 시스템으로 실행할 수 있으므로 실행 속도가 향상 될 수 있습니다. 나는 이것이 옵션이없는 경우가 아닐 것이라고 가정하고있다. –

+2

RAM이 부족하여 플래시 섹터를 실행/삭제하지 않고도 플래시를 업데이트 할 수 있습니다. – Robert

2

위의 내용이 정확하지 않습니다. 나는 실제로 내가 변화를 개발했다고 믿는다. 그렇지 않다면 나는 확실히 그것을 사용했다. 언급했듯이,이 기능은 RAM에있는 커널 이미지에 연결된 romfs 파일 시스템을 지원합니다. 그런 다음이 옵션을 사용하면 romfs 파일 시스템이 자동으로 크기가 평가되고 RAM의 예약 영역 (MTD RAM 드라이버를 통해 마운트하기 위해 전달 된 적절한 포인터)으로 이동합니다.

이 변경을 수행하지 않고도 RAM이 부족할 수 있습니다. 부트 로더가 미리 정해진 위치에 배치하고 적절한 커널 옵션을 전달할 필요가있었습니다. 이 변경 사항이 추가 된 가장 큰 특징은 단일, 통합 커널 + 파일 시스템 이미지를 Coldfire가 구축 한 방식대로 유지할 수 있다는 것입니다.

헤드 - 플랫폼 S에 적절한 변경 사항이있는 경우에만 작동한다는 점에 유의하십시오. 이는 NetSilicon NS7520에서만 작동 할 수 있다고 생각합니다.

관련 문제