본문 바로가기

학부_대학원/대학원_학과공부정리

리눅스 커널 이미지 구조

SMALL
리눅스 커널 이미지 구조



    - vmlinux 파일

        커널 소스의 최상위 디렉토리에 만들어짐
        
        압축되지 않은 elf 포맷의 파일의 커널 이미지
        
                

        
        ex) 다음과 같은 경로에 생김. (최상위 디렉토리)

                

    - System.map 파일

                symbol들의 메모리 위치 맴을 보여준다. (디버깅, 포렌식에 사용된다)    
            
                리눅스 커널 이미지는 다시 0xc0000000에 다시 매핑된다.

                            

            
    - Image

            최상위 디렉토리의 vmlinux 를 binary 포맷으로 변환시킨 압축되지 않은 커널 이미지

            위의 vmlinux에서 실행될 때 사용되는 것만 가져옴

            


    - vmlinux 파일 (~/arch/(cpu)/boot/compressed/)
            
            해당 위치에 존재하는 vmlinux파일의 경우, 압축되어 있는 파일이다.

            최상위 디렉토리에서의 vmlinux에서 디버그 정보를 삭제하고 압축한 piggy.o를 생성하고

            여기에 head.o 와 misc.o를 합친 이미지임


            vmlinux = head.o + misc.o + piggy.gzip.o


                    head.S -> head.o == 리눅스 커널의 초기화 시작 부분

                    misc.c -> misc.o  == 커널 압축 이미지를 압축 해체 


LIST