【制作安卓刷机包x】---番外篇,制作system.img命令
linux中使用root用户运行mksystem.sh,即可生成system.img........
默认生成的yaffs2镜像,如果需要ext2或squashfs镜像,百度.谷歌方法。
boot.img这个想做的,百度吧
mksystem.sh 脚本命令:#!/bin/sh
####################
# 获取当前路径
####################
SCRIPT_PATH=`dirname $(readlink -f $0)`
EXTRACT_PATH=$SCRIPT_PATH/extract
####################
# 获取升级包名称
# 解压缩升级包
####################
BUILD=`ls $SCRIPT_PATH/*.zip | tail -1`
BUILD_VER=`echo $BUILD | cut -d'-' -f2 | sed 's/.zip//'`
unzip $SCRIPT_PATH/$BUILD -d $EXTRACT_PATH/
####################
# 删除不需要的文件
####################
# app
rm $EXTRACT_PATH/system/app/CMWallpapers.apk
rm $EXTRACT_PATH/system/app/Provision.apk
rm $EXTRACT_PATH/system/app/RomManager.apk
# etc
rm $EXTRACT_PATH/system/etc/init.d/05mountsd
rm $EXTRACT_PATH/system/etc/firmware/default*.acdb
# lib
rm $EXTRACT_PATH/system/lib/hw/gps.goldfish.so
rm $EXTRACT_PATH/system/lib/hw/gps.mahimahi.so
rm $EXTRACT_PATH/system/lib/hw/sensors.goldfish.so
rm $EXTRACT_PATH/system/lib/hw/lights.mahimahi.so
# tts
rm $EXTRACT_PATH/system/tts/lang_pico/de-DE_gl0_sg.bin
rm $EXTRACT_PATH/system/tts/lang_pico/de-DE_ta.bin
rm $EXTRACT_PATH/system/tts/lang_pico/en-GB_kh0_sg.bin
rm $EXTRACT_PATH/system/tts/lang_pico/en-GB_ta.bin
rm $EXTRACT_PATH/system/tts/lang_pico/es-ES_ta.bin
rm $EXTRACT_PATH/system/tts/lang_pico/es-ES_zl0_sg.bin
rm $EXTRACT_PATH/system/tts/lang_pico/fr-FR_nk0_sg.bin
rm $EXTRACT_PATH/system/tts/lang_pico/fr-FR_ta.bin
rm $EXTRACT_PATH/system/tts/lang_pico/it-IT_cm0_sg.bin
rm $EXTRACT_PATH/system/tts/lang_pico/it-IT_ta.bin
# usr
rm $EXTRACT_PATH/system/usr/keylayout/mahimahi-keypad.kl
rm $EXTRACT_PATH/system/usr/keychars/mahimahi-keypad.kcm.bin
####################
# 替换相关文件
# 修改build.prop,使其适用于本机型
####################
cp -a $SCRIPT_PATH/update/* $EXTRACT_PATH/system
mv $EXTRACT_PATH/system/lib/hw/sensors.mahimahi.so $EXTRACT_PATH/system/lib/hw/sensors.htcleo.so
# build.prop
sed -i \
-e 's/ro.product.model=Nexus One/ro.product.model=HTC HD2/' \
-e 's/ro.product.brand=google/ro.product.brand=htc_wwe/' \
-e 's/ro.product.board=mahimahi/ro.product.board=htcleo/' \
-e 's/-N1/-HD2ONE/' \
$EXTRACT_PATH/system/build.prop
####################
# 读取updater-script
# 创建符号链接
# 设置目录和文件权限
####################
# updater script
UPDATE_SCRIPT=$EXTRACT_PATH/META-INF/com/google/android/updater-script
# create symbolic links
SYMLINKS=`grep "symlink" $UPDATE_SCRIPT | cut -d'"' -f2`
for SYMLINK in $SYMLINKS; do
echo "Creating symolic links for $SYMLINK..."
if [ "$SYMLINK" = "busybox" -o "$SYMLINK" = "iwmulticall" ]; then
LINK_DIR='/system/xbin/'
elif [ "$SYMLINK" = "toolbox" ]; then
LINK_DIR='/system/bin/'
fi
MATCHES=`awk '/symlink\(\"'"$SYMLINK"'/,/\);/ {print}' $UPDATE_SCRIPT | \
sed "s/symlink(\"$SYMLINK\",//g" | \
sed 's/);//g' | \
sed 's/"//g' | \
sed 'N;s/\n//g' | \
sed 's/ //g' | \
sed 's/,/ /g' | \
sed "s@$LINK_DIR@@g"`
cd $EXTRACT_PATH$LINK_DIR
for LINK in $MATCHES; do
echo -n "Linking $SYMLINK to $LINK... "
ln -sf $SYMLINK $LINK && echo "done"
done
done
# set permissions
grep "set_perm_recursive" $UPDATE_SCRIPT | grep -v "tmp" | grep -v "recovery" | \
while read LINE; do
PERM=`echo $LINE | sed 's/set_perm_recursive(//g' | sed 's/);//g' | sed 's/"//g' | sed 's/ //g'`
USER=`echo $PERM | cut -d',' -f1`;
GROUP=`echo $PERM | cut -d',' -f2`;
DIR_PERM=`echo $PERM | cut -d',' -f3`;
FILE_PERM=`echo $PERM | cut -d',' -f4`;
TARGET=`echo $PERM | cut -d',' -f5`;
echo -n "Setting permissions for $TARGET... "
chown -R $USER:$GROUP $EXTRACT_PATH$TARGET
chmod -R $DIR_PERM $EXTRACT_PATH$TARGET
find $EXTRACT_PATH$TARGET -type f -exec chmod $FILE_PERM {} \; && echo "done"
done
grep "set_perm" $UPDATE_SCRIPT | grep -v "recursive" | grep -v "tmp" | grep -v "recovery" | \
while read LINE; do
PERM=`echo $LINE | sed 's/set_perm(//g' | sed 's/);//g' | sed 's/"//g' | sed 's/ //g'`
USER=`echo $PERM | cut -d',' -f1`;
GROUP=`echo $PERM | cut -d',' -f2`;
FILE_PERM=`echo $PERM | cut -d',' -f3`;
TARGET=`echo $PERM | cut -d',' -f4`;
echo -n "Setting permissions for $TARGET... "
chown $USER:$GROUP $EXTRACT_PATH$TARGET
chmod $FILE_PERM $EXTRACT_PATH$TARGET && echo "done"
done
####################
# 这部分可以删除
####################
chown 0:2000 $EXTRACT_PATH/system/xbin/cssync
chmod 06755 $EXTRACT_PATH/system/xbin/cssync
####################
# 创建yaffs2镜像文件
####################
rm -f $SCRIPT_PATH/system-$BUILD_VER.img
cd $EXTRACT_PATH && mkyaffs2image system $SCRIPT_PATH/system-$BUILD_VER.img
chmod 644 $SCRIPT_PATH/system-$BUILD_VER.img
这个具体包 具体 对待,,不是一层不变的 支持一下。。。 顶虽说不打算大搞手机了 不懂
纯支持 不懂的飘过~~~~~~~~
我觉得有的照猫画虎就完了嘿嘿
页:
[1]