2010年10月21日 星期四

如何編譯U-boot

1.先到SourceForge下載U-boot

2.解壓縮
$ tar jxvf u-boot-1.1.6.tar.bz2


3.看Makefile 有無自己的config
$vim Makefile

1870 sbc2410x_config: unconfig
1871         @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0
1872
1873 scb9328_config  :       unconfig
1874         @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx
1875
1876 smdk2400_config :       unconfig
1877         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
1878
1879 smdk2410_config :       unconfig
1880         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
1881
1882 SX1_config :            unconfig
1883         @$(MKCONFIG) $(@:_config=) arm arm925t sx1

4.建立config.mk
$ make smdk2410_config
Configuring for smdk2410 board...

5.設定CROSS_COMPILE 路徑
$ vim Makfile

127 ifeq ($(ARCH),arm)
128 CROSS_COMPILE = arm-linux-

127 ifeq ($(ARCH),arm)
128 CROSS_COMPILE = YOURPATH/arm-linux-


5.Compile
$make
.
.
.
 /usr/local/arm/4.0.3/bin/arm-linux-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
/usr/local/arm/4.0.3/bin/arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

完成後目錄下的u-boot.bin就是編譯好的bootloader