Linux 소스 코드에서 .bin 바이너리를 만드는 방법은 무엇입니까?

Linux 소스 코드에서 .bin 바이너리를 만드는 방법은 무엇입니까?

하이퍼바이저 위에서 실행하고 싶은 수정된 Linux 커널이 있습니다. 지금까지 나는 항상 uImage를 사용해왔지만 하이퍼바이저의 스크립트에는 실행 파일이 필요합니다. Linux 소스 코드에서 바이너리 실행 파일을 어떻게 만들 수 있나요? vmlinux는 최종 바이너리 실행 파일을 빌드한 후 생성됩니까?

답변1

  1. vmlinux는 바이너리가 아닌 ELF 파일입니다.

  2. 커널 빌드는 바이너리 파일인 zImage를 생성할 수 있습니다. $kernel/arch/arm/boot/zImageARM의 경우 에서 확인하실 수 있습니다 . zImage는 zip으로 압축된 바이너리 파일이며 zImage 상단에 헤더가 첨부되어 있다는 점을 명심하세요. 이 헤더를 사용하면 zImage가 스스로 압축을 풀 수 있습니다.

zImage를 실행하려면 pc(프로그램 카운터)를 zImage의 첫 번째 지점으로 이동해야 합니다.

관련 정보