Linux는 여전히 rootfs를 사용합니까?

Linux는 여전히 rootfs를 사용합니까?

커널 문서 파일에서"ramfs, rootfs 및 initramfs"라고 하는데

Rootfs는 2.6 시스템에 항상 존재했던 ramfs(또는 활성화된 경우 tmpfs)의 특수 인스턴스입니다.

rootfs아직 Linux 데스크톱 설치 에서는 본 적이 없지만 /proc/mountsAndroid 휴대폰에서는 본 적이 있습니다. 둘 다 Linux 3을 실행합니다. rootfs여전히 필요합니까? 그것도 뭔가요?

답변1

rootfs가 /proc/mounts에 표시되지 않습니다. 그러면 문서가 오래되었다는 의미입니까? 보지 못했어요내 시스템에 rootfs 파일 시스템이 없는 이유는 무엇입니까?

Linux v4.17부터 이 커널 문서는 여전히 최신 상태입니다. rootfs는 항상 존재합니다. 마운트 해제할 수 없습니다. 그러나 /proc/mounts에서는 이를 볼 수 없는 경우가 많습니다.

initramfs 쉘로 부팅하면 rootfs를 볼 수 있습니다. dracutFedora 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

[...]

관련 정보