您的位置:首页 > 其它

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

2013-07-22 16:29 513 查看


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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: