Freescale MPC8313 BSP使用说明(ubuntu 10.04)

这段时间在做MPC8313的开发, 在这里做一下笔记吧, 很多虽然是比较简单的东西,还是记录一下吧,免得已后忘了,以可以查查,以给后以第一次使用的人一个参考吧.

 

Freescale MPC8313 BSP使用说明
      MPC8313的BSP使用的是LTIB为基础的配置工具. 安装盘ISO:

1.LTIB安装
      a. mount ISO:
              mount -o loop MPC8313E_RDB_K26_20070831-LTIB.iso /mnt/cdrom
      b.以非root用户运行, 该用户需要有sudo权限:
              /mnt/cdrom/install
              然后根据提示输入安装路径.

      注: a.提示找不到rpm-build
                     我是在ubuntu 10.04上安装, 系统带的rpm是 4.7的,需要卸裁后安装4.4版的rpm,
                     rpm_4.4.2.3-2ubuntu1_i386.deb,librpm4.4_4.4.2.3-2ubuntu1_i386.deb他们又依赖于libbeecrypt6_4.1.2-7_i386.deb

           b.提示没有sudo root的权限
                 ltib安装是普通用户权限,但是部分操作需要root用户权限。按照提示进行如下操作,
                  #/usr/sbin/visudo
                  然后在文件最后添加如下内容:
                   USERNAME ALL = NOPASSWD:/bin/rpm, /opt/freescale/ltib/usr/bin/rpm
                  注:visudo实际就是编辑文件/etc/sudoers文件
  
           c.提示bison错误
                      bison -y -d ./parse.y
                      make: *** [parse.c] Segmentation fault
                 解决:在运行./ltib之前,修改”dist/lfs-5.1/bison/bison.spec”文件,
                 在%Build段修改make为make CFLAGS=-O0。然后再运行./ltib。

           d.提示util错误
                     make -C util
                     make: Entering directory `/opt/freescale/ltib/usr/src/rpm/BUILD/mtd/util'
                     gcc -I../include -O2 -Wall -g -c -o ftl_format.o ftl_format.c -g -Wp,-MD,.ftl_format.c.dep
                     In file included from /usr/include/endian.h:61,
                     from /usr/include/sys/types.h:217,
                     from ftl_format.c:38:
                 解决:修改“/opt/freescale/pkgs/mtd-utils-20060302-cf-byteswap_h-1.patch”文件
                           注掉 lines 46, 47 and 48 :
                           +#if !defined _BYTESWAP_H && !defined _NETINET_IN_H
                           +# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
                           +#endif

                       by
                           +//#if !defined _BYTESWAP_H && !defined _NETINET_IN_H
                           +//# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
                           +//#endif
                      然后删除“/opt/freescale/ltib/usr/src/rpm/BUILD/mtd”这个目录,最后再运行./ltib


           ltib的目录构成:
                 安装完成后会生成如下二个目录/opt/freescale/, <install_path>/ltib-<version>,
                 其中/opt/freescale/ltib下是ltib工具的相关工具集, /opt/freescale/pkgs源代码包,相当多的开源软件包,当然你也可以添加新的进去.
                 /opt/freescale/usr里面是powerpc-linux编译器。
                
           编译目录:
                 编译时使用的内核在<install_path>/ltib-<version>/rpm/BUILD/linux 下.

2.卸载
      只需要手动删除下列目录:
           /opt/freescale/pkgs,
           /opt/freescale/ltib,
           <install_path>/ltib-<version>

3.运行LTIB
       cd <install_path>/ltib
       ./ltib
4.配置
       ./ltib -c

5.编译结果
       <install_path>/ltib-<version>/rootfs/ 目录下是编译完成的目标板的根文件系统.



6.LTIB编译脚本配置

注:以下的文件路径均以ltib的安装路径开始,如/ltib/config/ 表示安装路径的 ltib-<version> 下的config目录.


++ /ltib/config 目录下保存有ltib在配置时使用的各种参数表
      packages.lkc配置对应配置界面主下菜单"Package List"下的可以选择的各种包的相关信息
                  可以配置包的依赖关系等.
     
      network.lkc 配置对应菜单"Target System Configuration,Options->start
          networking->Network setup"


++ 配置完成后,配置信息会保存到/ltib/config/platform/<平台名称>/ 这个目录下.
      这个目录下还保存了busybox和kernal的配置信息.
      要自定义新的平台时,只需要复制以有的平台目录为一个新目录,然后修改目录下的main.lkc中的
      平台相关信息.


++ RPM spec文件:
   RPM 的spec文件存入在/ltib/dist/lfs-<version>/<包名称> 目录下.


7.ltib命令使用
    将指定的包将出来,并使用所有在.spec文件中设置的patch:
        ./ltib -m prep -p <package>

    编译一个包:
        ./ltib -m scbuild -p <package>

    执行包安装,将安装到lfs-<version>/rootfs下:
        ./ltib -m scinstall -p <package>

    在自己的修改完成后可以生成一个patch文件:
        ./ltib -m patchmerge -p <package>

你可能感兴趣的:(ubuntu,工具,include,平台,编译器,patch)