커널 문서 파일에서"ramfs, rootfs 및 initramfs"라고 하는데
Rootfs는 2.6 시스템에 항상 존재했던 ramfs(또는 활성화된 경우 tmpfs)의 특수 인스턴스입니다.
rootfs
아직 Linux 데스크톱 설치 에서는 본 적이 없지만 /proc/mounts
Android 휴대폰에서는 본 적이 있습니다. 둘 다 Linux 3을 실행합니다. rootfs
여전히 필요합니까? 그것도 뭔가요?
답변1
rootfs가 /proc/mounts에 표시되지 않습니다. 그러면 문서가 오래되었다는 의미입니까? 보지 못했어요내 시스템에 rootfs 파일 시스템이 없는 이유는 무엇입니까?
Linux v4.17부터 이 커널 문서는 여전히 최신 상태입니다. rootfs는 항상 존재합니다. 마운트 해제할 수 없습니다. 그러나 /proc/mounts에서는 이를 볼 수 없는 경우가 많습니다.
initramfs 쉘로 부팅하면 rootfs를 볼 수 있습니다.
dracut
Fedora Linux에서와 같이 initramfs가 이면rd.break
커널 명령줄에 이 옵션을 추가하여 이를 수행할 수 있습니다. (예: GRUB 부트로더 내부):switch_root:/# grep rootfs /proc/mounts rootfs / rootfs rw 0 0
dracut이 시스템을 실제 루트 파일 시스템으로 전환하면 /proc/mounts에 더 이상 rootfs가 표시되지 않습니다. dracut을 사용
switch_root
하거나systemd
이를 수행할 수 있습니다. 둘 다 다음과 같은 작업 순서를 따릅니다.연결된 커널 문서. rootfs를 숨기는 작업은chroot
.switch_root:/# cd /sysroot switch_root:/sysroot# mount --bind /proc proc switch_root:/sysroot# grep rootfs proc/mounts rootfs / rootfs rw 0 0 switch_root:/sysroot# chroot . sh-4.4# cat proc/mounts /dev/sda3 / ext4 ro,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
[...]