일부 실험적인 드라이버를 사용하여 빌드하려면 RHEL 5 시스템에서 커널을 업그레이드해야 합니다. LVM(모듈)을 사용하여 모듈 로딩을 위한 커널을 구성했습니다 dm_*
. initrd가 이 /init
스크립트를 실행하면 LVM 설치 프로세스가 실패합니다.
드라이브는 LVM(루트 장치 포함)으로 구성되므로 초기화 중에 해당 드라이브를 마운트하고 실행합니다 switchroot
.
lvmscan
실패 이유를 이해하려면 어떻게 해야 합니까 ?
답변1
그래서 문제를 알아냈습니다. mkbldevs
Red Hat의 init 스크립트에서는 initrd.img
블록 장치를 생성할 수 없습니다 . LVM은 블록 장치 없이 드라이브를 마운트할 수 없습니다. 나는 BusyBox를 설치하고 사용자 정의 initrd를 만들었고 쉘에서 스크립트가 make 없이 mkblkdevs
무언가를 호출하는 것을 발견했습니다 . 를 사용하여 블록 장치를 수동으로 생성 할 수 있다고 생각했는데 검색해 보니 커널 매개변수가 필요한 것으로 나타났습니다./bin/nash
/dev/sd*
mknod
커널 매개변수는 다음과 같습니다.
CONFIG_SYSFS_DEPRECATED_V2=y
수동으로 설정하거나 .config
일반 설정 에서 찾아볼 수 있습니다 make menuconfig
.
이제 내가 만든 다양한 커널을 부팅할 수 있습니다.