/dev/sde 설치 디스크는 부팅 시 /dev/sda로 처리됩니다.

/dev/sde 설치 디스크는 부팅 시 /dev/sda로 처리됩니다.

저는 SystemImager 이미지 배포 소프트웨어 개발자입니다. 외부 디스크 드라이버를 지원하려고 하는데 어리석은 문제에 봉착했습니다.

사전 설치 스크립트를 실행하면(udev에서 해결함) 네트워크를 통해 드라이버를 가져옵니다(예: RHEL 8에서 이전 하드웨어를 지원하는 특정 megaraid_sas.ko).

드라이버가 로드되면 디스크가 /dev/sde로 인식됩니다. 설치가 제대로 작동하고(EFI 시스템) 드라이버를 포함하도록 initramfs가 다시 빌드됩니다. grub2-mkconfig는 root=(hd4,gpt2)를 사용하여 구성 파일을 생성합니다. efibootmgr은 올바른 항목을 생성합니다(UUID를 사용함)

불행히도 재부팅할 때 grub은 커널(hd4, BIOS에서는 hd0을 확인함)을 찾을 수 없습니다. => 첫 번째 문제입니다. 이 문제를 해결했을 때 => 두 번째 문제: 커널이 megaraid_sas.ko를 로드하고(인트라란트 파일에 있기 때문에) 이 메가레이드 디스크는 /dev/sda로 표시됩니다! 비상 모드에서 계속해서 /sysroot를 수동으로 마운트하려고 하면 lvm이 /dev/sde를 찾지 못합니다...

다음과 같은 방법이 있습니까? -> 설치 시 UDEV에게 내가 확인하기 전까지 /dev/sda를 사용하지 말라고 지시합니까? (grub 및 lvm 문제도 해결하므로 최상의 솔루션) 아니면 부팅 시 megaraid_sas가 /dev/sde를 사용해야 한다고 커널에 알릴 수 있는 방법이 있습니까?

anaconda dracut 모듈을 살펴보았지만 재부팅 후 OEMDRV를 처리하는 방법을 이해할 수 없습니다. (개발자가 디스크 장치를 감지한 후 한참 후에 웹에서 드라이버를 다운로드합니다.)

어떤 아이디어가 있나요?

관련 정보