android 内核开发环境的搭建及编译
来源:互联网 发布:淘宝每日领红包 编辑:程序博客网 时间:2024/05/21 09:20
android 内核开发环境的搭建及编译
一、什么是Android?
Android作为Google公司推出的一款手机开发平台,其本身是基于linux内核
的。Google提供的内核源代码中除了linux部分外,有很大一部分是与虚拟处理器
Qemu和模拟硬件平台Goldfish(模拟ARM平台)相关的。所以如果想将Android移
植到实际的硬件平台上需要将这部分代码剥离出来。
二、搭建开发环境
2.1 在 Vmware 中的安装和设置 Ubuntu Server 8.10
本文选择在 Win XP下的 Vmware中安装 Ubuntu Server 8.10作为编译开发服
务器。
安装:略。
设置:
1.为网卡配置静态 IP地址
虚拟机和 XP连接用的虚拟网卡设置 IP,gateway和 DNS都为 192.168.0.1。
在 Vmware 虚拟机中执行:
sudo vi /etc/network/interfaces加入:
auto eth0
iface eth0 inet static
address 192.168.0.2
gateway 192.168.0.1
netmask 255.255.255.0
2.配置 DNS
sudo vi /etc/resolv.conf
nameserver 192.168.0.1
3.安装开发工具 sudo apt-get install build-essential vim libncurses-dev lrzsz
4.清理系统
sudo apt-get clean
2.2 建立 Android 内核开发环境
1、工作环境及所需软件包
1)系统环境:Ubuntu 8.10 server
2)交叉编译器:GNU Toolchain for ARM Processors
(http://www.codesourcery.com/gnu_toolchains/arm/download.html)
本文用:arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
3)Android 内核源代码:linux-2.6.23-android-m5-rc14.tar.gz
(http://code.google.com/p/android/downloads/list)本文用:
linux-2.6.25-android-1.0_r1.tar.gz
4)Android SDK
(http://code.google.com/android/download_list.html)
SDK中带有 Android Emulator 仿真器等工具,本文用:
android-sdk-linux_x86-1.0_r2.zip
2、搭建交叉编译环境
安装好系统后,把下载的Android kernel,交叉编译器和 Android SDK都放在
/home/xxx 目录,xxx是安装系统时的普通用户的用户名。
1)安装交叉编译器
$cd ~
$mkdir tools
$cp arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 tools
$cd tools
$tar jxvf arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
2)解压 Android SDK
$cp ~/android-sdk-linux_x86-1.0_r2.zip ~/tools
$cd ~/tools/
$unzip android-sdk-linux_x86-1.0_r2.zip
3)解压缩内核源代码
$mkdir sources
$cp linux-2.6.25-android-1.0_r1.tar.gz sources
$cd sources
$tar zxvf linux-2.6.25-android-1.0_r1.tar.gz
$mv kernel.git linux-2.6.25-android-1.0_r1
三、编译和运行 Android Kernel
1) 获取Android官方的默认内核配置文件.config
这个.config文件可以从 SDK中得到。启动 android模拟器,然后用 adb从模
拟器中提出内核配置文件:
$~/tools/android-sdk-linux_x86-1.0_r2/tools/emulator &
$adb pull /proc/config.gz ~/
$mv ~/ ~/sources/linux-2.6.25-android-1.0_r1
$cd ~/sources/linux-2.6.25-android-1.0_r1
$ gunzip config.gz
$ mv config .config
2)编译
$~/mk-kernel.sh sources/linux-2.6.25-android-1.0_r1/
其中 mk-kernel.sh脚本如下:
#!/bin/sh #Simple script for Android Kernel compiling.
#By Neil Chiao, Mar.14,2009
export PATH=$PATH:/home/neil/tools/arm-2008q3/bin
export CROSS_COMPILE=arm-none-eabi-
cd $1||exit 1
make menuconfig
make
3)运行该镜像
$cd ~/tools/android-sdk-linux_x86-1.0_r2/tools/
$./emulator -kernel ~/sources/linux-2.6.25-android-1.0_r1/arch/arm/boot/zImage
一、什么是Android?
Android作为Google公司推出的一款手机开发平台,其本身是基于linux内核
的。Google提供的内核源代码中除了linux部分外,有很大一部分是与虚拟处理器
Qemu和模拟硬件平台Goldfish(模拟ARM平台)相关的。所以如果想将Android移
植到实际的硬件平台上需要将这部分代码剥离出来。
二、搭建开发环境
2.1 在 Vmware 中的安装和设置 Ubuntu Server 8.10
本文选择在 Win XP下的 Vmware中安装 Ubuntu Server 8.10作为编译开发服
务器。
安装:略。
设置:
1.为网卡配置静态 IP地址
虚拟机和 XP连接用的虚拟网卡设置 IP,gateway和 DNS都为 192.168.0.1。
在 Vmware 虚拟机中执行:
sudo vi /etc/network/interfaces加入:
auto eth0
iface eth0 inet static
address 192.168.0.2
gateway 192.168.0.1
netmask 255.255.255.0
2.配置 DNS
sudo vi /etc/resolv.conf
nameserver 192.168.0.1
3.安装开发工具 sudo apt-get install build-essential vim libncurses-dev lrzsz
4.清理系统
sudo apt-get clean
2.2 建立 Android 内核开发环境
1、工作环境及所需软件包
1)系统环境:Ubuntu 8.10 server
2)交叉编译器:GNU Toolchain for ARM Processors
(http://www.codesourcery.com/gnu_toolchains/arm/download.html)
本文用:arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
3)Android 内核源代码:linux-2.6.23-android-m5-rc14.tar.gz
(http://code.google.com/p/android/downloads/list)本文用:
linux-2.6.25-android-1.0_r1.tar.gz
4)Android SDK
(http://code.google.com/android/download_list.html)
SDK中带有 Android Emulator 仿真器等工具,本文用:
android-sdk-linux_x86-1.0_r2.zip
2、搭建交叉编译环境
安装好系统后,把下载的Android kernel,交叉编译器和 Android SDK都放在
/home/xxx 目录,xxx是安装系统时的普通用户的用户名。
1)安装交叉编译器
$cd ~
$mkdir tools
$cp arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 tools
$cd tools
$tar jxvf arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
2)解压 Android SDK
$cp ~/android-sdk-linux_x86-1.0_r2.zip ~/tools
$cd ~/tools/
$unzip android-sdk-linux_x86-1.0_r2.zip
3)解压缩内核源代码
$mkdir sources
$cp linux-2.6.25-android-1.0_r1.tar.gz sources
$cd sources
$tar zxvf linux-2.6.25-android-1.0_r1.tar.gz
$mv kernel.git linux-2.6.25-android-1.0_r1
三、编译和运行 Android Kernel
1) 获取Android官方的默认内核配置文件.config
这个.config文件可以从 SDK中得到。启动 android模拟器,然后用 adb从模
拟器中提出内核配置文件:
$~/tools/android-sdk-linux_x86-1.0_r2/tools/emulator &
$adb pull /proc/config.gz ~/
$mv ~/ ~/sources/linux-2.6.25-android-1.0_r1
$cd ~/sources/linux-2.6.25-android-1.0_r1
$ gunzip config.gz
$ mv config .config
2)编译
$~/mk-kernel.sh sources/linux-2.6.25-android-1.0_r1/
其中 mk-kernel.sh脚本如下:
#!/bin/sh #Simple script for Android Kernel compiling.
#By Neil Chiao, Mar.14,2009
export PATH=$PATH:/home/neil/tools/arm-2008q3/bin
export CROSS_COMPILE=arm-none-eabi-
cd $1||exit 1
make menuconfig
make
3)运行该镜像
$cd ~/tools/android-sdk-linux_x86-1.0_r2/tools/
$./emulator -kernel ~/sources/linux-2.6.25-android-1.0_r1/arch/arm/boot/zImage
- android 内核开发环境的搭建及编译
- Android内核开发环境搭建
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- Android简介及开发环境的搭建
- Android开发环境的搭建及HelloWorld
- Android开发环境的搭建及HelloWorld
- Android开发环境的搭建及HelloWorld
- android NDK开发最方便的环境搭建及编译方法
- 全志A33开发板的android环境搭建及编译、打包
- Android环境搭建、开发、环境编译等相关内容的获取
- QTE QT 开发环境的搭建 及 编译
- 基于Android内核的应用开发环境搭建
- 从头搭建imx6ull开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- Spark编译及spark开发环境搭建
- java 及 android环境变量的配置及开发环境搭建
- 完整的android开发环境搭建和源代码编译过程
- 我的html,css,js积累
- 用JFreeChart实现指南针
- ARM7---外部中断---实现计数
- Android成长之路-手势识别的实现
- 对编程的一些认识
- android 内核开发环境的搭建及编译
- 异常处理——python
- Android 内核驱动——电源管理
- ubuntu入门
- Could not load file or assembly 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyTok
- sqlserver函数大全
- 收集牛人
- 数据在SQLLDR的时候提示错误,在逻辑记录结束之前未找到列(使用 TRAILING NULLCOLS)
- mysql 10061