차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.1:060-preparing_virtual_kernel_file_systems [2024/06/14 13:18] – [7.3.1. dev 마운트 및 생성] baecylinuxfromscratch:12.1:060-preparing_virtual_kernel_file_systems [2024/06/15 10:13] (현재) – [7.3.2. 가상 커널 파일 시스템 마운트] baecy
줄 21: 줄 21:
 ==== 7.3.1. /dev 마운트 및 생성 ==== ==== 7.3.1. /dev 마운트 및 생성 ====
  
-LFS 시스템을 정상적으로 부팅하는 동안 커널은 ''/dev'' 디렉터리에 //devtmpfs// 파일 시스템을 자동으로 마운트하고, 부팅 프로세스 중 또는 디바이스가 처음 감지되거나 액세스할 때 커널은 해당 가상 파일 시스템에 디바이스 노드를 생성합니다. ''udev'' 데몬은 커널이 생성한 장치 노드의 소유권 또는 권한을 변경하고 새 장치 노드 또는 심볼릭 링크를 생성하여 배포판 관리자 및 시스템 관리자의 작업을 용이하게 할 수 있습니다. (자세한 내용은 [[.:156-overview_of_device_and_module_handling#디바이스 노드 생성|9.3.2.2절 "디바이스 노드 생성"]]을 참조하세요.) 호스트 커널이 //devtmpfs//를 지원하는 경우, 단순하게 ''$LFS/dev''에 //devtmpfs//를 마운트하고 커널이 알아서 사용하도록 하면됩니다.+LFS 시스템을 정상적으로 부팅하는 동안 커널은 ''/dev'' 디렉터리에 //devtmpfs// 파일 시스템을 자동으로 마운트하고, 부팅 프로세스 중 또는 디바이스가 처음 감지되거나 액세스할 때 커널은 해당 가상 파일 시스템에 디바이스 노드를 생성합니다. ''udev'' 데몬은 커널이 생성한 장치 노드의 소유권 또는 권한을 변경하고 새 장치 노드 또는 심볼릭 링크를 생성하여 배포판 관리자 및 시스템 관리자의 작업을 용이하게 할 수 있습니다. (자세한 내용은 [[.:156-overview_of_device_and_module_handling#9.3.2.2. 장치 노드 생성|9.3.2.2절 "디바이스 노드 생성"]]을 참조하세요.) 호스트 커널이 //devtmpfs//를 지원하는 경우, 단순하게 ''$LFS/dev''에 //devtmpfs//를 마운트하고 커널이 알아서 사용하도록 하면됩니다.
  
 그러나 일부 호스트 커널은 //devtmpfs//를 지원하지 않으며, 이러한 호스트 배포판은 다른 방법을 사용하여 ''/dev''의 콘텐츠를 생성합니다. 따라서 호스트에 구애받지 않고 ''$LFS/dev'' 디렉터리를 채울 수 있는 유일한 방법은 호스트 시스템의 ''/dev'' 디렉터리를 바인드 마운트하는 것입니다. 바인드 마운트는 디렉터리 하위 트리 또는 파일을 다른 위치에서 볼 수 있도록 하는 특수한 유형의 마운트입니다. 이 작업을 수행하려면 다음 명령을 사용합니다. 그러나 일부 호스트 커널은 //devtmpfs//를 지원하지 않으며, 이러한 호스트 배포판은 다른 방법을 사용하여 ''/dev''의 콘텐츠를 생성합니다. 따라서 호스트에 구애받지 않고 ''$LFS/dev'' 디렉터리를 채울 수 있는 유일한 방법은 호스트 시스템의 ''/dev'' 디렉터리를 바인드 마운트하는 것입니다. 바인드 마운트는 디렉터리 하위 트리 또는 파일을 다른 위치에서 볼 수 있도록 하는 특수한 유형의 마운트입니다. 이 작업을 수행하려면 다음 명령을 사용합니다.
줄 45: 줄 45:
  
   * //gid=5// \\ devpts로 생성된 모든 디바이스 노드가 그룹 ID 5를 소유하게 됩니다. 이것은 나중에 LFS에서 //tty// 그룹에 사용할 ID입니다. 호스트 시스템에서 //tty// 그룹이 다른 ID를 사용할 수 있으므로 이름 대신 그룹 ID를 사용합니다.   * //gid=5// \\ devpts로 생성된 모든 디바이스 노드가 그룹 ID 5를 소유하게 됩니다. 이것은 나중에 LFS에서 //tty// 그룹에 사용할 ID입니다. 호스트 시스템에서 //tty// 그룹이 다른 ID를 사용할 수 있으므로 이름 대신 그룹 ID를 사용합니다.
-  * //mode=0620// \\ 이렇게 하면 devpts로 생성된 모든 디바이스 노드가 모드 0620((rw-r-----사용자 읽기 및 쓰기 가능, 그룹 쓰기 가능))을 갖도록 합니다. 위의 옵션과 함께 사용하면 devpts가 grantpt()의 요구 사항을 충족하는 장치 노드를 생성하므로 기본적으로 설치되지 않는 Glibc ''pt_chown'' 보조 실행파일이 필요하지 않습니다.+  * //mode=0620// \\ 이렇게 하면 devpts로 생성된 모든 디바이스 노드가 모드 0620((rw--w---사용자 읽기 및 쓰기 가능, 그룹 쓰기 가능))을 갖도록 합니다. 위의 옵션과 함께 사용하면 devpts가 grantpt()의 요구 사항을 충족하는 장치 노드를 생성하므로 기본적으로 설치되지 않는 Glibc ''pt_chown'' 보조 실행파일이 필요하지 않습니다.
  
-일부 호스트 시스템에서 /dev/shm은 디렉터리에 대한 심볼릭 링크(일반적으로 /run/shm)입니다. 위에 /run tmpfs가 마운트되었으므로 이 경우에는 올바른 권한으로 디렉터리만 만들면 됩니다.+일부 호스트 시스템에서 ''/dev/shm''은 디렉터리에 대한 심볼릭 링크(일반적으로 ''/run/shm'')입니다. 위에 /run tmpfs가 마운트되었으므로 이 경우에는 올바른 권한으로 디렉터리만 만들면 됩니다.
  
-다른 호스트 시스템에서는 /dev/shm이 tmpfs의 마운트 지점입니다. 이 경우 위의 /dev를 마운트하면 루트 환경의 디렉터리로 /dev/shm만 생성됩니다. 이 상황에서는 명시적으로 tmpfs를 마운트해야 합니다.+다른 호스트 시스템에서는 ''/dev/shm''이 tmpfs의 마운트 지점입니다. 이 경우 위의 /dev를 마운트하면 루트 환경의 디렉터리로 /dev/shm만 생성됩니다. 이 상황에서는 명시적으로 tmpfs를 마운트해야 합니다.
 <code bash> <code bash>
 if [ -h $LFS/dev/shm ]; then if [ -h $LFS/dev/shm ]; then
  • linuxfromscratch/12.1/060-preparing_virtual_kernel_file_systems.1718371138.txt.gz
  • 마지막으로 수정됨: 2024/06/14 13:18
  • 저자 baecy