精华 | |
金钱 | BA |
威望 | 点 |
贡献值 | 点 |
爱心 | 点 |
经验 | 点 |
注册时间 | 2009-2-22 |
最后登录 | 1970-1-1 |
在线时间 | 小时 |
| |
| |
| |
|
立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!
您需要 登录 才可以下载或查看,没有账号?注册
x
今天讲下 怎么修改CG46和CG36
CG46也就是我们的字体单刷包,,,其实呢,,大家去百度一下 v8字体单刷包 z6字体单刷包 等等关键字 就会搜出来很多,,,既然别人写了CG46的教程我就不写了
当然有个 小小问题 ,,做好CG46了,,也打包成CG46.smg了,,,我们还需要用 WinHex 修改CG36.smg,,增加效验值,,,当然相比CG43和CG52就要难点了,,使用WinHex就以后用一个教程来讲
下面说说 CG36.smg,,前面我们说了这么解开 CG36.smg ,,如果你用linux的话,,我这里有一个 linux的 squashfs.2.1版本的,放在linux里面直接安装
squashfs-tools_2.1r2-0.1_i386.rar
(52 KB, 下载次数: 191)
如果你不知道squashfs是什么的话,,就算了
先看看 CG36的全貌,,, (个人不建议菜鸟 制作CG36)
大家一看,,这个怎么像我们手机里面的根目录呢...
它本来就是我们手机的根目录
第一个文件夹 bin
这个文件夹里面全部都是命令,,什么cp mv rm sed grep 都在里面,,但是为什么没有tar gzip dirnameswapon swapoff
我们过去用tar 就要使用busybox tar 用gzip 就用 busybox dirname 用 dirname 就用busybox dirname,,很麻烦
现在我们就需要增加 tar gzip dirname swapon swapoff 命令
打开Cygwin,,进入CG36/bin文件夹,,用我的电脑为例
cd /home/Administrator/CG36/bin
cp busybox /bin
ln -s /bin/busybox tar
ln -s /bin/busyboxgzip
ln -s /bin/busyboxdirname
ln -s /bin/busyboxswapon
ln -s /bin/busyboxswapoff
ln -s /bin/busyboxmkswap
ln -s /bin/busyboxtime
ln -s /bin/busyboxfree
如果你还需要增加什么命令,,,你们要去查一下,,busybox里面有哪些,,,如果busybox里面没有的命令,,建立出来就没有作用,,大家可以用telnet连接手机,,输入 busybox 查看busybox里面有哪些命令
OK了,,,(就不截图了,,因为主要CG36是针对高手制作,,,不用整了那么傻瓜式)
第二个文件夹 usr
CG36/usr/SYSqtapp/phone/Device_Connect.wav这个是 java提示音,,可以取消了,,(把文件改名,,或者删除)
CG36/usr/SYSqtapp/am/bin/am 这个是官方主菜单,,默认没有图标的,,我们用2级菜单的am替换,,那么开机后默认就是2级主菜单
CG36/usr/bin 这个里面是很多的命令,,大家把showQ系统的所有命令复制到里面,,以后编写一些shell程序就不用 过去的那个头文件了
第三个文件夹 mmc
默认里面一个有个mmca1文件夹,,如果需要挂载第二分区,,就在里面建立几个文件夹,,比如mmca2 mmca3 mmca4 mmca5 等等
第四个文件夹 etc
第一个文件 CG36/etc/profile (bash的脚本)
官方的是这样的...
PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games\"
修改一下
PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/ezxlocal/LinXtend/bin:/ezxlocal/LinXtend/usr/bin\"
还有一个,,我们使用telnet的时候,,输入showQ,,会发现telnet中提示 QTDIR 是否设置正确??
所以我们可以在 profile中增加一行代码,,设置一下 QTDIR
if [ -f /etc/initservices/ezx_flexbit/ezxenv.sh ] ; then
. /etc/initservices/ezx_flexbit/ezxenv.sh
fi
OK了 ,,这个/etc/initservices/ezx_flexbit/ezxenv.sh就是专门来设置QTDIR的
第二个文件 CG36/etc/fstab
这个文件是用来 开机挂载分区的,,,打开看一下
/dev/mtdblock/user /ezxlocal jffs2 noatime,sync,noexec,nodev,nosuid 0 0
/dev/mtdblock/setup /usr/setup squashfs ro,noexec 0 0
/dev/mtdblock/secure /usr/securesetup squashfs ro,noexec 0 0
/dev/mtdblock/pds /etc/pds yaffs noatime,sync,shred,noexec,nodev,nosuid 0 0
/dev/mtdblock/resrc /usr/data_resource squashfs ro,noexec 0 0
/dev/mtdblock/lang /usr/language squashfs ro 0 0
/dev/mtdblock/mass_storage /mnt/msc_int0 yaffs noatime,sync,noexec,nodev,nosuid 0 0
这个就是分区的挂载 ,,里面有很多的noexec ,,就是这个分区 禁止执行linux程序,,,我们要把noexec删除
其次,我们可以自己增加,,我的增加了一个 开启内存卡第4个虚拟内存分区,,看下我修改后的
/dev/mtdblock/user /ezxlocal jffs2 noatime,sync,nodev,nosuid 0 0
/dev/mtdblock/setup /usr/setup squashfs ro, 0 0
/dev/mtdblock/secure /usr/securesetup squashfs ro 0 0
/dev/mtdblock/pds /etc/pds yaffs noatime,sync,shred,nodev,nosuid 0 0
/dev/mtdblock/resrc /usr/data_resource squashfs ro 0 0
/dev/mtdblock/lang /usr/language squashfs ro 0 0
/dev/mtdblock/mass_storage /mnt/msc_int0 yaffs noatime,sync,nodev,nosuid 0 0
/dev/mmca4 swap swap defaults 0 0
OK了,,这个文件修改完毕
第三个文件 CG36/etc/initservices/startup文件夹的修改
这个文件夹是我们开机后最先执行的程序,,如果要实现开机就挂在第二分区,,等等,,就要在里面修改和增加内容,,截个图
怎么全部都是快捷方式呢,,,
这些快捷方式都是连接到 CG36/etc/initservices/services 里面的,,,
我们回到startup文件夹
第一个文件 15mountall对应 services里面的mountall.sh
这个里面的文件很多都是自读的,,用uedit32修改不了,,首先在 cygwin中 输入
cd /home/Administrator/CG36/etc/initservices/services
chmod 777 *
修改了读写权限了
在mountall.sh里面主要增加一些 复制文件,,,特别是ezx_idle.cfg如果我们的CG43里面的ezx_idle.cfg是快捷方式,,如果在CG52的开机启动中复制的话,,开机后,,配置表就会只出现3个选项,,还需要重启才可以生效,,如果在 mountall.sh里面复制的话,,就不会出现这个bug
增加一段代码
if [ ! -f /ezxlocal/download/appwrite/setup/ezx_idle.cfg ] ; then
if [ -f /usr/data_resource/oss/ezx_idle.cfg ] ; then
cp -f /usr/data_resource/oss/ezx_idle.cfg /ezxlocal/download/appwrite/setup/ezx_idle.cfg
else
cp -f /etc/initservices/ezx_flexbit/ezx_idle.cfg /ezxlocal/download/appwrite/setup/ezx_idle.cfg
fi
fi
我在CG36/etc/initservices建立了一个ezx_flexbit文件夹 ,,放了很多开机需要复制的文件
上面的代码什么意思,,如果你看不懂,,就不要去修改CG36了,,因为CG36里面全部都是一些命令
第二个文件 16mot_security 对应services里面的mot_security.sh
这个文件是增加了mount的权限,,,开机后我们会无法使用mount,,可以删除这个文件,,不然的话,,下面我们的第二分区无法挂载
现在我们需要在startup里面增加3个文件 17a_mount_mmc和 17n_mount_yuerstuff和17r_cp_file_mount_ttf
这个3个文件都是有顺序的,为什么我都用 17开头,,还要用 17a 17n 17r 等等,,因为在 startup文件夹里面的文件是按照 顺序执行的
我们截个图,,看看,,这3个文件的内容
手机内存第二分区还需要跟 17mountNand配合 也就是 services的mountNand.sh
打个比方,,,mnt目录剩余50M,,官方的mountNand.sh会默认建立 49M的手机内存,,如果再去建立20M的 手机内存第二分区的话 ,,是不是就出现bug了
所以我们需要修改 mountNand.sh ,,建立手机内存的时候要减去 20M
对于V8-512的话,,如果建立手机内存第二分区100M 就需要减去100M才对
其次官方的默认挂载手机内存用的 noexec
MOUNT_OPTIONS=\"-t vfat $VFAT_IMAGE $VFAT_MOUNT_PT -o sync,shortname=mixed,utf8,loop,uid=2000,gid=233,noexec,nosuid,nodev\"
这样的话我们手机内存的程序就不能用了,,所以删除noexec
MOUNT_OPTIONS=\"-t vfat $VFAT_IMAGE $VFAT_MOUNT_PT -o sync,shortname=mixed,utf8,loop,uid=2000,gid=233,nosuid,nodev\"
还有修改61mountMMC也就是services的mountMMC.sh(挂载内存卡)
里面同样的 用了noexec
mount -t vfat /dev/mmca1 /mmc/mmca1 -o uid=2000 -o gid=233 -o utf8 -o shortname=mixed -o umask=002 -o noexec-o noatime
同样的删除noexec
mount -t vfat /dev/mmca1 /mmc/mmca1 -o uid=2000 -o gid=233 -o utf8 -o shortname=mixed -o umask=002 -o noatime
其余的呢,,就有2个注意的地方
我的挂载手机内存第二分区的话 挂载到 /ezxlocal/download/yuerstuff 为什么不挂在到 /ezxlocal/download/mystuff2 ,,因为我们连接电脑后,,,.需要重新挂载手机内存,,程序会检查mount是否有 /ezxlocal/download/mystuff 字段,,如果有就退出 ,,
如果手机内存第二分区为 /ezxlocal/download/yuerstuff2 连接电脑后,,手机内存就会挂载不上去,这就是bug,,我才改名为 /ezxlocal/download/yuerstuff
第二个呢,,就是连接电脑,,我们会发现手机内存的程序可以使用,,但是内存卡的不可以使用了,,所以我们需要在 mountNand.sh增加一段话
mount -t vfat /dev/mmca1 /mmc/mmca1 -o uid=2000 -o gid=233 -o utf8 -o shortname=mixed -o umask=002 -o noatime
mount | grep '/mmc/mmca1.*noexec'
if [ $? -eq 0 ]; then
mount -o remount,rw,exec /dev/mmca1 /mmc/mmca1
fi
这样的话,,连接电脑后,手机内存和内存卡都可以用了 (过去我们用守护进程,会让手机变的卡点,,,现在不用了)
我想呢,,,,说这么多,,,菜鸟基本上 是 一无所知,,,高手也会觉得头痛,,,我做CG36,,几天之内,,做了30多个,,,做一个刷一次机,,,真的是累啊
我想了一下,,,其实我还是把这些程序发出来,.,,不然你们修改CG36会苦恼
当然现在有一些人 把别人的成果改个名字就是自己的,,当然这种人关键是不能去理解我的辛苦,,,,想问一句既然大家都是作包人,,,,都明白作包的辛苦,,,何必互相偷盗呢???大家都尊重别人的成果多好呢???
不过还是加个权限500,,,主要是让我们论坛的人气高点,,,理解一下
z6_v8_CG36.tar.gz
(1.52 MB, 下载次数: 219)
这个附件包含CG36/bin和CG36/etc 可以直接替换官方的CG36的/bin和/etc 很简单的
注意看下那个 CG36/etc/initservices/startup/16mot_security 这个文件如果没有删除的话,,挂载第二分区会失败,,,所以要手动删除这个文件
我把CG36里面最难做的和最关键的都发出来了,,,
对于v8_512的需要修改里面的手机内存第二分区的大小,,,因为z6的手机内存是60M,,我分为 手机内存第二分区20M的,,,所以呢,,,v8_512的要自己去改下程序
第一个修改17mountNand 其次修改 17n_mount_yuerstuff 修改就不用我教了嘛,,,只是修改下数字,,我的手机内存第二分区是20M ,也就是20480 如果你想把512的设置为200M或100M,,就把里面的20480 改成204800或者102400 很简单的 (手机里面一般是用KB作为单位,,而不是M ,,所以是20480)
里面有些文件是 快捷方式,,如果用 windows的rar或者7z解压会出问题 ,,在cygwin中 输入 tar -zxvf z6_v8_CG36.tar.gz 就解压出来了
对于CG36就基本上结束了,,,比较难的东西,,我都帮你解决了,,,,简单的东西还是要靠你自己去修改嘛
下一篇讲 所有CG的快捷方式建立
今天是2009年7月1号,面对论坛今日出现的危机,面对菜鸟的很多郁闷,,以后免费下载我的附件 |
|