리눅스 소스에서
vi Makefile
$(ARCH) ?= arm
$(CROSS_COMPILE) ?= arm-elf-
make mrproper
cp arch/arm/config/s3c2410_defconfig .config
make menuconfig
make zImage
또는 menuconfig 대신 예전 방식으로
make oldconfig
make dep
make zImage
하면 arch/arm/boot/zImage 생성됨.
-----------
http://www.meritech.co.kr/support/faq_view.php?num=14&readnum=1467&page=1&search=&searchstring=
http://www.elogics.co.kr/bbs/view.php?id=notice&no=34
http://www.samsung.com/Products/Semiconductor/common/product_list.aspx?family_cd=MSC0102
http://cafe.naver.com/makkolli.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=707
Uboot은 최근 임베디드 리눅스에서 많이 쓰이고 있는 부트로더중 하나이다.cpu 각각의 CPU dependent한 코드들(startup.s같은..어셈)이 들어 있다.
board
유명한 보드..(lubbock..mainstorm...smdk2410...smdk2440 etc..)
의 소스들이 들어있따.
common
main loop가 들어있따.
include
말그대로 해더들...
include/configs에는 보드 설정파일들이 존재하고 실제로 수정시 이곳을 수정한다.
lib_arm
arm쪽 메인코드들이 있다.
driver
드라이버 코드가 있다.(Ethernet을 사용하기 위함..대부분..)
tools
makeimage가 있다...
이것은 u-boot만의 이미지를 만드는것을 도와준다.
------------------------------------------------------------
일단 Uboot을 구한다.......................ㅋ
Makefile에서 CrossCompile 구간을 설정해주는데....
귀찮으면 그냥
CrossCompile = 내꺼
를 설정해주면 된다. 여기서 내꺼란 나의 크로스컴파일러의 prefix를 이야기한다.
prefix란 arm-linux-gcc라면 arm-linux- 를 이야기한다.
make clobber 하주고( make clean과 비슷...설정지워줌)
make XXXX_config( smdk2410, smdk2440, lubbock, ...etc)
하면 u-boot.bin이 나오고 이것을 flash에 write해주면 된다.
------------------------------------------------------------
대충 이렇고....내 보드용 부트로더를 만들려면...
역시 가장 중요한것이 config파일 이므로
최상위 디렉토리의 Makefile에서
smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
이 넘을 찾고 이넘을 수정해 준다.
mak2440_config : unconfig
쭉쭉쭉~
그리고 보드는...나의 경우 aesop 2440 3rd 보드 이므로..
2410으로 한다... 2440이 없다..OTL
/board/smdk2410
을 copy..
/board/mak2440 정도로 만들어준다.
그리고.. smdk2410을 mak2440로 바꿔주고...
smdk2410.c를 mak2440.c로 바꿔주고
make clobber
make mak2440_config
make
해주면 부트로더가 컴파일 된다 물론 지금은 smdk2410과 똑같은 이미지가 생성되어 진다.
'KB > linux' 카테고리의 다른 글
[펌]온라인 리눅스 OS 관련 자료 (0) | 2007.08.01 |
---|---|
[강추] Unreliable Guide To Locking (0) | 2007.08.01 |
synergy (0) | 2007.05.12 |
Linux Simulator (0) | 2007.04.21 |
vi에서 ^M 없애기 (0) | 2007.01.27 |