使用devkit8000移植android 21.docx
《使用devkit8000移植android 21.docx》由会员分享,可在线阅读,更多相关《使用devkit8000移植android 21.docx(9页珍藏版)》请在冰豆网上搜索。
![使用devkit8000移植android 21.docx](https://file1.bdocx.com/fileroot1/2023-1/5/33810656-ba67-48ca-b8da-a8857b80cb22/33810656-ba67-48ca-b8da-a8857b80cb221.gif)
使用devkit8000移植android21
(Enhancd)使用devkit8000移植android2.1Eclair
使用DevKit8000移植Android2.1Eclair详细步骤。
效果图如下。
(使用devkit8000+4.3‘’LCD样例)
(更新主题之后)
下面的步骤将告诉你如何建立你的开发环境,以及交叉编译等。
一 jdk1.5的准备
你的开发机(Ubuntu)需要安装jdk1.5,如果是其它版本比如1.6,我建议你还是使用jdk1.5版本。
1 将这两行添加到你的/etc/apt/sources.list中
debjauntymultiverse
debjaunty-updatesmultiverse
2 更新你的源并安装SunJDK1.5:
$sudoapt-getupdate
$sudoapt-getinstallsun-java5-jdk
3 为了使你的系统使用Java5,你应该做一定的选择配置
$sudoupdate-alternatives--configjava
4 选择使用java-1.5.0-sun
二 下载源码
这里仍然使用git下载,并使用repo工具来同步
1 安装git工具,如果想对git工具详细的了解,请查看[使用git建立远程仓库,让别人gitclone下来]一文。
$sudoapt-getinstallgit-core
2 安装repo工具
$curl-o~/bin/repohttp:
//android.git.kernel.org/repo
$chmoda+x~/bin/repo
3 下载源码
WhereBRANCH_NAMEis:
*beagle-eclair-forEclairversionofandroid
*beagle-donut-forDonutversion 0f android
*beagle-cupcake-forCupcakeversionofandroid
$mkdirBRANCH_NAME
$cdBRANCH_NAME
$repoinit-ugit:
//gitorious.org/0xdroid/manifest.git-bBRANCH_NAME
$reposync
三 编译你的android版本
1 将这些添加(新建)buildspec.mk文件中
$echo"TARGET_PRODUCT:
=devkit8000">buildspec.mk
$echo"INSTALL_PREBUILT_DEMO_APKS:
=true">>buildspec.mk
$make-j2
2 一旦编译成功,检查你的成果。
*out/target/product/devkit8000/root/
*out/target/product/devkit8000/system/
*out/target/product/devkit8000/system.img
3 安装uboot制作工具
$sudoapt-getinstalluboot-mkimage
4 编译内核(和你的BRANCH_NAME平级目录)
$cd..
$gitclonegit:
//gitorious.org/0xlab-kernel/kernel.git
$cdkernel
$gitcheckout-bkernel_omap3origin/omap3-2.6.32
$makeARCH=armdevkit8000_defconfig#buildfordevkit8000
5buildkernelimagealongwithkernelmodules:
$makeARCH=armCROSS_COMPILE=../beagle-eclair/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-uImage
$makeARCH=armCROSS_COMPILE=../beagle-eclair/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-modules
四 准备移植
现在你的工作基本完成!
1 准备一张SD卡,并建立格式为vfat的第一分区,大小100M。
关于如何制作请参见,本网站:
[实例解说fdisk使用方法]
2 在第一分区你需要这些文件:
(1)out/target/product/beagleboard/system.img
但需要改名为system.img->system.ubi
(2)arch/arm/boot/uImage
同样需要改名 uImage->kernel.bin
(3)建立install.conf文件,并添加如下内容
[installer]
KERNEL_IMAGE =kernel.bin
ROOTFS_IMAGE =system.img
#Uncommentthefollowingtoreflashthebootloader
#U_BOOT_IMAGE =flash-uboot.bin
#UncommentthefollowingtoinstalltoSDcard
#INSTALL_TO_SD=y
#Uncommentthefollowingtograbimagesfromnetwork
#NET_INSTALL=y
#IPADDRESS=192.168.0.202
#REMOTE_KERNEL_IMAGE=http:
//192.168.0.201/0xkernel-beagle.bin
#REMOTE_ROOTFS_IMAGE=http:
//192.168.0.201/android-beagle.ubi
#DEBUG=y
[beagleboard]
DEFAULT_DISPLAY=dvi
DEFAULT_VIDEOMODE=dvi:
1024x768MR-24@60
[devkit8000]
#7inch
DEFAULT_DISPLAY=lcd
DEFAULT_VIDEOMODE=lcd:
800x480
#4.3inch
#DEFAULT_DISPLAY=lcd
#DEFAULT_VIDEOMODE=lcd:
480x272
#OPTION_ARGS=omapfb.rotate=1
(4)一个UBOOT
(5)还有一个能更新图像的uImage
说明:
关于第4.5这两个必需品,我暂时不在该页面提供下载地址,如有需要,请跟贴联系【www.ourunix.org】站长会尽快回复你的^o^
五 适配和移植
1 第四步所有材料都有有了,请按照下面步骤测试,你肯定被编译的时候已经搞的精疲力尽了,呵呵,下面是犒劳自己的时候了。
2 刚才让你添加的install.conf,你需要取消注释U_BOOT_IMAGE这一行;并且选择你的显示器尺寸,简单的英文应该可以看懂吧!
3 将你的SD卡取下并插入到你的DEVKit8000中去,并重新启动。
4 打开你的超级终端(minicom)或者其它;
跟着这些代码走:
mmcinit
fatloadmmc080300000flash-uboot.bin
go80300000
这个时候你可以看到你的DevKit8000的显示器有一个安装图形工具的进步条了,不要急,你快要成功了哦。
等进度条完成
boot
片刻之后,根据你的终端显示,你关掉你的板子,最后拔掉SD卡,重新启动。
当然你的东西已经完全烧到NandFlash中了。
是不是进去拉。
。
。
GoodLuck!
Precondition:
SunJDK
YouwouldneedSunJDKversion1.5tobuildDonut.However,SunJDKversion1.5isknowntobeEOL(End-Of-Line),andUbuntuLinux9.10nolongershipswithsun-java5-jdk.
IfyouareusingUbuntuLinux9.10,justaddthesetwolineinfile/etc/apt/sources.list:
debkarmic-updatesmultiverse
deb-srckarmic-updatesmultiverse
andinstallSunJDK1.5:
$sudoapt-getupdate
$sudoapt-getinstallsun-java5-jdk
TosetthesystemtouseJava5,youneedtoupdateyourjavaalternativesbyrunning
$sudoupdate-alternatives--configjava
Choosejava-1.5.0-sunanditshouldbedone.
Precondition:
gitandrepo
Beforeyoudownloadthesource,youwillneed git and repo tools.
OnanUbuntu9.04host,youcandothefollowing:
Gettinggit:
$sudoapt-getinstallgit-core
Gettingrepo:
(makesure~/binisincludedin$PATH)
$curlhttps:
//dl->~/bin/repo
$chmoda+x~/bin/repo
ForreferencedetailsaboutRepo,see UsingRepoandGit.
Get0xdroidsource
Downloadthe0xdroidsourcecode:
$mkdirbeagle-donut
$cdbeagle-donut
$repoinit-ugit:
//gitorious.org/0xdroid/manifest.git-bBRANCH_NAME
$reposync
WhereBRANCH_NAMEis:
∙beagle-eclair-forEclairversionof0xdroid
∙beagle-donut-forDonutversion0f0xdroid
∙beagle-cupcake-forCupcakeversionof0xdroid
Alternatively,usefastergitmirrorifencounteringtheproblemduring'reposync':
$repoinit-ugit:
//gitorious.org/0xdroid/manifest.git-bBRANCH_NAME-mmirror.xml
$reposync
Build0xdroidfromsource
Setupbeagleboardspecificconfigurationsandenabledcomponents:
$echo"TARGET_PRODUCT:
=beagleboard">buildspec.mk
$echo"INSTALL_PREBUILT_DEMO_APKS:
=true">>buildspec.mk
NOTE:
IfyouwanttobuildDevKit8000insteadofBeagleboard,replacethecontext"TARGET_PRODUCT:
=beagleboard"to"TARGET_PRODUCT:
=devkit8000".
Buildasexpected:
$make
Oncesuccessfullybuilt,thegeneratedrootfilesystemishere:
∙out/target/product/beagleboard/root/
∙out/target/product/beagleboard/system/
Andthecorresponding UBIFS systemimageforNANDflash:
∙out/target/product/beagleboard/system.img
Foradvancedusage,fetchandbuildLinuxkernelfromscratch.Youneeduboot-mkimageinstalledinhostmachine:
#apt-getinstalluboot-mkimage
Theinstructionsforbuildingkernelimage:
$cd..
$gitclonegit:
//gitorious.org/0xlab-kernel/kernel.git
$cdkernel
$gitcheckout-bkernel_omap3origin/omap3-2.6.32
Selectproperdefaultkernelconfigurationtomatchthemachine.Beagleboard:
$makeARCH=armomap3_beagle_defconfig
orDevKit8000:
$makeARCH=armdevkit8000_defconfig#buildfordevkit8000
Finally,buildkernelimagealongwithkernelmodules:
$makeARCH=armCROSS_COMPILE=../beagle-eclair/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-uImage
$makeARCH=armCROSS_COMPILE=../beagle-eclair/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-modules
Flashimagestotarget
Afterthislongbuildingprocess,weshouldgetourownAndroidkernelandsystemimages.Thenwecanuse happyInstaller andthendoaSDcardbooting.Herearethestepsasbelow:
∙Formatthefirstpartitionoverthan100MBwithVFATonaSDcard.
∙Downloadtheinstaller uImage.bin
∙Renameout/target/product/beagleboard/system.imgtoandroid-beagle.ubi
∙Renamearch/arm/boot/uImageto0xkernel-beagle.bin
∙CopyabovethreefilesintothefirstpartitionofSD/MMCcard
∙PlugtheSDcardinBeagleboardSDslotandrestarttheBeagleboard
∙WaitforUIinstallerover.TheinstallerwouldperformNANDflashingandu-bootenvironmentsetup.
∙UnplugSDcardfromtheBeagleboardandreboot
∙Enjoy!