2 thoughts to “커널이미지 빌드 – 커널 이미지 덤프 분석”

  1. 문영일님, 매번 블로그에서 큰 도움을 받고 있어 먼저 감사하다는 말씀 드리며, vmlinux 와 zimage의 메모리 매핑에 관련하여 궁금한점이 있습니다.
    1. zImage 자체는 vmlinux 이미지를 압축한 것이고, zImage가 부팅시에 압축 해제되어 vmlinux로 바뀌어 물리메모리공간에 올라가는 것이 맞나요?
    2. 그렇다면, 물리메모리에 압축해제된 vmlinux이미지 전체가 항상 물리메모리에 적재되어있는 상태인가요? 아니면 압축해제된 vmlinux가 스토리지에 존재하고, 필요할 때 마다 페이지폴트가 발생하여 커널 가상주소공간상의 lowmem 영역과 매핑되는 것인가요?

    1. 32비트 시스템의 경우 대부분 커널을 압축하여 파일시스템 또는 낸드 등에 올려두고,
      시스템이 부팅할 때 DRAM에 올린 후 압축을 풀어 사용합니다.

      1번 질문하신 바와 같이 zImage는 당연히 DRAM등의 물리 메모리 공간에 올라갑니다.
      2번 질문 역시 압축된 상태로 DRAM 물리 공간에 올렸다가, 다시 DRAM 물리 공간에 압축을 풀어사용합니다.

      감사합니다.

댓글 남기기