自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 SE for Android 系列之整体概要(三)

内核LSM和SELinux的支持文章 Security Enhanced (SE) Android: Bringing Flexible MAC to Android对内核的修改情况做了很好的描述,下面主要讲一下为支持Binder IPC服务所作的变化:Linux安全模块(LSM)在binder驱动代码(drivers/staging/android/binder.c和

2014-03-30 19:56:25 1157

转载 SE for Android 系列之整体概要(二)

所支持的MAC服务MAC和MMAC功能概述:标准的SELinux MAC 策略是基于type enforcement(TE,即类型强制访问)/ multi-level security (MLS,即多级别安全机制),也可以理解为是一种白名单机制;Install MMAC策略中的package和signature标签支持通过setinfo标签,来指定应用的context(安全上下文,

2014-03-30 19:55:15 1066

转载 深入理解SELinux SEAndroid(最后部分)

http://blog.csdn.net/innost/article/details/19767621接第二部分的内容(http://blog.csdn.net/innost/article/details/19641487)SEAndroid最后一部分全文PDF下载地址为:http://vdisk.weibo.com/s/z68f8l0xZUS9w 

2014-03-29 11:00:24 1241

转载 深入理解SELinux SEAndroid(第二部分)

http://blog.csdn.net/innost/article/details/19641487接第一部分的内容(http://blog.csdn.net/innost/article/details/19299937)。今天公司年会,哥高兴,所以发布第二部。SELinux/SEAndroid一共分三部分。第一和第二部分是SELinux的基础知识,第三部分是SEAndr

2014-03-29 10:58:40 1578

原创 android OTA 升级优化之二: recovery调试方法改进

1、 google default debug方法:log存放在cache目录:/cache/recovery/last_logrecovery操作完成后,系统重启后才能从该目录使用adb pull 拉出log来。这种defaut debug方法的问题=======》研发debug不方便用户ota升级后,经常出问题,但不容易取出log2、debug改进方法一:启

2014-03-28 11:31:41 2651

转载 fts fts_open fts_read fts_children fts_set fts_close - traverse a file hierarchy

from : http://linux.about.com/library/cmd/blcmdl3_fts_open.htmFd #include sys/types.h> Fd #include sys/stat.h> Fd #include fts.h> Ft FTS * Fn fts_open char * const *path_argv int options int (

2014-03-26 10:36:42 2298

转载 SE for Android 系列之整体概要(一)

http://blog.csdn.net/l173864930/article/details/17190131引言由于目前关于SE for Android的介绍相对比较缺泛,因此本文的主要目的就是对整个SE for Android进行详细的介绍,同时可以作为相关工具、命令行、策略构建工具以为策略文件格式的使用说明书。术语先了解一下三个重要的

2014-03-22 21:59:24 1035

转载 深入理解SELinux SEAndroid(第一部分)

http://blog.csdn.net/innost/article/details/19299937按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分  祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一

2014-03-22 21:58:27 1325

转载 MTP in Android

http://blog.csdn.net/innost/article/details/8876392经作者同意,转发我们公司MTP专家同事huirong的一篇文章。大家也可在程序员第5期看到。MTP in AndroidMTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。Android从3.

2014-03-22 21:26:23 1302

原创 android OTA 升级优化之一: recovery支持分区更新

android默认的recovery是不支持分区修改的。但是,有时确实需要更新recovery 分区,特别是在android大版本升级时,system分区经常需要增大。是不是经常因为system分区不够,只好忍痛割爱,删除apk来满足已经上市的机器? ,咋办?具体实现方法,请参考下图:

2014-03-20 16:25:56 3353 1

转载 Linux 内核裁剪的自动化方法

Linux 内核裁剪的自动化方法作者: 宋立新Email:zjujoe@yahoo.com 随着广泛地获得使用并被移植到不同的平台,Linux 内核源代码正在越来越大,比如, Linux 2.6.28 中, 文件数有 25282 个,大小有350M。对于某一个平台,真正需要的的文件其实不到 10%, 为了提高研发效率,我们应当删除或者暂时删除那些永远也不

2014-03-20 16:13:38 1371

转载 Android OTA 升级之五:updater

Android OTA 升级之五:updater作者: 宋立新Email:zjujoe@yahoo.com前言       可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify. 他们各自对应一个updater. 

2014-03-20 16:04:11 916

转载 Android OTA 升级之四:进入根文件系统

Android OTA 升级之四:进入根文件系统作者: 宋立新Email:zjujoe@yahoo.com前言       从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。       下面,我们就看看进入Reco

2014-03-20 16:03:12 1299

转载 Android OTA 升级之三:生成recovery.img

Android OTA 升级之三:生成recovery.img作者: 宋立新Email:zjujoe@yahoo.com前言       得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery模式。Recovery 模式会装载 recov

2014-03-20 15:59:51 1278

转载 Android OTA 升级之二:脚本 ota_from_target_files

Android OTA 升级之二:脚本 ota_from_target_files作者: 宋立新Email:zjujoe@yahoo.com前言       前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。先看一下帮助不带任何参数,先看一下它的帮助:

2014-03-20 15:58:58 1466

转载 Android OTA 升级之一:编译升级包

Android OTA 升级之一:编译升级包作者: 宋立新Email:zjujoe@yahoo.com前言       OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。       这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。       如何执行升级就不多说了

2014-03-20 15:55:41 1253

原创 linux 同步IO: sync、fsync, O_SYNC

sync和fsync baidu一下,有大量文章说明其作用。下面举一个来自csdn的blog文章:http://blog.csdn.net/cywosp/article/details/8767327其中说明如下:sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。fsync函数只对由文件描述符filedes指定的单一文件起作

2014-03-20 15:36:45 2993

原创 android手机软件快速充电

一、普通充电流程带来的问题      普通充电分为横流和恒压两个阶段。在恒压阶段,电流逐步下降,直至到达IC设置的截止门限电流,整个充电上报结束。   截止门限电流越低,充入的电量就越多,但是充电时间越长。    通常为了让电池尽量充得饱满,截止门限电流会被设置比较低,比如:100mA左右。        问题:总的充电时间长,特别是电量在99%这个点切换到100%的过程长,大

2014-03-20 14:01:52 3705

原创 android sdcard存储方案(基于fuse文件系统):之二

基于fuse文件系统的android sdcard存储方案从上面效果对比图,我们可以发现android fuse sdcard 有如下两个优点:1、使用fuse后 /data 和  /sdcard0 是共离一块分区,这块分区的空间/data和/sdcard0 动态享用, 用户使用灵活。2、去掉了fat32文件系统,这样也免去了一个license的风险。

2014-03-13 14:12:38 17733 2

转载 FUSE内涵图

fuse-based文件系统一个请求(以getattr为例)经历的路径,

2014-03-12 16:13:12 1963

转载 FUSE队列管理浅析

分类: 服务器与存储fuse通过fuse_session_loop来启动守护程序,守护程序最终会调用fuse_dev_readv,fuse_dev_readv调用request_wait,使得进程在fc的waitq队列上睡眠。 代码片段1static ssize_t fuse_dev_readv(struct file *file, const struct iovec *

2014-03-12 16:06:10 1481

转载 FUSE调用流程分析

fuse处理请求的整个流程如下图所示,以unlink操作为例进行说明。其中“>”表示调用,”  fuse通过fuse_session_loop(或对应多线程的方法)来启动fuse守护程序,守护程序不断的从/dev/fuse上读取请求,并处理。 代码片段1int fuse_session_loop(struct fuse_session *se) //在fuse_ma

2014-03-12 16:00:09 2238

转载 fuse_operations与fuse_lowlevel_ops

分类: 服务器与存储fuse为开发者提供了两组接口,分别是fuse_lowlevel_ops以及fuse_operations,开发者只需要实现这两组接口的一种即可实现一个用户空间文件系统。 struct fuse_lowlevel_ops的成员如下所示,其中init方法在其它所有方法之前调用,用于初始化文件系统,fuse已经实现,destroy则是在文件系统被卸载时做一些清理

2014-03-12 15:51:47 2026

转载 FUSE源码剖析

FUSE源码剖析Posted by Wang Alan on 2013 年 6 月 28 日Tweet8 1. 前言       本文是对FUSE-2.9.2源码的学习总结。FUSE代码在用户空间和内核空间都有运行,为了突出重点,先简要描述了在基于FUSE的用户空间文件系统中执行write操作的一般

2014-03-11 16:46:25 2397

转载 Linux 原子操作

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。   原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。  

2014-03-11 16:30:43 1060

转载 Linux下使用daemon函数编写后台程序

在Linux中专门提供了一个函数来完成这个daemon化的过程,这个函数的原型如下int daemon (int __nochdir, int __noclose);如果__nochdir的值为0,则将切换工作目录为根目录;如果__noclose为0,则将标准输入,输出和标准错误都重定向到/dev /null。经过这个函数调用后的程序将运行在后台,成为一个daemon程

2014-03-11 11:31:52 2201

转载 Linux FUSE源代码分析

Linux FUSE源代码分析一、Fuse简要介绍FUSE(用户空间文件系统)是这样一个框架,它使得FUSE用户在用户态下编写文件系统成为可能,而不必和内核打交道。FUSE由三个部分组成,linux内核模块、FUSE库以及mount工具。用户关心的只是FUSE库和mount工具,内核模块仅仅提供kernel的接入口,给了文件系统一个框架,而文件系统本身的主要实现代码位于用户空间中。FUSE

2014-03-10 14:46:31 6414

转载 fuse : Filesystem in Userspace

//fuselib http://fuse.sourceforge.net/  ===>http://sourceforge.net/projects/fuse/files/fuse-2.X/http://code.google.com/p/fuse-zip///fuselib for androidhttp://code.google.com/p/fuse-android

2014-03-10 14:19:02 3409 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除