devtmpfs를 마운트하려면 /etc/fstab을 사용해야 합니까?

devtmpfs를 마운트하려면 /etc/fstab을 사용해야 합니까?

저는 Raspberry Pi 3(모델 B+)의 5.6.4-v8+ 커널을 기반으로 aarch64용 Linux와 유사한 운영 체제를 개발 중입니다.

커널 구성 옵션은 다음과 같습니다.

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

시스템이 효과적으로 설치되었는지 확인할 수 있습니다.

dmesg | grep devtmpfs
[0.071] devtmpfs: initialized
[2,653] devtmpfs: mounted

또한 시스템이 다음 위치에 설치되어 있는지 확인합니다./개발자:

df -h
Filesystem Size Used Avail Used%  Mounted on
devtmpfs   424M    0  424M    0%  /dev.

반면에 파일에는/etc/fstab다음 줄이 있습니다.

devtmpfs   /dev   devtmpfs   mode=0755,nosuid   0   0

이 줄을 제거하여 테스트를 수행했으며 결과는 다음과 같습니다.개발자 파일 시스템문제없이 설치/개발자. 따라서 파일 시스템을 다음을 통해 마운트할 필요가 없는 것 같습니다.시스템 테이블, 커널이 이를 처리할 것 같기 때문입니다.

꼭 포함해야 하는개발자 파일 시스템fstab에 마운트하시겠습니까?

감사합니다!

답변1

실제로 어떤 경우에는 커널이 자동으로 마운트됩니다 devtmpfs./dev

커널을 빌드할 때 로 설정하면 CONFIG_DEVTMPFS_MOUNT결과 커널은 커널이 initramfs를 초기 루트 파일 시스템으로 사용하지 않는 한 루트 파일 시스템을 마운트한 후 자동으로 마운트를 시도합니다.ydevtmpfs/dev

이는 전적으로 선택적인 기능입니다. 당신은 그것을 착용하고 있었고 Vincent는 테스트 중에 그것을 꺼 놓은 것 같았습니다. (또는 Vincent가 initramfs를 사용하고 있습니다.)

바라보다drivers/base/Kconfig자세한 내용은.

답변2

내가 아는 한, 커널은 devtmpfs를 자동으로 마운트하지 않습니다. 이는 "수동으로"(시작 스크립트 중 하나에 다음과 같은 내용이 포함됨) 또는 fstab을 통해 사용자 공간에서 수행되어야 합니다 mount -t devtmpfs none /dev.

내 사용자 정의 Linux 시스템(raspberry Zero/4 및 86_64)에서는 /etc/fstab 기반 설치 메커니즘을 사용하지 않습니다. mount -t devtmpfs none /dev/etc/profile에서 이 명령을 제거해 도 내 /dev 디렉토리는 여전히 비어 있습니다.

따라서 귀하의 질문에 대답하려면 fstab에 devtmpfs 마운트를 포함할 필요는 없지만 사용자(커널이 아닌 사용자)가 직접 마운트해야 합니다.

관련 정보