移植TOMOYO的步骤

kernel目录下的security/tomoyo内容copy来


system/tomoyo内容copy来


添加内核编译选项,首先找到编译内核的文件
具体位置查找方法:device目录下,BoardConfig.mk文件中有两行:
  Define  kernel  config  for  inline  building
TARGET_KERNEL_CONFIG  :=  cyanogenmod_hammerhead_defconfig   A文件    
TARGET_KERNEL_SOURCE  :=  kernel/lge/hammerhead     B文件
locate A文件,它就是编译内核的文件,通常在kernel目录下的arch/arm/configs/下
在该文件中添加以下内容:
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/init"
CONFIG_DEFAULT_SECURITY_TOMOYO=y
CONFIG_DEFAULT_SECURITY="tomoyo"
同时确保
CONFIG_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_NET=y 
#CONFIG_SECURITY_SELINUX is not set
#CONFIG_DEFAULT_SECURITY_SELINUX is not set


vender/cm/config/common.mk 里添加一段
  rsync ----这一行定位用的
PRODUCT_PACKAGES  +=  \
        tomoyo-init  \
        tomoyo-conf  \
        macd  \
        mac  \
        tomoyo-editpolicy-agent  \
        rsync 


system/core/rootdir/init.rc 里添加macd的相关内容,不过暂时macd还没用上呢
  service  macd  /system/bin/macd
  class  core
  socket  macd  stream  0660  root  system 


这样,tomoyo应该移植完成了,编译一下
如果完成后手机里出现/security/目录,里面有策略文件
/sys/kernel/security/目录下出现tomoyo目录,里面有策略文件
则tomoyo移植成功



排错方法:
检查内核编译选项是否打开:
cp A文件 B/.config
在kernel目录,该设备的目录下,make menuconfig,查看tomoyo选项是否选中,如果没有,请手动去内核编译文件查错,不要在make menuconfig的时候直接选中tomoyo,因为会出很多奇怪的编译错误。

查看内核中是否已经编译了tomoyo:
adb shell到手机上
grep -r tomoyo /proc/kallsyms
如果有结果,那么证明tomoyo已经成功编译到内核中了
这时考虑是否common.mk中有问题了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值