修改安卓内核,加入自己的一段代码

我想修改一下安卓的Linux内核,在内核启动时加入一个我自己的操作,我该把自己的函数加在哪里呢?Linux内核似乎时从start kernel函数开始启动,我是应该把代码加在这里面吗?
有没有做过类似工作的哥们,求指导一下啊,谢谢!

0

2个回答

代码加在 start kernel函数里应该是可以的,但是不建议加在这个地方。
建议是等系统完成的基本的初始化后,再加入。具体要看你的代码是什么功能,与系统有什么关系。

1
download0322
download0322 我是想在内核启动之后(安卓系统启动之前)计算一下安卓system分区的哈希值,加在哪里比较合适呢?
3 年多之前 回复
download0322
download0322 我是想在内核启动之后(安卓系统启动之前)计算一下安卓system分区的哈希值,加在哪里比较合适呢?
3 年多之前 回复
download0322
download0322 我是想在内核启动之后(安卓系统启动之前)计算一下安卓system分区的哈希值,加在哪里比较合适呢?
3 年多之前 回复

Android 系统的启动时序:
== Linux启动 ==
=== 开机过电,复位器件 ===
=== 执行Bootloader程序 ===
arm中是uboot或者fastboot
如果在fastboot的运行过程中没有按下特别的按键,执行第一个应用程序(即Linux Kernel),从NAND Flash中读取
=== 初始化Linux Kernel ===
=== 读取init.rc文件 ===
位于设备根目录下
== Android启动 ==
=== 启动初始化进程init ===

可以在== Android启动 ==之前完成你想要的。

