freescale i.mx23平台上移植android2.2-froyo (mx23系列)


第一章:  i.mx233环境的搭建, sd卡的准备
    1: 主机环境为Ubuntu10.04
    2: i.mx233环境的准备工作
        a) 下载i.mx233的开放套件,地址为: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX233&fpsp=1&tab=Design_Tools_Tab
            1) 下载其中的L2.6.31_10.05.00_SDK_SOURCE,并解压到你的工作目录
            2) 解压后有2个文件: L2.6.31_10.05.02_ER_docs.tar.gz 和 L2.6.31_10.05.02_ER_source.tar.gz
            3) 解压 L2.6.31_10.05.02_ER_docs.tar.gz 后,得到docs,查看其中的readme.html,仔细查看 i.MX23 Linux BSP User Guide 文档。这很重要!!你会对本文以后的内容有个大体了解。
            4) 解压 L2.6.31_10.05.02_ER_source.tar.gz 后,得到L2.6.31_10.05.02_ER_source目录。
        b) 创建路径 /opt/freescale ,之后toolchain会保存在此
            1) sudo mkdir /opt/freescale
            2) sudo chown windsome.windsome /opt/freescale
            3) sudo vi /etc/sudoers ,添加一行到“# User privilege specification”小结下,内容为: windsome ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm
        c) 进入解压后目录 L2.6.31_10.05.02_ER_source ,运行./install,按照步骤一步步安装
        d) 进入安装完后的目录ltib。因为我们是在ubuntu机器上开发,所以需要修改ltib文件,具体参考 http://forums.freescale.com/t5/i-MX-Microprocessors/iMX25-install-ltib/m-p/59299 ,步骤如下
            1) vi ./ltib
            2) 在第929行后加一行,内容为: $cmd .= "--force-debian " if $rpm =~ m/rpm-fs/ && `uname -a` =~ m/ubuntu/i;
            3) 保存后关闭
            4) 注意:在修改ltib之前不要运行./ltib,否则会运行失败,并且就算修改后再运行也会失败。如果不幸运行了,你可以先运行./ltib -m distclean,然后再做上面3步。
            5) 到此,基本环境准备完毕了。
    3: sd卡的准备工作,这就需要仔细看 i.MX23 Linux BSP User Guide 文档了
        a) 找到一张kingston的microSD卡,一般都2G,2G以上都可以。
        b) 分区,使用sudo fdisk /dev/mmcblk0
            1) 分区过程不再叙述了,我分成了三个主分区一个扩展分区,扩展分区又分成了三个分区。为什么要用扩展分区,因为fdisk最多只能分4个主分区,所以我们只能用扩展分区来多分几个。
            2) 我的分区表如下:(每个block大小为32K)
                        Device Boot                     Start         End      Blocks   Id  System
                /dev/mmcblk0p1 (20M  )              1         640       20472    b  W95 FAT32
                /dev/mmcblk0p2 (20M  )            641        1281       20512   53  OnTrack DM6 Aux3
                /dev/mmcblk0p3 (256M)           1282        9476      262240   83  Linux
                /dev/mmcblk0p4 (-        )           9477       60192     1622912    5  Extended
                /dev/mmcblk0p5 (512M)           9477       25861      524312   83  Linux
                /dev/mmcblk0p6 (512M)          25862       42246      524312   83  Linux
                /dev/mmcblk0p7 (rem  )          42247       60192      574264   83  Linux
            3) 各分区的大小没有什么限制,只要够用就行。注意:
                A:/dev/mmcblk0p1是用于windowsCE的,我们可以不管它。/dev/mmcblk0p2必须是0x53的格式,用来烧写 boot_stream的。/dev/mmcblk0p3必须是linux分区,用来存放 rootfs。
                B:/dev/mmcblk0p4是逻辑上的扩展分区,不需要做任何操作。
                C:/dev/mmcblk0p5,/dev/mmcblk0p6,/dev/mmcblk0p7用于Android,分别用来存放system分区,data分区,cache分区。
            4) 格式化分区。我们只需要格式化/dev/mmcblk0p3,/dev/mmcblk0p5,/dev/mmcblk0p6,/dev /mmcblk0p7。都可以格式化成ext3。
                注:在实际开发中发现,data分区变化比较大,很容易出问题,某个文件出了问题,android就起不来。data分区可以尝试其他文件系统。

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容