Pandaboard ES编译bootloader、xloader、内核、以及安卓系统


Building bootloader and kernel

Bootloader

Startwith building the bootloader. To learn more about the bootloader process or toclarify details,
lookin here

Usethe link above for commands on how to build u-boot and MLO. Use the parametersprovided below with those commands

Onceyou have cloned a git source, you will need to switch to a branch indicatedbelow (for bootloader or kernel).

/*This command lists the various branches to switch to and the current branchon*/

gitbranch -a

/*Thiscommand switches HEAD to a particular branch*/

gitcheckout -b <some-local-branch-name-here><branch-name-mentioned-below>

 

u-boot

source:git://gitorious.org/pandaboard/u-boot.git

branch:origin/omap4_panda_es2.0

boardconfig: omap4430panda_config

 

xloader

source:git://gitorious.org/pandaboard/x-loader.git

branch:origin/omap4_panda_L24.9

boardconfig: omap4430panda_config

 

Kernel

Oncedone building the bootloader, copy u-boot.bin and mkimage to a PATH folder andbuild the kernel. (Additional details can be found at
here)

source:git://gitorious.org/pandroid/kernel-omap

branch:origin/L27.5.2_panda

boardconfig: android_4430panda_defconfig

 

Latest release

source:git://gitorious.org/pandroid/kernel-omap

branch:origin/L27.8.2_panda

boardconfig: android_panda_defconfig

 

Android filesystem

Thefilesystem that is being used on PandaBoard is the reference file system fromTI OMAP4 releases. These are referred with L27x tags. Pandroid releases arerebased almost once a month. Please refer
to the Pandroidproject page for latest update on releases.

Thebelow example shows the instructions for the Froyo release from L27.5.2. Youcan refer to the details on the release and the build instructions from
http://omappedia.org/wiki/L27.INC1.5.2_Froyo_ES2_Release_Notes


Get Reference Source

Youcan get the Android source for this release by doing:

gitclone git://git.omapzoom.org/platform/omapmanifest.git

cdomapmanifest

gitreset --hard RLS27.5.2_Froyo

exportMANIFEST=`pwd`

mkdir-p 27.5.2/mydroid; cd 27.5.2/mydroid

exportMYDROID=`pwd`

repoinit -u $MANIFEST

reposync

 

Note:The manifest for some releases also contains the Bootloader. Ignore these asthey are meant for the Blaze platform. Build them from the PandaBoard projetcin gitorious.


Add Pandroid features

Pandroidprovides a desktop like environment with the use of HDMI display and USBkeyboard and mouse. To enable mouse cursor support and some PandaBoard specificfeatures, please apply the following
patches on top of your filesystem source.

Thanksto rowboat project from where we can cherry pick these patches.

Addrowboat git tree as a remote to cherry pick the patches. The patches are to beapplied in frameworks/base.

Aftercloning (repo sync) the TI Blaze release, perform the following.

 cd frameworks/base

 git remote add rowboatgit://gitorious.org/rowboat/frameworks-base.git

 git fetch rowboat

 git branch -a

 git cherry-pick24117ce3ae32c40798d2d9bda80675814f76730d

 git cherry-pick ac82681dffdba3ad0b93ed3558365bac1dacbcd1

 git cherry-pick b0f60c6

 git cherry-pick afee303

 git cherry-pick 64d7c77

 

Building Android Filesystem(AFS)


cd$MYDROID

cp-Rfp device/ti/blaze/buildspec.mk.default buildspec.mk

 

Building AFS with Android Codecs Edit: “device/ti/blaze/BoardConfig.mk”: Uncomment “USE_CAMERA_STUB:= true” Comment “BOARD_USES_TI_CAMERA_HAL := true” Comment "HARDWARE_OMX:= true”

Note: No change inBoardConfig.mk to use TI Codecs

Onstep below use the number of cores you have available; i.e. -j4 or -j12:

makeclean (required for rebuild only) make -j4 2>&1 |tee$MYDROID/logs/android_make.out


Preparing Android binaries

ForGingerbread and onwards, the default build system generates eMMC basedbinaries, making
AndroideMMC Booting as default.

