Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 로고
- wine
- Signal
- Lock
- 와인
- 로고 프로그램
- 숭실대
- 컴퓨터시스템개론
- 커널
- 미디어학부
- 쓰레드
- 별지기
- 태그를 입력해 주세요.
- 리눅스
- Android
- 우분투
- kernel
- 프로세스
- 안드로이드
- Process
- logo
- 운영체제
- 학복위
- Linux
- 파일io
- 정기철
- 함수
- 컴시
- 학생복지위원회
- 별
Archives
- Today
- Total
두근두근이야기
zImage에 관하여 본문
zImage 구조 ( head.o, misc.o, head.S piggy.o )
1. 부트로더는 zImage를 커널 파티션에서 읽어 들여서 특정 메모리 주소에 로드 후 그 메모리의 첫 주소로 점프.
2. head.o 는 메모리 초기화와 같은 작업을 수행 후 misc.o의 decompress_kernel을 호출하여
3. piggy.o에 들어있는 piggy.gz 압축을 Image로 해제하여 Image 영역을 다시 재배치 시키고 start_kernel로 점프.
4. piggy.gz가 만들어지는 건 커널의 각 built-in.o들을 vmlinux.lds.S를 참조하여 vmlinux로 링크하는 과정을 수행하고
5. vmlinux가 만들어지면 여기서 각 comment등의 정보들을 제거한 후 Image로 만든 후에 이를 gzip -f -9 옵션으로 piggy.gz로 압축을 수행
6. piggy.gz는 piggy.S를 컴파일 하는 작업을 통해서 piggy.o가 되고
7. zImage에 있는 파일들 ( head.o, misc.o, head.S piggy.o )을 다시 링크하여 vmliux를 다시 만들고 여기서 obycopy를 통해 comment등을 다시 제거하고 나면 zImage가 만들어진다.
'IT > IT ::Linux' 카테고리의 다른 글
OSI 7 Layer, TCP/IP 4 Layer - Network (0) | 2013.09.10 |
---|---|
valgrind (0) | 2013.09.09 |
UART 디바이스 드라이버 (0) | 2013.09.09 |
리눅스 커널에서 페이지 크기는. (0) | 2013.09.09 |
POSIX 세마포어, 그리고 실습 (0) | 2013.09.09 |