initrd 없이 부팅할 수 있도록 커널 패치

initrd 없이 부팅할 수 있도록 커널 패치

'의 첫 번째 대답Linux가 부팅 시 초기 Ram 디스크를 사용하는 이유는 무엇입니까?'는 initrd/initial ram 파일 시스템이 실제 루트 파일 시스템을 마운트하기 위한 드라이버를 제공하는 데 사용됨을 나타냅니다. 역시 그렇다고 하네요가능한이러한 드라이버를 커널에 패치하여 initrd초기 램 파일 시스템이 필요하지 않도록 했지만 방법에 대한 설명은 제공하지 않았습니다. 의 도움 없이 루트에 EXT4 파일 시스템을 마운트하기 위해 커널(최신 버전)을 패치하려면 어떻게 해야 합니까 ? initrd이 솔루션은 를 지원합니까 UUIDs?

답변1

아무 것도 패치할 필요가 없습니다. 커널을 직접 구성하고 컴파일하기만 하면 됩니다. 이것은 고급 작업이므로 초보자에게는 적합하지 않습니다. 비결은 하드웨어만 지원하도록 커널을 구성하고 모듈이 아닌 커널 내부의 모든 것을 컴파일하는 것입니다(적어도 부팅에 필요한 드라이버: 디스크 컨트롤러, 파일 시스템 등).

커널을 구성하고 컴파일하는 방법에 대한 많은 튜토리얼이 있습니다.

따라서 Google에서 "커널 컴파일 {your distro}"를 검색해 보세요. 배포판에 올바른 튜토리얼을 사용하는 것이 중요합니다. 사용 중인 Distro는 "바닐라" 커널이 아닌 "distro" 커널에서만 사용할 수 있는 일부 기능을 기대할 수 있습니다. 올바른 튜토리얼은 올바른 소스를 알려줄 것입니다.

/etc/fstabinitrd/initramfs를 제거한 후 GRUB에서는 UUID를 사용할 수 있습니다 .

예를 들어, 저는 Gentoo를 사용하고 있는데 initrd/initramfs를 사용한 적이 없습니다. 새 커널을 사용할 수 있을 때마다 직접 구성하고 컴파일해야 합니다. 커널 매개변수 와 함께 grub을 사용하고 있지만 root=/dev/sdb4fstab에서는 UUID를 사용하고 있습니다.

관련 정보