차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.1:166-linux-6.7.4 [2024/04/25 05:09] baecylinuxfromscratch:12.1:166-linux-6.7.4 [2024/06/15 13:44] (현재) baecy
줄 1: 줄 1:
 +^  Linux From Scratch - Version 12.1-systemd  ^^^
 +^  Chapter 10. Making the LFS System Bootable  ^^^
 +|[[.:165-creating_the_etcfstab_file|이전]]  |  [[.:10-Making the LFS System Bootable|위로]] / [[.:12.1|처음으로]]  |  [[.:167-Using GRUB to Set Up the Boot Process|다음]]|
 +
 +|/etc/fstab 파일 생성 |  GRUB를 사용한 부팅 설정|
 +
 +----
 +
 ===== 10.3. Linux-6.7.4 ===== ===== 10.3. Linux-6.7.4 =====
 Linux 패키지에는 Linux 커널이 포함되어 있습니다. Linux 패키지에는 Linux 커널이 포함되어 있습니다.
줄 14: 줄 22:
  
 다른 모든 방법이 실패하면 [[https://www.linuxfromscratch.org/mail.html|lfs-support]] 메일링 리스트에서 도움을 요청할 수 있습니다. 스팸을 방지하려면 메일링 리스트에 가입해야 한다는 점에 유의하세요.</WRAP> 다른 모든 방법이 실패하면 [[https://www.linuxfromscratch.org/mail.html|lfs-support]] 메일링 리스트에서 도움을 요청할 수 있습니다. 스팸을 방지하려면 메일링 리스트에 가입해야 한다는 점에 유의하세요.</WRAP>
-다음 명령을 실행하여 컴파일을 준비합니다: +다음 명령을 실행하여 컴파일을 준비합니다. 
-<code lang=bash>make mrproper</code>+<code bash>make mrproper</code>
  
 이렇게 하면 커널 트리가 완전히 깨끗해집니다. 커널 팀은 각 커널 컴파일 전에 이 명령을 실행할 것을 권장합니다. 압축을 푼 후 소스 트리가 깨끗해졌다고 안심하지 마세요. 이렇게 하면 커널 트리가 완전히 깨끗해집니다. 커널 팀은 각 커널 컴파일 전에 이 명령을 실행할 것을 권장합니다. 압축을 푼 후 소스 트리가 깨끗해졌다고 안심하지 마세요.
  
-커널 옵션을 구성하는 방법에는 여러 가지가 있습니다. 일반적으로 메뉴 중심 인터페이스를 통해 구성하는 경우가 많습니다: +커널 옵션을 구성하는 방법에는 여러 가지가 있습니다. 일반적으로 메뉴 중심 인터페이스를 통해 구성하는 경우가 많습니다. 
-<code lang=bash>make menuconfig</code>\\+<code bash>make menuconfig</code>\\
  
 ** 선택적 make 환경 변수의 의미는 다음과 같습니다: ** ** 선택적 make 환경 변수의 의미는 다음과 같습니다: **
줄 29: 줄 37:
 커널 구성을 설정하기 위한 좋은 시작점은 make defconfig를 실행하는 것입니다. 이렇게 하면 현재 시스템 아키텍처를 고려한 기본 구성이 기본적인 상태로 설정됩니다. 커널 구성을 설정하기 위한 좋은 시작점은 make defconfig를 실행하는 것입니다. 이렇게 하면 현재 시스템 아키텍처를 고려한 기본 구성이 기본적인 상태로 설정됩니다.
  
-다음 기능을 활성화/비활성화/설정하지 않으면 시스템이 제대로 작동하지 않거나 아예 부팅되지 않을 수 있습니다:+다음 기능을 활성화/비활성화/설정하지 않으면 시스템이 제대로 작동하지 않거나 아예 부팅되지 않을 수 있습니다.
 <code> <code>
 General setup ---> General setup --->
줄 71: 줄 79:
     < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->     < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                       ...  [DRM]                                                                       ...  [DRM]
-    # If [DRM] is selected as * or M, this must be selected:+    # If [DRM] is selected as * or M, this must be selected.
     [ /*]   Enable legacy fbdev support for your modesetting driver     [ /*]   Enable legacy fbdev support for your modesetting driver
                                                       ...  [DRM_FBDEV_EMULATION]                                                       ...  [DRM_FBDEV_EMULATION]
     Console display driver support --->     Console display driver support --->
-      # If [DRM] is selected as * or M, this must be selected:+      # If [DRM] is selected as * or M, this must be selected.
       [ /*] Framebuffer Console support                    [FRAMEBUFFER_CONSOLE]       [ /*] Framebuffer Console support                    [FRAMEBUFFER_CONSOLE]
  
줄 95: 줄 103:
     [*] Support for Interrupt Remapping                              [IRQ_REMAP]</code>\\     [*] Support for Interrupt Remapping                              [IRQ_REMAP]</code>\\
  
-RAM이 4GB를 초과하는 하드웨어에서 실행되는 32비트 시스템을 구축하는 경우 커널이 최대 64GB의 물리적 RAM을 사용할 수 있도록 구성을 조정하세요:+RAM이 4GB를 초과하는 하드웨어에서 실행되는 32비트 시스템을 구축하는 경우 커널이 최대 64GB의 물리적 RAM을 사용할 수 있도록 구성을 조정하세요.
 <code> <code>
 Processor type and features ---> Processor type and features --->
줄 101: 줄 109:
     (X) 64GB                                                        [HIGHMEM64G]</code>\\     (X) 64GB                                                        [HIGHMEM64G]</code>\\
          
-LFS 시스템의 파티션이 NVME SSD에 있는 경우(즉, 파티션의 장치 노드가 /dev/sd*가 아닌 /dev/nvme*인 경우) NVME 지원을 활성화하지 않으면 LFS 시스템이 부팅되지 않습니다:+LFS 시스템의 파티션이 NVME SSD에 있는 경우(즉, 파티션의 장치 노드가 /dev/sd*가 아닌 /dev/nvme*인 경우) NVME 지원을 활성화하지 않으면 LFS 시스템이 부팅되지 않습니다.
 <code> <code>
 Device Drivers ---> Device Drivers --->
줄 142: 줄 150:
 원하는 경우 커널 구성 파일인 .config를 호스트 시스템(사용 가능하다고 가정)에서 압축을 푼 리눅스-6.7.4 디렉터리로 복사하여 커널 구성을 건너뛸 수 있습니다. 그러나 이 옵션은 권장하지 않습니다. 모든 구성 메뉴를 탐색하고 커널 구성을 처음부터 새로 만드는 것이 더 나은 경우가 많습니다. 원하는 경우 커널 구성 파일인 .config를 호스트 시스템(사용 가능하다고 가정)에서 압축을 푼 리눅스-6.7.4 디렉터리로 복사하여 커널 구성을 건너뛸 수 있습니다. 그러나 이 옵션은 권장하지 않습니다. 모든 구성 메뉴를 탐색하고 커널 구성을 처음부터 새로 만드는 것이 더 나은 경우가 많습니다.
  
-커널 이미지와 모듈을 컴파일합니다:+커널 이미지와 모듈을 컴파일합니다.
 <code>make</code> <code>make</code>
  
 커널 모듈을 사용하는 경우 /etc/modprobe.d에서 모듈 구성이 필요할 수 있습니다. 모듈 및 커널 구성과 관련된 정보는 [[.:156-overview_of_device_and_module_handling|섹션 9.3, "장치 및 모듈 처리 개요"]]와 ''리눅스-6.7.4/Documentation'' 디렉터리의 커널 설명서에 나와 있습니다. 또한 [[https://man.archlinux.org/man/modprobe.d.5|modprobe.d(5)]]도 관심을 가질 수 있습니다. 커널 모듈을 사용하는 경우 /etc/modprobe.d에서 모듈 구성이 필요할 수 있습니다. 모듈 및 커널 구성과 관련된 정보는 [[.:156-overview_of_device_and_module_handling|섹션 9.3, "장치 및 모듈 처리 개요"]]와 ''리눅스-6.7.4/Documentation'' 디렉터리의 커널 설명서에 나와 있습니다. 또한 [[https://man.archlinux.org/man/modprobe.d.5|modprobe.d(5)]]도 관심을 가질 수 있습니다.
  
-커널 구성에서 모듈 지원을 비활성화하지 않았다면 다음과 같이 모듈을 설치하세요:+커널 구성에서 모듈 지원을 비활성화하지 않았다면 다음과 같이 모듈을 설치하세요.
 <code>make modules_install</code> <code>make modules_install</code>
  
줄 153: 줄 161:
 <WRAP center round important 90%> <WRAP center round important 90%>
 **주의** \\ **주의** \\
-LFS 시스템에 별도의 /boot 파티션을 사용하기로 결정한 경우(호스트 배포판과 /boot 파티션을 공유할 수도 있음) 아래에 복사한 파일은 이 파티션으로 이동해야 합니다. 가장 쉬운 방법은 먼저 ''/etc/fstab''에 ''/boot'' 항목을 만든 다음(자세한 내용은 이전 섹션 참조), 루트 환경에서 루트 사용자로 다음 명령을 실행하는 것입니다:+LFS 시스템에 별도의 /boot 파티션을 사용하기로 결정한 경우(호스트 배포판과 /boot 파티션을 공유할 수도 있음) 아래에 복사한 파일은 이 파티션으로 이동해야 합니다. 가장 쉬운 방법은 먼저 ''/etc/fstab''에 ''/boot'' 항목을 만든 다음(자세한 내용은 이전 섹션 참조), 루트 환경에서 루트 사용자로 다음 명령을 실행하는 것입니다.
 <code>mount /boot</code> <code>mount /boot</code>
 장치 노드 경로는 마운트에서 ''/etc/fstab''에서 읽을 수 있으므로 명령에서 생략합니다.</WRAP> 장치 노드 경로는 마운트에서 ''/etc/fstab''에서 읽을 수 있으므로 명령에서 생략합니다.</WRAP>
  
-커널 이미지 경로는 사용 중인 플랫폼에 따라 다를 수 있습니다. 아래 파일 이름은 사용자의 취향에 맞게 변경할 수 있지만, 다음 섹션에서 설명하는 부팅 프로세스의 자동 설정과 호환되려면 파일 이름의 줄기는 vmlinuz여야 합니다. 다음 명령은 x86 아키텍처를 가정합니다: +커널 이미지 경로는 사용 중인 플랫폼에 따라 다를 수 있습니다. 아래 파일 이름은 사용자의 취향에 맞게 변경할 수 있지만, 다음 섹션에서 설명하는 부팅 프로세스의 자동 설정과 호환되려면 파일 이름의 줄기는 vmlinuz여야 합니다. 다음 명령은 x86 아키텍처를 가정합니다. 
-<code lang=bash>cp -iv arch/x86/boot/bzImage /boot/vmlinuz-6.7.4-lfs-12.1-systemd</code>+<code bash>cp -iv arch/x86/boot/bzImage /boot/vmlinuz-6.7.4-lfs-12.1-systemd</code>
  
-''System.map''은 커널의 심볼 파일입니다. 이 파일은 커널 API의 모든 함수의 함수 진입점과 실행 중인 커널의 커널 데이터 구조 주소를 매핑합니다. 커널 문제를 조사할 때 리소스로 사용됩니다. 다음 명령을 실행하여 맵 파일을 설치합니다: +''System.map''은 커널의 심볼 파일입니다. 이 파일은 커널 API의 모든 함수의 함수 진입점과 실행 중인 커널의 커널 데이터 구조 주소를 매핑합니다. 커널 문제를 조사할 때 리소스로 사용됩니다. 다음 명령을 실행하여 맵 파일을 설치합니다. 
-<code lang=bash>cp -iv System.map /boot/System.map-6.7.4</code>+<code bash>cp -iv System.map /boot/System.map-6.7.4</code>
  
-위의 ''make menuconfig'' 단계에서 생성된 커널 구성 파일 ''.config''에는 방금 컴파일한 커널에 대한 모든 구성 선택 사항이 포함되어 있습니다. 나중에 참조할 수 있도록 이 파일을 보관해 두는 것이 좋습니다: +위의 ''make menuconfig'' 단계에서 생성된 커널 구성 파일 ''.config''에는 방금 컴파일한 커널에 대한 모든 구성 선택 사항이 포함되어 있습니다. 나중에 참조할 수 있도록 이 파일을 보관해 두는 것이 좋습니다. 
-<code lang=bash>cp -iv .config /boot/config-6.7.4</code>+<code bash>cp -iv .config /boot/config-6.7.4</code>
  
-Linux 커널에 대한 설명서를 설치합니다: +Linux 커널에 대한 설명서를 설치합니다. 
-<code lang=bash>cp -r Documentation -T /usr/share/doc/linux-6.7.4</code>+<code bash>cp -r Documentation -T /usr/share/doc/linux-6.7.4</code>
  
 커널 소스 디렉터리의 파일을 루트가 소유하지 않았다는 점에 유의하세요. 패키지가 사용자 루트로 압축 해제될 때마다(chroot 내부에서 했던 것처럼) 파일은 패키지의 컴퓨터에서 무엇이든 사용자 및 그룹 ID를 갖습니다. 이는 일반적으로 설치 후 소스 트리가 제거되므로 다른 패키지를 설치할 때는 문제가 되지 않습니다. 하지만 Linux 소스 트리는 오랫동안 유지되는 경우가 많습니다. 이 때문에 패키저가 사용한 사용자 ID가 컴퓨터의 누군가에게 할당될 가능성이 있습니다. 그러면 해당 사용자가 커널 소스에 대한 쓰기 권한을 갖게 됩니다. 커널 소스 디렉터리의 파일을 루트가 소유하지 않았다는 점에 유의하세요. 패키지가 사용자 루트로 압축 해제될 때마다(chroot 내부에서 했던 것처럼) 파일은 패키지의 컴퓨터에서 무엇이든 사용자 및 그룹 ID를 갖습니다. 이는 일반적으로 설치 후 소스 트리가 제거되므로 다른 패키지를 설치할 때는 문제가 되지 않습니다. 하지만 Linux 소스 트리는 오랫동안 유지되는 경우가 많습니다. 이 때문에 패키저가 사용한 사용자 ID가 컴퓨터의 누군가에게 할당될 가능성이 있습니다. 그러면 해당 사용자가 커널 소스에 대한 쓰기 권한을 갖게 됩니다.
줄 186: 줄 194:
 대부분의 경우 Linux 모듈은 자동으로 로드되지만 때로는 특정 지시가 필요한 경우가 있습니다. 모듈을 로드하는 프로그램인 ''modprobe'' 또는 ''insmod''는 이를 위해 ''/etc/modprobe.d/usb.conf''를 사용합니다. 이 파일을 생성해야 USB 드라이버(ehci_hcd, ohci_hcd 및 uhci_hcd)가 모듈로 빌드된 경우 올바른 순서로 로드되며, 부팅 시 경고가 출력되는 것을 방지하려면 ehci_hcd가 ohci_hcd 및 uhci_hcd보다 먼저 로드되어야 합니다. 대부분의 경우 Linux 모듈은 자동으로 로드되지만 때로는 특정 지시가 필요한 경우가 있습니다. 모듈을 로드하는 프로그램인 ''modprobe'' 또는 ''insmod''는 이를 위해 ''/etc/modprobe.d/usb.conf''를 사용합니다. 이 파일을 생성해야 USB 드라이버(ehci_hcd, ohci_hcd 및 uhci_hcd)가 모듈로 빌드된 경우 올바른 순서로 로드되며, 부팅 시 경고가 출력되는 것을 방지하려면 ehci_hcd가 ohci_hcd 및 uhci_hcd보다 먼저 로드되어야 합니다.
  
-다음을 실행하여 ''/etc/modprobe.d/usb.conf'' 파일을 새로 만듭니다: +다음을 실행하여 ''/etc/modprobe.d/usb.conf'' 파일을 새로 만듭니다. 
-<code lang=bash>+<code bash>
 install -v -m755 -d /etc/modprobe.d install -v -m755 -d /etc/modprobe.d
 cat > /etc/modprobe.d/usb.conf << "EOF" cat > /etc/modprobe.d/usb.conf << "EOF"
줄 197: 줄 205:
 # End /etc/modprobe.d/usb.conf  # End /etc/modprobe.d/usb.conf 
 EOF</code> EOF</code>
-==== 10.3.3. Linux의 내용 ====+==== 10.3.3. Linux 패키지 구성 ====
 설치된 파일: config-6.7.4, vmlinuz-6.7.4-lfs-12.1-systemd 및 System.map-6.7.4 설치된 파일: config-6.7.4, vmlinuz-6.7.4-lfs-12.1-systemd 및 System.map-6.7.4
 설치된 디렉터리: /lib/modules, /usr/share/doc/linux-6.7.4 설치된 디렉터리: /lib/modules, /usr/share/doc/linux-6.7.4
-=== 간한 설명 ===+=== 간한 설명===
   * **config-6.7.4** \\커널에 대한 모든 구성 선택 사항을 포함합니다.   * **config-6.7.4** \\커널에 대한 모든 구성 선택 사항을 포함합니다.
   * **vmlinuz-6.7.4-lfs-12.1-systemd** \\리눅스 시스템의 엔진. 컴퓨터를 켤 때 커널은 운영 체제에서 가장 먼저 로드되는 부분입니다. 커널은 컴퓨터 하드웨어의 모든 구성 요소를 감지하고 초기화한 다음 이러한 구성 요소를 소프트웨어에 파일 트리로 제공하고 단일 CPU를 여러 프로그램을 동시에 실행할 수 있는 멀티태스킹 머신으로 전환합니다.   * **vmlinuz-6.7.4-lfs-12.1-systemd** \\리눅스 시스템의 엔진. 컴퓨터를 켤 때 커널은 운영 체제에서 가장 먼저 로드되는 부분입니다. 커널은 컴퓨터 하드웨어의 모든 구성 요소를 감지하고 초기화한 다음 이러한 구성 요소를 소프트웨어에 파일 트리로 제공하고 단일 CPU를 여러 프로그램을 동시에 실행할 수 있는 멀티태스킹 머신으로 전환합니다.
  • linuxfromscratch/12.1/166-linux-6.7.4.1714021746.txt.gz
  • 마지막으로 수정됨: 2024/04/25 05:09
  • 저자 baecy