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,內容如下:

#!/bin/bash
# create: armeasy
# date:   2011-12-16
# mail:   [email protected]

echo "Modify the android.img.cpio"
echo "1.unzip the image"
echo "2.Create the image"
echo "3.exit"

SOURCE_DIR=$(cd `dirname $0` ; pwd)
TOOLS_DIR=${SOURCE_DIR}/tools/
TARGET_DIR=${SOURCE_DIR}/out/release/

read -p "Choose:" CHOOSE

if [ "1" = ${CHOOSE} ];then
	echo "unzip android.img.cpio"
	cd ${TARGET_DIR}
	[ -e "tmp" ] ||{ echo "mkdir tmp"; mkdir tmp;}
	[ -e "android.img.cpio" ] || { echo "error!can't find andaroid.img.cpio!"; exit; }
	cd tmp
	cpio -idmv --no-absolute-filenames < ../android.img.cpio
	echo "^_^ unzip android.img.cpio finished!"
	exit

elif [ "2" = ${CHOOSE} ];then
	echo "create android.img.cpio test"
	[ -e "${TARGET_DIR}/tmp" ] || { echo "can't find [tmp],please unzip android.img.cpio first!"; exit; }
	rm -f ${TARGET_DIR}/cpio_list
	rm -f ${TARGET_DIR}/android.img.cpio
	$TOOLS_DIR/gen_initramfs_list.sh ${TARGET_DIR}/tmp > ${TARGET_DIR}/cpio_list || { exit; }
	$TOOLS_DIR/gen_init_cpio ${TARGET_DIR}/cpio_list > ${TARGET_DIR}/android.img.cpio || { exit; }
	rm -rf ${TARGET_DIR}/tmp
	echo "^_^ Create android.img.cpio finished!"
	exit
elif [ "3" = ${CHOOSE} ];then
	exit
fi





    將它放在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章