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
Pandaboard ES编译bootloader、xloader、内核、以及安卓系统的更多相关文章
- 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
原文 http://blog.csdn.net/zhaoxy_thu/article/details/18883015 本文主要对从 ...
- 超详细分析Bootloader到内核的启动流程(万字长文)
@ 目录 Bootloader启动流程分析 Bootloader第一阶段的功能 硬件设备初始化 为加载 Bootloader的第二阶段代码准备RAM空间(初始化内存空间) 复制 Bootloader的 ...
- Linux课程实践二:编译模块实现内核数据操控
一.内核模块原理 1. Linux内核增加功能 Linux内核整体结构很庞大,包含了很多的组件,现在有两种方法将需要的功能包含进内核当中: - 静态加载:将所有的功能都编译进Linux内核. - 动态 ...
- linux如何编译安装新内核支持NTFS文件系统?(以redhat7.2x64为例)
内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核 ...
- 使用uboot的tftp下载bootloader、内核、文件系统
开发板 jz2440 下载uboot.bin tftp 0x30000000 u-boot.bin nand erase bootloader nand write bootloader 下载内核 t ...
- 【转】如何下载并编译Android4.0内核源码goldfish(图文)
原文网址:http://blog.csdn.net/flydream0/article/details/7070392 关于如何下载Android4.0源码,请查看我的博客内另一篇文章(同样是图文教程 ...
- linux内核系列(一)编译安装Linux内核 2.6.18
1.配置环境 操作系统:CentOS 5.2 下载linux-2.6.18版本的内核,网址:http://www.kernel.org 说明:该编译文档适合2.6.18以上的Linux内核版本,只需所 ...
- 编译Android4.3内核源代码
--------------------------------------------------------------------------------------------------- ...
- 【转】6.4.6 将驱动编译进Linux内核进行测试
原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...
随机推荐
- MySQL权限详解
MySQL权限级别介绍 MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上 ...
- 02-Go语言数据类型与变量
Go基本类型 布尔型: bool - 长度: 1字节 - 取值范围: true,false - 注意事项: 不可以用数字代表true或false 整型: int/uint - 根据运行平台可能为32或 ...
- C语言深度剖析-笔记
关键字: C语言关键字32个: 关键字 意 义 auto 声明自动变 ...
- 洛谷 [P1024]一元三次方程求解
一道水题然而坑点很多. #include <iostream> #include <cstdio> #include <algorithm> #include &l ...
- 3167: [Heoi2013]Sao [树形DP]
3167: [Heoi2013]Sao 题意: n个点的"有向"树,求拓扑排序方案数 Welcome to Sword Art Online!!! 一开始想错了...没有考虑一个点 ...
- POJ 3348 Cows [凸包 面积]
Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9022 Accepted: 3992 Description ...
- 2018/2/14 设计模式学习笔记(一) 自己实现ArrayList,LinkedList和Iterator,以及在此过程中对于面向对象,面向接口,还有抽象类的一些思考感悟
因为本人目前为止学习编程不过七个月,所以后面的感悟对于一些大神来说可能嗤之以鼻,但对于一些刚刚入门的萌新来说在理解面向对象的思想上,以及抽象类和接口应该怎么设计等方面应该还是会有所帮助的 首先我们定义 ...
- CentOS下安装go语言编译环境
1.下载Go语言的安装包 这里给大家一个百度的分享连接http://pan.baidu.com/s/1qY3xPaG下载到CentOS的系统之中 $ tar -xzf go1.5.2.linux-xx ...
- Linux双网卡搭建NAT服务器之网络应用
一:拓扑.网络结构介绍 Eth1 外网卡的IP 地址, GW和DNS 按照提供商提供配置.配置如下: IP:114.242.25.18 NETMASK:255.255.255.0 GW:114.242 ...
- nginx的负载均衡集群测试
分别在3台机子安装nginx和启动nginx服务. dir: 192.168.0.7 另外2台服务器为 192.168.0.5 ,192.168.0.6 在dir 192.168.0.7 上增加配置 ...