android平台init.rc脚本修改-[基于x210开发板]

很多时候,我们需要修改init.rc来满足不同的应用需求。这里提供两种修改方法:
一:普通修改方法
    在device/samsung/smdkv210目录下,有init.rc和init_sdmmc.rc两个文件。如果映像存放在
SD卡中,需修改init_sdmmc.rc,如果映像存放在nand中,则需修改init.rc文件。
修改完后,执行./mk -s,修改后的文件会打包到out/target/product/smdkv210/android.img.cpio
文件中。再将android.img.cpio拷贝到内核的根目录,再执行./mk -k -x,android.img.cpio
最终会被打包到xboot中,更新xboot.bin文件,init.rc也就得到修改。
    如果使用修改过的脚本mk,可以直接修改device/samsung/smdkv210目录下的文件后,执行指令
./mk -s -k -x,即可一步到位完成修改。


二:临时修改方法
   有时我们在调试时需要修改init.rc文件,如果每次都编译系统映像,会很浪费时间。我们知道,init.rc是
打包在android.img.cpio文件中的,那么,我们是否可以只改这个文件,然后将它更新到xboot中不就可以了吗?
   这里编写了一个修改脚本android_cpio.sh,内容如下:

[cpp]  view plain copy
  1. #!/bin/bash  
  2. # create: armeasy  
  3. # date:   2011-12-16  
  4. # mail:   phosphor88@163.com  
  5.   
  6. echo "Modify the android.img.cpio"  
  7. echo "1.unzip the image"  
  8. echo "2.Create the image"  
  9. echo "3.exit"  
  10.   
  11. SOURCE_DIR=$(cd `dirname $0` ; pwd)  
  12. TOOLS_DIR=${SOURCE_DIR}/tools/  
  13. TARGET_DIR=${SOURCE_DIR}/out/release/  
  14.   
  15. read -p "Choose:" CHOOSE  
  16.   
  17. if [ "1" = ${CHOOSE} ];then  
  18.     echo "unzip android.img.cpio"  
  19.     cd ${TARGET_DIR}  
  20.     [ -e "tmp" ] ||{ echo "mkdir tmp"; mkdir tmp;}  
  21.     [ -e "android.img.cpio" ] || { echo "error!can't find andaroid.img.cpio!"; exit; }  
  22.     cd tmp  
  23.     cpio -idmv --no-absolute-filenames < ../android.img.cpio  
  24.     echo "^_^ unzip android.img.cpio finished!"  
  25.     exit  
  26.   
  27. elif [ "2" = ${CHOOSE} ];then  
  28.     echo "create android.img.cpio test"  
  29.     [ -e "${TARGET_DIR}/tmp" ] || { echo "can't find [tmp],please unzip android.img.cpio first!"; exit; }  
  30.     rm -f ${TARGET_DIR}/cpio_list  
  31.     rm -f ${TARGET_DIR}/android.img.cpio  
  32.     $TOOLS_DIR/gen_initramfs_list.sh ${TARGET_DIR}/tmp > ${TARGET_DIR}/cpio_list || { exit; }  
  33.     $TOOLS_DIR/gen_init_cpio ${TARGET_DIR}/cpio_list > ${TARGET_DIR}/android.img.cpio || { exit; }  
  34.     rm -rf ${TARGET_DIR}/tmp  
  35.     echo "^_^ Create android.img.cpio finished!"  
  36.     exit  
  37. elif [ "3" = ${CHOOSE} ];then  
  38.     exit  
  39. fi  


[cpp]  view plain copy
  1.   


    将它放在android根目录,即和mk在同一个目录下,执行它,输入1时,将会解压out/release目录下的android.img.cpio 文件到
out/release/tmp目录,这时我们手动修改out/release/tmp/init.rc文件,再次运行该脚本,输入3,这时将会把解压的文件打包成
android.img.cpio文件,存放在out/release目录。

    再将android.img.cpio拷贝到内核根目录下,执行./mk -k -x更新xboot.bin,即完成了init.rc的修改。

附:脚本下载地址:

http://xboot.org/thread-347-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值