initrd 명령은 systemd 서비스와 상호 작용하여 동일한 작업을 수행합니다.

initrd 명령은 systemd 서비스와 상호 작용하여 동일한 작업을 수행합니다.

나는 부팅 프로세스가 어떻게 작동하는지에 대한 일반적인 아이디어를 가지고 있지만 이제 initrd 프로세스를 사용자 정의하고 있으므로 머리를 감쌀 수 없습니다.

원격 파일 시스템이나 디스크(예: NFS 또는 iSCSI)에 연결할 수 있는 systemd 서비스가 있지만 경우에 따라 systemd 서비스에서 수행하는 작업을 initrd 프로세스에서 처리해야 하는 경우에는 어떻게 되나요?

initrd에서 동일한 작업을 수행하는 비시스템 버전을 구축했습니까? 그렇다면 systemd 서비스는 수행하려는 작업이 외부에서 수행되었는지 여부를 감지해야 합니까? initrd에 로드된 커널 모듈과 같은 작업이 허브 루트 프로세스 뒤에 남아 systemd 서비스에서 다시 수행됩니까?

기본적으로 내 질문은 systemd 서비스를 사용하여 NFS 또는 iSCSI 볼륨을 추가 폴더 또는 장치로 마운트하는 로컬 하드 드라이브 설치를 실행하고 설정을 디스크 없는 부팅으로 변경하는 경우 systemd 서비스(에서)입니다. 최소한 시작하는 데 필요한 모든 작업은 initrd에서 수행되어야 합니다. 그러나 추가 볼륨을 마운트하고 systemd 서비스를 계속 실행하려는 경우 initrd 마운트 볼륨의 구성을 어떻게 처리합니까?

로컬 디스크 설치에서 systemd-networkd를 사용하고 있는데 initrd가 네트워크 장치를 시작하고 이를 정적으로 구성하거나 DHCP를 사용해야 합니다. 그렇다면 systemd-networkd는 어떻게 되나요? 더 이상 initrd에 의해 시작된 네트워크 프로필이 없거나 여전히 필요합니까? (initrd 구성은 피벗 루트 또는 이와 유사한 항목에서 삭제됩니까?)

(사용자 정의의 배경으로 iSCSI를 사용하여 디스크 없이 부팅하는 방법이 잘 문서화되어 있지만 원격 DMA 프로토콜 SRP를 사용하여 디스크 없이 부팅하고 싶으므로 initrd는 SRP 커널 모듈(ib_srp 등)을 로드하고 원격 볼륨.)

관련 정보