2012-02-01

过了个年回来接着倒饬我的beagleboard!
重新在ubuntu上搭建环境: 用的工具包是老师给的mydroid,其实里面的东西只用到了/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/,把它添加到路径就行; 装jdk的时候就比较麻烦,之前java6,7都装了,可是Froyo只能用java5,装了5之后系统还是默认用java6。这导致在make uboot的时候出现 arm-eabigcc command not find的错误,因为toolchain中执行文件名是 arm-eabi-gcc。一开始我还自作聪明地把toolchain中的arm-eabi-gcc改名为arm-eabigcc,再make,又来个arm-eabiar command not find 的错误。自作聪明果然不靠谱,还是乖乖问度娘吧。看了 “http://wenku.baidu.com/view/14de99d226fff705cc170afa
.html?from=related”,我怀疑是java版本的问题,于是按着文中给出的方法一一尝试:把java6,7用sudo apt-get remove open***的指令删了,却很奇怪,指令执行下去是先下载了些东东,然后才似乎有remove,可是/usr/lib/jvm中还是有jdk6和7。而且每次java -version查看都还是显示 java version "1.6.0_23"。在/root/.bashcr中也配置了环境变量(不敢保证配对了,只是原文照抄指令),重启,java version还是1.6。到/usr/lib/jvm下查看,发现“lrwxrwxrwx   1 root root    23 2012-02-01 15:32 default-java -> java-6-openjdk/”,就自作聪明地“ln -s java-1.5.0-sun-1.5.0.22 default-java”。做完以上一堆动作后,再make uboot,结果成了。也不知道到底是那个动作把java版本改回来了。

生成的uImage,uboot,MLO,boot.scr 分别在
~/TI_Android_Froyo_DevKit-V2.2/Sources/x-loader-03.00.02.07/MLO
~/TI_Android_Froyo_DevKit-V2.2/Sources/u-boot/u-boot.bin
~/TI_Android_Froyo_DevKit-V2.2/Sources/Android_Linux_Kernel_2_6_32/arch/arm/boot/uImage
~/TI_Android_Froyo_DevKit-V2.2/Tools/mk-bootscr/boot.scr
~/TI_Android_Froyo_DevKit-V2.2/Prebuilt_Images/beagleboard-xm/Filesystem/rootfs_beagleboard-xm.tar.bz2
~/TI_Android_Froyo_DevKit-V2.2/Prebuilt_Images/beagleboard-xm/Media_Clips
在“air@air-Rev-1-0:~/TI_Android_Froyo_DevKit-V2.2/Tools/mk-mmc$”下执行mkmmc- android.sh出现“bash: ./mkmmc-android.sh: /bin/bash^M: bad interpreter: No such file or directory”的错误,在“air@air-Rev-1-0:~/TI_Android_Froyo_DevKit-V2.2 /Prebuilt_Images/beagleboard-xm$”中却可执行,看来两个mkmmc-android.sh不一样,用cmp比较了一 下,发现时^M分隔符的差别,于是用dos2unix指令把Tools/中的mkmmc-android.sh转成linux指令,然后就成功执行了。

现在的问题回到上个学期遇到的问题了,用Prebuilt_Images/中的文件刷SD卡可以boot板子,可是用自己make出来的那三个文件就不行,原因还在找。

你可能感兴趣的:(2012-02-01)