Thefollowing steps will prepare a directory, called myfs, containing all necessaryAndroid files that you must include within your SD card.

cd$YOUR_PATH

mkdirmyfs

cdmyfs

 

cp-Rfp $MYDROID/out/target/product/blaze/root/* .

cp-Rfp $MYDROID/out/target/product/blaze/system/ .

cp-Rfp $MYDROID/out/target/product/blaze/data/ .

cp-Rfp $MYDROID/device/ti/blaze/init.omap4sdp.rc init.rc

 

====Copy BT drivers and firmware ====

cp-Rfp <Path_To_Your_Kernel>/drivers/misc/ti-st/bt_drv.ko .

cp-Rfp <Path_To_Your_Kernel>/drivers/misc/ti-st/st_drv.ko .

cp-Rfp TIInit_7.2.31.bts system/etc/firmware

 

====Copy WLAN drivers and firmware ===

cp-Rfp $MYDROID/hardware/ti/wlan/wl1271/platforms/os/linux/tiwlan_drv.kosystem/etc/wifi

cp-Rfp firmware.bin system/etc/wifi

 

 

Next,modify the following file in the android file system created - tiwlan.ini filein directory system/etc/wifi.

    Change the line 193

    FROM:

       STRFRefClock = 1 # Unit: Options5'bXX000 : Bit 0,1,2 - (0: 19.2MHz; 1: 26MHz; 2: 38.4MHz  (Default); 3: 52MHz;  4: 38.4MHz XTAL) ;

     TO:

       STRFRefClock = 2 # Unit: Options5'bXX000 : Bit 0,1,2 - (0: 19.2MHz; 1: 26MHz; 2: 38.4MHz  (Default); 3: 52MHz;  4: 38.4MHz XTAL) ;

 

Onlychange the STRFRefClock value from 1 to 2. The default tiwlan.ini is preset forthe Blaze and the Pandaboard requires a different value.


Additional Changes

Onceyou have created the Android filesystem (AFS), please make the below changes.Currently, PandaBoard is using the product spec from Blaze (another OMAP4 devplatform) and hence some changes are needed.

In"init.rc" file, diable the secondary display (comment out the below 4lines)

#Enable secondary display on Blaze

 #  write/sys/devices/platform/omapdss/display1/enabled 1

 #  write/sys/devices/platform/omapdss/overlay1/enabled 0

 #  write/sys/devices/platform/omapdss/overlay1/manager "2lcd"

 #  write/sys/devices/platform/omapdss/overlay1/enabled 1

 

Tomount the SD card, update "vold.fstab" file in system/etc/ toindicate 'mmc1' instead of 'mmc0'

##Example of a standard sdcard mount for the emulator / Dream

#Mounts the first usable partition of the specified device

 Change

 dev_mount sdcard /mnt/sdcard auto/devices/platform/mmci-omap-hs.0/mmc_host/mmc1

 To

 dev_mount sdcard /mnt/sdcard auto/devices/platform/mmci-omap-hs.0/mmc_host/mmc0

 

Note:Media clips are copied in the 1st partition (boot) for them to be detected byGallery app. If your SD card is not getting mounted, you could try through"Media Scanner" app.


A minimal FileSystem

Youcould also try the following minimal filesystem.

wgethttp://www.elinux.org/images/b/bd/Minimal-rootfs.tar.gz

addinit=/linuxrc to the bootargs

时间: 2025-01-01 15:21:22

Pandaboard ES编译bootloader、xloader、内核、以及安卓系统的相关文章

编译android3.4内核源码编译错误

问题描述 编译android3.4内核源码编译错误 drivers/built-in.o: In function trace_mmc_blk_rw_end':/home/cy/android/kernel/common/include/trace/events/mmc.h:82: undefined reference to__tracepoint_mmc_blk_rw_end'drivers/built-in.o: In function mmc_do_erase':/home/cy/and

shell-我要如何单独编译这个linux-sunxi内核的驱动模块

问题描述 我要如何单独编译这个linux-sunxi内核的驱动模块 编译后它说找不到那个文件 但是这个源码是它本身自带的led驱动 它原生得makefile是把全部内核编译在一起的 我只是改了makefile就变成这样了 我要怎么做才能单独的调试它啊 我必须要在这个文件夹下 因为我的板子烧得就是这个内核的 这是我修改的makefile obj-m := leds-sunxi.o #要生成的模块名 modules-objs:= leds-sunxi.o #生成这个模块名所需要的目标文件 KDIR

bootloader和kernel配合启动过程/编译bootloader/编译kernel

bootloader和kernel配合启动过程 --------------------------------------------         ARM9的板子有norflash芯片,存储基本的bootlader代码,此处为cpu执行代码的0地址.cpu内部的4kRam空间充当此时的栈和数据段存储.因为是三星公司自己做的芯片,故硬件上面可以实现将nandflash前4K的代码自动拷贝到iRam中(实现方式没有公开,只要能够理解工作方式即可).只需要将bootloader的后续代码放到内存

linux如何编译安装新内核支持NTFS文件系统(以redhat7.2x64为例)_Linux

内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核. 本文将以kernel 4.7.2版本为实验,操作平台为RedHat 7.2,将通过以下三个方面来说明内核及模块的编译. 源码编译Linux内核 使用Linux内核模块

在android系统上写C语言程序--开机启动该程序不进入安卓系统

     今天要写的这篇博文意义重大,也是网上很少有的,这是在我工作中学会的一项技术,当然,它也是由简单的问题组合而来的.如何在安卓中写C语言程序,调试安卓驱动,测试程序的的一项重要技能,下面我就不说废话了,直接说实用的,怎么用这个东西.      关于这个问题,相信很多学Android的都会去关注这个问题,大家普遍会有个这样的疑问:安卓是怎么跑起来的?     最简单的说法,安卓系统是这样加载的:     Bootloader------Kernel(对应平台版本的Linux内核)------

cjff-怎样在安卓系统上自己编一个APP应用

问题描述 怎样在安卓系统上自己编一个APP应用 求大神指教.!!,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!需要哪些准备工作!???求解答 解决方案 有技术的自己去学Android,自己写代码,自己开发没技术的可以去网上,网上有些网站可以帮你做APP 解决方案二: 在pc上编译吧.用android studio这个软件. 解决方案三: 先配置好java环境,然后看你是选择用eclipse还是AS开发喽(建议使用AS,因为ec已经停止更新了)网站尽量去看国外的1.w

对安卓系统的功能性升级来说,安全补丁更重要!

对安卓系统的功能性升级来说,安全补丁更重要! 很多安卓手机的使用用户可能只在意固件的安卓核心版本以及相关功能性更新,但其实相对于安卓核心版本来说刻意的追求版本号其实并不需要,因为除了 Android4.4 对 64bit 位处理器的性能优化以及 Android5.0 开始的 ART 模式有显著的性能提升,其实后来的 6.0.7.0 更多的只是 API 的规范以及一些功能性更新. 其实很多 Android 的功能性更新早就被国内的各类UI或者OS实现了,对于安卓版本其实没有必要可以要求,稳定实用才

网络机与安卓系统的结合

Android是一种以Linux为基础的开放源代码操作系统,中文叫安卓系统.Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l"Isle-Adam)在1886年发表的科幻小说<未来夏娃>(L"ève future)中.他将外表像人的机器(机器人)起名为Android. 安卓系统以突出的开放性著称,是当前最流行的操作系统,2012年7月数据,安卓系统占据全球智能操作系统市场59%的份额,中国市场占有率为76.7%.艾媒咨询的一份最新调查数

优酷推出国内首款专为安卓系统订制的视频App

3月15日,视频网站优酷推出了针对安卓操作系统的的最新版优酷App.此次发布的安卓版优酷App是国内首款专为安卓操作系统订制的视频客户端,不仅按照谷歌规范进行了全新的UI设计,并依据安卓手机用户的使用习惯,在操作性和交互性方面优化产品设计及内核,注重满足移动用户的个性化需求,并在操控性方面延续了安卓用户的特别习惯. 优酷一直以来都专注研究用户观看视频的行为习惯及特性,全面考量安卓手机用户在从PC端转移到移动端时的需求.2012年是移动互联网高速发展的一年,手机视频首当其冲成为了最受欢迎的移动应用