첫 번째 대답'Linux가 부팅 시 초기 RAM 디스크를 사용하는 이유는 무엇입니까?'실제 루트 파일 시스템 설치를 위한 드라이버를 제공하기 위해 initrd/initial ram 파일 시스템을 선언합니다. 그것도 그렇다고 하네요가능한초기 램 파일 시스템이 필요하지 않도록 이러한 드라이버를 커널에 패치 initrd
하지만 이를 수행하는 방법에 대한 설명은 없습니다. EXT4 파일 시스템을 사용하지 않고 루트에 마운트하기 위해 커널(최신 버전)을 패치하려면 어떻게 해야 합니까 ? initrd
이 솔루션이 지원됩니까 UUIDs
?
답변1
아무 것도 패치할 필요가 없습니다. 커널을 직접 구성하고 컴파일하기만 하면 됩니다. 이는 고급 작업이므로 초보자에게는 적합하지 않습니다. 비결은 하드웨어만 지원하도록 커널을 구성하고 커널의 모든 것을 모듈(적어도 부팅에 필요한 드라이버: 디스크 컨트롤러, 파일 시스템 등)로 컴파일하는 것입니다.
커널을 구성하고 컴파일하는 방법에 대한 많은 튜토리얼이 있습니다.
- 루트 다이어그램https://wiki.gentoo.org/wiki/Kernel/Configuration
- 아치https://wiki.archlinux.org/index.php/Kernels/Traditional_compilation
- 우분투https://help.ubuntu.com/community/Kernel/Compile
따라서 Google에서 "커널 컴파일 {귀하의 배포판}"을 검색해 보세요. 배포판에 맞는 튜토리얼을 사용하는 것이 중요합니다. 사용 중인 배포판에서는 "바닐라" 커널이 아닌 "distro" 커널에서만 특정 기능을 사용할 수 있을 것으로 예상할 수 있습니다. 올바른 튜토리얼이 여러분을 올바른 소스로 안내할 것입니다.
/etc/fstab
initrd/initramfs를 제거한 후 GRUB에서는 UUID를 사용할 수 있지만 GRUB에서는 사용할 수 없습니다.
예를 들어, 저는 Gentoo를 사용하고 있지만 initrd/initramfs를 사용한 적이 없습니다. 새로운 커널이 나올 때마다 직접 구성하고 컴파일해야 합니다. 커널 매개변수와 함께 grub을 사용 root=/dev/sdb4
하지만 fstab에서는 UUID를 사용합니다.