initramfs 제작과 bzImage 제작 사이에 특별한 관계가 있습니까?

initramfs 제작과 bzImage 제작 사이에 특별한 관계가 있습니까?

나의 초기 질문시스템이 initramfs셸에 의해 차단되었습니다. 후에,통신회사그리고Yan은 드라이버 누락과 후속 드라이버 버전의 불일치로 인해 내 문제가 발생했다는 사실을 발견했습니다. 그래서 나는 그들의 조언을 따라 문제를 해결했습니다.

하지만 커널 컴파일 옵션을 너무 많이 수정했습니다. 대신 시스템이 시작될 때 다시 멈추는 것을 making clean직접 발견했습니다. 문제를 해결하기 위해 드라이버가 커널에 컴파일되었는지 수정하고 확인해 보았습니다 .make bzImageinitramfsrootdealy

통과이 답변, 방금 커널이 실행되는 대로 다시 컴파일하고 설치했습니다. 그러나 하드 드라이브나 커널 버전은 변경하지 않고 커널 구성 옵션만 변경했습니다. 그렇다면 initramfs와 의 생산 사이에는 어떤 관계가 있는 것 같습니다 bzImage.

내 질문::

여기에 이미지 설명을 입력하세요.

답변:

여기에 이미지 설명을 입력하세요.

답변1

이론적인 대답은 "상황에 따라 다르다"입니다.

실제로 저는 initramfs가 커널과 독립적일 수 있는 상황을 의도적으로 본 적이 없습니다. (내가 아는 한) 대부분의 시스템은 코어당 initramfs를 생성합니다.

initramfs의 실제 사용 사례는 커널 모듈을 로드하는 것입니다.앞으로루트 파일 시스템을 마운트합니다. 이는 루트 파일 시스템에 커널에 정적으로 컴파일되지 않은 특수 드라이버가 필요할 때 발생하는 닭과 달걀 문제를 해결합니다. 이를 수행하려면 initramfs에 로드할 커널 모듈의 복사본이 포함되어 있어야 합니다.

컴파일된 커널 모듈은 커널 구성에 따라 바이너리 차이가 있을 수 있으므로 구성을 변경하려면 새 커널 모듈을 컴파일한 다음 이를 initramfs로 패키징해야 할 수도 있습니다.

마찬가지로 일부 모듈을 정적으로 컴파일하거나 동적으로 로드할 수 있는 경우 모듈을 동적으로 로드하도록 구성을 변경하려면 해당 모듈을 initramfs에 추가해야 할 수도 있습니다.

정적으로 컴파일된 올바른 모듈을 포함하는 커널이 있다고 가정해 보겠습니다. 이렇게 하면 커널을 다시 컴파일할 때마다 Initramfs를 변경할 필요가 없습니다. 위에서 말했듯이 저는 실제로 이런 일이 일어나는 것을 본 적이 없습니다.

관련 정보