当前位置: 首页 > 工具软件 > PandaBoard > 使用案例 >

在android系统编译开源BTS,Pandaboard ES编译bootloader、xloader、内核、以及安卓系统...

墨承泽
2023-12-01

意:本文引用 里面getting started的启动内容。按需要编译自己的系统。

Building bootloader and kernel

Bootloader

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

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

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 )

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  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

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  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 /drivers/misc/ti-st/bt_drv.ko .

cp-Rfp /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.

addinit=/linuxrc to the bootargs

 类似资料: