LTIB详解(五)编译新的U-Boot

LTIB原来的U-boot版本为u-boot-2009.11-rc1,本节的内容是移植最新的u-bootltib中。移植成功后可以在原来的uboot版本和现在的uboot版本中进行选择编译。本小节只讲述如何如何移植,u-boot本身的分析可以参考本人编著的《嵌入式开发应用笔记》。

denx官网下载u-boot-2012.04-rc3(这时本笔记使用的版本,您也可以下载其他的希望移植的版本,此处仅是一个示例),这是当前最新的U-boot版本。之后开始移植工作,过程如下:

首先,将U-Boot源码包拷贝到/opt/freescale/pkgs目录下;

然后,新建u-boot-2012.04-rc3-mpc8308erdb.spec.in文件,也可以拷贝相似文件,在其基础上进行修改。之后增加如下内容(spec文件的格式在‘添加一个全新的包到根文件系统’一节中有简单介绍):

# template = u-boot-common.tmpl

%define pfx /opt/freescale/rootfs/%{_target_cpu}

%define dversion rc3

Summary       : Universal Bootloader firmware

Name          : u-boot

Version         : 2012.04

Release         : 1

License         : GPL

Vendor          : Freescale

Packager        : [email protected]

Group           : Applications/System

URL            : git://git.ap.freescale.net/scm/%{name}-mpc8315-jyt.git

Source          : %{name}-%{version}-%{dversion}.tar.bz2

BuildRoot       : %{_tmppath}/%{name}

Prefix           : %{pfx}

%Description

%{summary}

The source is taken from //ftp.denx.de/pub/u-boot and add in patches for MPC8308erdb.

%Prep

%setup -n %{name}-%{version}-%{dversion}

修改完后,将其保存。然后修改mian.lkc文件,该文件所在目录为:

/freescale/PPC/ltib-mpc8308erdb-20100413/config/platform/mpc8308erdb

comment “Bootloader” mian.lkc文件中的内容,可以执行搜索找到)下添加对uboot的选择,简单的修改内容如下:

choice

    prompt "u-boot version"

    default VER_U_BOOT1

    help

        This menu let you choose the u-boot version

 

config VER_U_BOOT1

    bool "u-boot-2009.11-rc1-mpc8308erdb"

config VER_U_BOOT2

    bool "u-boot-2012.04-rc3-mpc8308erdb"

endchoice

 

config PKG_U_BOOT

    string

    default "u-boot-2009.11-rc1-mpc8308erdb" if VER_U_BOOT1

    default "u-boot-2012.04-rc3-mpc8308erdb" if VER_U_BOOT2

上面完成对新版本的选择菜单支持,接下来需要为该选项增加软件包的支持,修改内容(红色部分)如下:

config PKG_U_BOOT_CONFIG_TYPE

    string

    default "MPC8308ERDB_config" if PKG_U_BOOT_GENERAL && VER_U_BOOT1

    default "MPC8308ERDB_NAND_config" if PKG_U_BOOT_NAND

    default "MPC8308ERDB_NAND_ECC_OFF_config" if PKG_U_BOOT_NAND_ECCOFF

    default "MPC8308ERDB_16bit_config" if PKG_U_BOOT_16BIT

    default "MPC8308RDB_config" if PKG_U_BOOT_GENERAL && VER_U_BOOT2

需要修改的地方已经全部完成了,接下来可以在配置菜单中选择所移植的新的U-Boot版本并编译它。

执行./ltib –m config选择新增的UBOOT包(该命令只配置不编译)。

LTIB详解(五)编译新的U-Boot_第1张图片

LTIB详解(五)编译新的U-Boot_第2张图片

 

配置完成之后,可以通过执行./ltib -m listpkgs | grep ' y ' (注意y与单引号之间有空格)查看是否修改成功。可以看到选择的u-boot包已经变成了我们新增的包。

对比:

最后,执行./ltib 完成编译。

 

 

你可能感兴趣的:(工作,String,git,嵌入式,menu,2010)