Android4.4编译自定义内核

1. 下载kernel源码:https://android.googlesource.com/kernel/goldfish/

下载 goldfish-android-goldfish-3.4.tar.gz(我是Android4.4的源码)

2. 在Android源码目录新建kernel文件夹

$ mkdir kernel

解压 goldfish-android-goldfish-3.4.tar.gz到kernel文件夹

3. 导出交叉编译工具目录到$PATH环境变量中去.

$ vi ~/.bashrc

输入内容: export PATH=$PATH:~/android/4.4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

4. 修改Makefile文件,找到这两行:

ARCH           ?= $(SUBARCH)

CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)

注释掉然后修改为

#ARCH           ?= $(SUBARCH)

#CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)

ARCH            ?= arm

CROSS_COMPILE   ?= arm-eabi-

5. $ make goldfish_armv7_defconfig

$ make -j8

编译好了之后会在kernel/arch/arm/boot 目录下生成zImage内核文件

6. 使用自己编译好的内核运行emulator:

[email protected]:~/android/4.4$ emulator -partition-size 1024 -kernel ./kernel/arch/arm/boot/zImage -system ./out/target/product/generic/system.img -data ./out/target/product/generic/userdata.img
-ramdisk ./out/target/product/generic/ramdisk.img

时间: 2024-10-25 20:05:20

Android4.4编译自定义内核的相关文章

自定义配置编译linux内核

1 编译linux内核原因一般情况下,我们是不需要重新去编译linux内核的,但如果你发现你需要修改内核的某个部分或者说你需要的某个模块并没有编译进内核,那里你可以通过重新编译内核来满足你的需求,比如当我们需要用bcache时,但默认bcache是没有编译进内核的,我们可以通过修改编译配置文件,将bcache编译进内核,以下的编译操作均是在Centos7.3平台上进行的演示. 2 编译前准备工作2.1 编译用户身份选择官方是强调编译linux内核是强烈不建议以root身份来进行编译的,因为这样有

Linux系统裁剪之四(自定义内核及busybox完成系统定制)

Linux系统裁剪之四(自定义内核及busybox完成系统定制) ·busybox busybox是一个二进制程序,可以模拟实现许许多多的Linux命令,busybox在编译安装完成之后会在我们系统的bin目录下生成一个名为busybox的二进制程序,其它的文件都是该二进制程序的软链接,几乎上百个命令都可以依靠这一个可执行程序来实现,还可以模拟几个shell,可以模拟实现我们Linux操作系统上bin和sbin目录下的很多命令,而且该文件所占的存储空间还非常的小,因此在一些存储设备容量非常小的环

实例:编译Linux内核3.18.25概要

前提: 将CentOS 7上3.10.0-229.el7.x86_64重新编译一个3.18.25内核 自编译安装,按照自己的硬件平台架构编译,能最适合硬件主机的性能 且按照需要编译模块,可以选择自己需要的包编译 [[email protected] tmp]# uname  -a 一.编译前准备工作 1.宿主机系统 本次编译宿主机:VMware Workstation Pro12 上的CentOS 7.0操作系统 2.开发环境(开发工具,开发库),头文件 [[email protected] y

Cygwin编译自定义OpenCV库报错:opencv_contrib: LOCAL_SRC_FILES points to a missing file

今天受命帮师弟调个OpenCV4Android 识别银行卡的程序,版本为OpenCV4Android2.4.9,使用方式为前文介绍的第一种方式,即通过jni调用opencv.如杂家前文所述,配套的NDK应使用较高版本的android-ndk-r9d.它的安装很简单,解压缩后设置环境变量到Path就ok:D:\ProgramFile\android-ndk-r9d; 但遗憾的是,同样的程序同样的配置在一台PC上通过Cygwin编译一切ok.但在新的一台电脑上却出现如下错误: Android NDK

Linux 编译安装内核

一.简介 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核. 本文将以kernel linux-2.6.32.4版本为实验介绍的内核编译与安装一般方法,这些方法适合大多数Linux系统(包括RedHat.Ubuntu.

Vs2012在Linux开发中的应用(8): 编译Linux内核

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在有了UBOOT的编译基础之后,编译Linux内核就简单多了,所不同的只有两个地方,一个是错误信息的转换,另一个是内核需要进行参数配置. 1.1    错误信息转换 UBOOT的错误信息中,文件名是不带路径的,而内核的错误信息中,文件名是带相对路径的,因此我们对转换脚本略做修改: #user code begin classCUBootMake: error=False defBuild(sel

1-18 编译安装内核支持ntfs文件系统

大纲: 源码编译Linux内核 使用Linux内核模块 实战:编译一个NTFS内核模块,实现Linux挂载NTFS文件系统并实现读写功能 =================================================================== 一.源码编译Linux内核 通常我们想对内核进行升级时,可通过下载源码包,编译内核的方式,对内核进行升级 源码包的下载地址在:www.kernel.org 我们可以直接在linux系统中直接下载,如下命令: wget http

1.3、编译自定义(自定义logo、去水印)-jwplayer-V6.8

1.3.1.编译前的准备 1.3.1.1./build/build.properties修改 需要修改的参数如下: flexsdk = D:/Program Files/Adobe/Adobe Flash Builder 4.7/sdks/4.6.0 execextension =.exe(windows环境) flexsdk.target = 11.1.0 application.majorversion = 6 application.minorversion = 8 1.3.1.2./bu

CentOS 6.5 编译升级内核

1.下载内核,官网:https://www.kernel.org/ 这里用了3.18.30的版本了,系统信息如下: 2.编译前准备 安装编译依赖 # yum grouplist  //查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: # yum groupinstall "DevelopmentTools"  //一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 # yum install ncurses-devel //你必须这样才能让