0
download0322
download0322 好的,谢谢!
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在Linux内核添加自己的代码
首先进入到linux内核目录  /kernel/drivers/下,创建一个目录my6818 创建两个文件 test.c  和Makefiletest.c#include <linux/init.h>#include <linux/module.h>#include <linux/sched.h>//__init段 内核启动过程中要调用static __init...
Linux内核中如何增加自己的驱动代码
Linux内核中如何增加自己的驱动代码?本文给出了详细的步骤。其实本质上就是修改kconfig和makefile两个文件。 先熟悉下kconfig的语法 1.menumenuname   2.configuremyconfigurename   3.boolconfigurenametoshow   4.dependsonanotherconfigurename   5.defaulty
安卓篇--模拟器加载自己编译的内核
1. 下载Android 模拟器所用的内核源码, 代号为goldfish   2. 下载arm-Linux交叉工具链 3. 编译内核文件 4. 让android模拟器运行在刚编译的内核上 5. 编译自己的hello内核模块 6 将hello.ko载入到内核中 1. 下载android 模拟器所用的内核源码, 代号为gold
修改Android手机内核,绕过反调试
0x1.手机设备环境 Model number: Nexus 5 OS Version: Android 4.4.4 KTU84P Kernel Version: 3.4.0-gd59db4e 0x2.Android内核提取 查找Android设备的boot分区文件。高通芯片的设备可以通过下面的命令进行查找。 cd /home/androidcode/AndroidDevlop
忙里偷闲 教你如何通过修改android内核实现root
改教程主要是针对安卓5.0以上版本的root,root方式为破解boot.img内核文件。 所需工具:1.booting.exe   访问密码 b34a   2.notepad++ 你需要获取boot.img文件,这个文件通常包含在厂商提供的线刷包中,然后将boot.img和booting.exe文件放在同一个文件夹中,我们假设放在D:\boot文件夹中 打开cmd,并进入D:\
教大家修改Android手机的内核版本信息
修改源码路径:kernel/scripts/mkcompile_h #!/bin/sh TARGET=$1 ARCH=$2 SMP=$3 PREEMPT=$4 CC=$5 vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; } # If compile.h exists already and we don't own aut
Android源码编译及替换成自己编译的linux内核
Android源码和内核编译及替换会遇到不少问题,网上也有许多解决办法,但是很少有涉及真机的,罗老师写过Android源码编译及内核编译,但是都是虚拟机,和真机差别还是不小的,我经过了很多折磨完成后特地总结一下网络上很少提及的一些经验,与大家分享.
在Linux内核中添加自己的驱动程序
就说一下怎么添加进去吧。首先你要把驱动程序写好。我已添加 首先在drivers目录下面创建GPIO文件夹,,文件夹下面创建三个文件,分别是:gpio.c,Kconfig Makefile,三个文件。     gpio.c是你的驱动程序,Kconfig是配置菜单,也就是它会在make menuconfig之后显示出来的东西。它和makefile文件一样需要和上级目录下的Kconfig文件还有Ma
安卓源码+内核修改编译(修改内核调试标志绕过反调试)
标 题: 【分享】安卓源码+内核修改编译(修改内核调试标志绕过反调试) 作 者: koflfy 时 间: 2016-10-26,18:05:19 链 接: http://bbs.pediy.com/showthread.php?t=213481 历经两天时间,终于完整的编译完安卓操作系统源码+内核,并修改了内核的几个调试标志以达到绕过一些反调试的目的。 在此感谢同学辉哥以及群友f8的
Android系统内核编译及刷机实战
可以参考 :https://blog.csdn.net/u012417380/article/details/73353670  
修改Android设备型号和内核版本号
1.修改Android设备型号 修改点:关于设备->型号 2.修改内核版本
Linux内核的Makefile和kconfig解读,如何在内核中添加自己的代码
一、概述    在内核编译中如何将各个目录树中的文件组织起来编译是一个很重要的问题,并且要根据用户配置来编译特有的内核。为了解决这个问题,内核使用两种文 件,Makefie和Kconfig。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关 的内核配置菜单,就是我们使用命令 make menuconfig(或者xconfig)后产生的
Android内核之运行自定义内核
获取Android内核的途径有两种,一种是从设备中提取内核,可以看我另外一篇文章;另一种方式是从官网去下载内核源码,编译然后刷到手机里。这里我们讲第二种方式。
三、Android系统内核编译及刷机实战 (修改反调试标志位)
前言在 二、Android系统源码编译及刷机实战 一文中,我们成功编译了Android 4.4.4_r1源码并刷入系统了 Nexus 5 设备,下面是设置界面的信息。上面显示的内核版本信息是3.4.0-gd59db4e,内核的编译时间是Mon Mar 17 15:16:36 PDT 2014,也就是说内核之前就已经编译过了,我们编译系统源码的时候并没有编译内核源码!那么编译好的内核文件放在了哪里呢?
修改Android内核配置
源码编译完成后,如果需要修改内核配置,可参考如下方法 先配置 make menuconfig 后保存 make kernel-savedefconfig 具体定义kernel/Android.mk kernel-savedefconfig: $(TARGET_KERNEL_CONFIG)         cp $(TARGET_KERNEL_CONFIG) $(KERNEL_CO
编译Android内核 For nexus 5 以及绕过Android的反调试
前面的博客中已经记录了Nexus 5手机的Android 4.4.4 r1源码的编译基于ubuntu14.04.5,后面来学习一下Android内核源码的编译基于Nexus 5手机。 一、Android内核源码的下载 有关Android内核源码的下载信息可以参考谷歌官网的地址https://source.android.com/source/building-kernels.html#
安卓内核修改工具 bootimg_tools
安卓内核修改工具 bootimg_tools
编译Android内核模块
1前言     根据《Ubuntu14.04下载&编译Android》的方法编译好内核之后,可以进一步进行驱动开发,这个时候就要知道如何编译一个Android的内核模块。
Android每次编译kernel时间都会改变(不让它改变)
/kernel-3.18/init/Makefile line 33 include/generated/compile.h: FORCE 去掉后面的FORCE  kernel时间第一次编译就确定了,后面再编译时间不会改变
Android 开机界面及Linux内核启动界面的修改(tiny6410)
第一开机界面替换,即内核bootloader启动小企鹅界面更换   1、首先找一个自定义120*120的png图像,这里名称linux.png,但是后面的ppm名称必须是图中所示 在linux下执行下面代码将png转换为ppm: 然后将生成的ppm文件拷贝到内核logo所在目录: 替换既可   2、重新编译linux内核,# make zImage  将新的zIm
Android SDK编译 ——如何将自己源代码加入android.jar
http://blog.csdn.net/mznewfacer/article/details/8139607 在Android源码编译成功的基础上重新编译带自己API的android.jar需要进行以下几步操作。 1 添加自己源代码,在Android源码frameworks/base目录下新建一个文件夹保存代码,如tv,以包的形式命名添加的文件所在的路径,如/tv/java/androi
编译对应Android7.0的内核
前期准备:成功下载和编译Android7.0源码。linux中的fq实现(我之前的博客有),一些资源的下载要用,注意git clone一些谷歌的资源时前不要忘记配置DaiLi。e.g我的配置():export https_proxy="http://127.0.0.1:8123/"export http_proxy="http://127.0.0.1:8123/"在Android源码目录下创建内核...
如何将自己开发的内核代码加到linux源码中
对于一个开发者来说,将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤。首先确定把自己开发代码放入到内核的位置;其次,把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。下面,我们就通过一个简单的例子--test driver,来说明如何向 Linux 内核中
腾讯浏览器内核替换android原生webview
1.下载腾讯浏览器服务jar包,放进libs.下载地址http://res.imtt.qq.com/TES/tbs_sdk_thirdapp_v3.0.0.1038_43000_1485049870479.zip2.在xml文件中加入webview<com.tencent.smtt.sdk.WebView android:id="@+id/webview" android:l...
Linux内核启动中显示的logo的修改
1,配置内核,使内核启动时加载logo,在源代码的主目录下make menuconfig   Device Drivers  --->      Graphics support  ---> 选上 并 进入 Bootup logo --> 选上 Standard 224-color Linux logo
Android逆向工程之反编译注入代码(修改APK中的代码)
反编译植入代码。      其实思路很简单:     1、首先我们要反编译targetapk.apk,得到源代码对应字节码。我们知道,如果我们要植入代码到其中,必须加入字节码然后重新编译打包。     2、怎么写字节码?其实我们只要新建一个Android工程,将我们需要加入的Android代码写入,然后打包成apk,比如sourceapk.apk;接着反编译它得到Android代码对应的字节
嵌入式Linux——驱动调试:修改内核代码来定位系统僵死问题
简介:     在驱动运行时可能会碰到系统因为某些不明原因而僵死的问题。而本文主要就是介绍通过修改内核代码来将僵死的位置找出。    Linux内核:linux-2.6.22.6  所用开发板:JZ2440 V3(S3C2440A) 声明:     本文是看完韦东山老师视频后所做的课后总结。文中主要内容还是老师视频中所讲的。但有部分内容是看其他网友博客总结。 内核时钟中断:    ...
android源码修改内核配置不生效的解决办法
现象:  在Android的内核kernel_imx目录执行make munuconfig配置完内核后,在Android源码目录执行make,编译Android源码,完成后发现内核的配置又变回之前的配置了,貌似配置文件被覆盖了。 试过不使用make menuconfig来配置内核,而是直接修改arch/arm/configs下的imx6_android_defconfig,但是这样还是发现会被
怎样修改安卓bootimg内核
Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。 Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/
编译Android系统源码和内核源码
好长时间没有写blog了,之所以没有写,主要还是工作上的事,
JAVA制作火狐内核浏览器源代码
JAVA制作火狐内核浏览器源代码,很容易运行。具体使用方法请看我的博客。
petalinux调试内核
3.9 调试内核 使用GDB在QEMU仿真的支持下调试 1.启动仿真内核 petalinux-boot –qemu –kernel 2.在QEMU启动输出的前几行中,可以找到gdb 的 tcp端口号 -gdb tcp: 3.启动linux另外一个命令行窗口,进入images/linux目录 4.启动gdb调试 petalinux-util –gdb vmlinux ...
Linux内核源代码情景分析-系统调用mknod
普通文件可以用open或者create创建,FIFO文件可以用pipe创建,mknod主要用于设备文件的创建。    在内核中,mknod是由sys_mknod实现的,代码如下:asmlinkage long sys_mknod(const char * filename, int mode, dev_t dev) //比如filename为/tmp/server_socket,dev是设备号 {
Android内核开发之二:源码的版本与分支详解
我想很多初学者或许跟我一样,看完Android源码下载相关的文章以后,就开始兴致勃勃地去下载Android源码了,但是下载完了源码后,有没有像我一样产生如下几个困惑呢?(1) Android版本有哪些分支可用?每个分支的TAG是什么?(2) Android源码下载完了怎么没有看到Linux内核代码?Android源码对应Linux内核是否可以从kernel.org官网去下载?Android对标准的...
android刷机修改内核遇到的问题
android刷机修改内核可以去查看下面链接:http://blog.csdn.net/qq1084283172/article/details/54880488下面记录下在修改过程中遇到的问题: 插入自己编写代码,在回编译为zImage的时候如果出现如下错误及解决方案:1. “error: ISO C90 forbids mixed declarations and code [-Werror=...
如何移植android 源代码到自己的手机上!
帖子比较老了,但有点价值 Android带给我们的不仅仅是优秀的触控,漂亮的界面,快速的事件处理,让我们爱不释手!最重要的,它是开源的,任何android的爱好者都可以在它许可的权限范围内对android的源码做修改,移植,定制,以满足自己的需求。由此,目前非官方的第三方ROM受到了众多手机玩家以及android开发者的热爱,他们或者厌倦了原有的桌面程序,想换换口味,或者是为了优化手机处理能力,
实现Android底层驱动开发并裁剪定制Android操作系统
摘要: 本设计是实现Android底层驱动开发并裁剪定制Android操作系统。其大概流程是在linux系统上借助于gcc编译器编写调试驱动代码,在Android源码中编写APP应用程序、中间件的共享库代码、Android.mk文件、利用javah工具生成头文件,并实现对底层驱动的调用,在这里只实现led的点亮与熄灭,其目的是更注重理解整个Android底层驱动开发的过程,达到举一反多的效果。在官网上下载Android5.0源码,并进行代码的删减和增加,在整个Android系统中加入自己的东西,配置好And
根据客户的驱动程序生成ko档案步骤,在内核树形结构中添加自己的驱动模块
如果客户需要实现某一个功能,自己写驱动程序,他们希望能单独编译他们的驱动程序,然后动态的insmod 和 rmmod,插入内核和从内核卸掉掉对应的ko档。 步骤如下(拿hello_world_ko举例): 1、    先把我们的release.tgz解压开,然后在sys build目录下面,保证build过一次,这样会在内核根目录下面生成相关的配置文件.config 文件,其实内核该导入哪些配...
如何添加内核驱动修改makefile
参考《linux设备驱动开发详解》 在./drivers目录下新增为ARM体系结构编写test驱动程序,树形结构为: |-- test |-- cpu | `-- cpu.c |-- test.c |-- test_client.c   |-- test_ioctl.c   |-- test_proc.c `-- test_queue.c 1、修改需要使用test驱动的目录
【教程】安卓系统自己定制+修改 人人都是ROM作者(小白教程)
本帖最后由 三星电子 于 2013-11-20 09:15 编辑 想必论坛好多人都会自己做ROM或者自己diy&定制三星官方的ROM再封装后刷机吧,引用一句话“难者不会,会者不难”只要自己会了,也就觉得简单了许多。会的大神请勿黑,主要对小白!今天给大家开这个帖让大家了解一下以卡刷刷机包为准怎么定制第三方ROM,先从第一步起。 我们先了解一下互联网上最普遍的ROM 图为本人自己还未
文章热词 机器学习 机器学习课程 机器学习教程 深度学习视频教程 深度学习学习
相关热词 bootstrap中加入自己的图标 c#编写一段代码 c#修改ie内核版本 算术编码器内核 安卓python开发教程