uImage 만드는 과정에 대한 질문..

snowsena의 이미지

안녕하세요...
제가 uImage와 zImage때문에 너무 헷갈려서 도움을 요청드립니다.
우선 uImage 만드는 과정먼저 여쭤볼께요..
제가 구한 코드에 보면 makefile에
=====================================================================
quiet_cmd_uimage = UIMAGE $@
cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
-C gzip -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
-n 'Linux-$(KERNELRELEASE)' -d $< $@

$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
$(call if_changed,uimage)
@echo ' Image $@ is ready'

$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)

$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)

OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec
$(obj)/vmlinux.srec: $(obj)/compressed/vmlinux
$(call if_changed,objcopy)

OBJCOPYFLAGS_uImage.srec := -I binary -O srec
$(obj)/uImage.srec: $(obj)/uImage
$(call if_changed,objcopy)

clean-files += uImage uImage.srec vmlinux.srec
clean-files += vmlinux.bin vmlinux.bin.gz
=====================================================================
이렇게 되어있는데요.
제가 음.. 어셈블리어나 그런 기본지식이 부족해서요.. 코드 분석이 안되고있습니다.
quiet_cmd_uimage 와 cmd_uimage가 실제 동작에 해당하는 부분인지.. 아니면 $(obj)/ 에 해당하는게 동작인지..
음.. 커널을 컴파일해서 생성되는 vmlinux 파일이 gzip을 이용해서 vmlinux.bin.gz가 되고 여기에 u-boot에 mkimage를 이용해서 header를 붙이는건가요??
근데 제가 또 인터넷을 찾다가 본 내용은 vmlinux파일에서 symbol값등을 제거해서 vmlinux.bin이 된다는것 같은데 위에서 그런거에 해당하는게 어떤건지도 모르겠어요..ㅡ.ㅜ
아직 기본 지식이 없는데 이에 대해서 세미나를 준비해서 하라고 하시는데 도저히 여기저기 찾아봐도 헷갈리기만 할뿐 정리가 안되어서 질문합니다.
어떤 블로그를 보면 uImage는 zImage에 64byte 헤더를 추가시킨 이미지라고 나와있던데 위를 보면 그것도 아닌것같고...
너무 헷갈려요..제발 도와주세요~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.