새 커널을 빌드하면 LVM이 initrd에서 마운트되지 않습니다.

새 커널을 빌드하면 LVM이 initrd에서 마운트되지 않습니다.

일부 실험적인 드라이버를 사용하여 빌드하려면 RHEL 5 시스템에서 커널을 업그레이드해야 합니다. LVM(모듈)을 사용하여 모듈 로딩을 위한 커널을 구성했습니다 dm_* . initrd가 이 /init스크립트를 실행하면 LVM 설치 프로세스가 실패합니다.

드라이브는 LVM(루트 장치 포함)으로 구성되므로 초기화 중에 해당 드라이브를 마운트하고 실행합니다 switchroot.

lvmscan실패 이유를 이해하려면 어떻게 해야 합니까 ?

답변1

그래서 문제를 알아냈습니다. mkbldevsRed Hat의 init 스크립트에서는 initrd.img블록 장치를 생성할 수 없습니다 . LVM은 블록 장치 없이 드라이브를 마운트할 수 없습니다. 나는 BusyBox를 설치하고 사용자 정의 initrd를 만들었고 쉘에서 스크립트가 make 없이 mkblkdevs무언가를 호출하는 것을 발견했습니다 . 를 사용하여 블록 장치를 수동으로 생성 할 수 있다고 생각했는데 검색해 보니 커널 매개변수가 필요한 것으로 나타났습니다./bin/nash/dev/sd*mknod

커널 매개변수는 다음과 같습니다.

CONFIG_SYSFS_DEPRECATED_V2=y

수동으로 설정하거나 .config일반 설정 에서 찾아볼 수 있습니다 make menuconfig.

이제 내가 만든 다양한 커널을 부팅할 수 있습니다.

관련 정보