导航:首页 > 操作系统 > yaffsandroid

yaffsandroid

发布时间:2022-08-06 21:18:21

❶ 把安卓系统的卡刷包转换成线刷包,卡刷的包是bin文件,不能diy很不方便。跪求答案!小弟感激不尽!

[ hide]把卡刷包解压,将boot.img和system.yaffs.img提取出来。然后将system.yaffs.img改名为system.img。
然后将这2个boot.img和system.img复制替换到原先V1-V5的线刷包里头的“TSNCJSLY”文件夹下。
然后按线刷步骤刷机即可。

❷ 怎么用adb获得安卓手机root

试一下以下方法。1.先用电脑端的360手机管家为手机安装adb驱动,当然,你也可以直接复制驱动到c:system32。2.按以下方法:
1.
adb
shell
2.
mount
-o
remount,rw
-t
yaffs2
/dev/block/mtdblock3
/yaffs到system32)
system(此处你需要复制
打开一个新的cmd终端,输入以下
指令:
1.
adb
push
c:/Superuser.apk
/
system/app
2.
adb
push
c:/su
/
data/local
在第一个cmd终端中输入以下指
令:
1.
cd
/system/xbin
mv
su
osu
cat
/data/local/su
>
su
chmod
6755
su
(一起复制)
2.
ls
-l
*su
3.
同步一下k
看看吧。希望能帮到你。

❸ 开发板怎么烧android系统

首先是友善之臂的Mini6410,它提供了两种Boot,一种是移植的三星提供U-Boot1.1.6,这个版本不支持UBI文件系统的烧写,他们自己做了个superboot,支持UBI,但是不开源,没用过。

然后就是飞凌的OK6410,他们使用的也是三星提供的U-Boot,不支持UBI。所以想出另外的方式来烧写。他们的烧写使用了自己的 SD卡烧写工具:SD_Writer,首先烧写了一个mmc.bin和一个zImage-sd的文件到SD卡中,前者mmc.bin其实就是用于SD卡启动的,后者zImage-sd是一个内核文件。我们首先来看看mmc.bin做了哪些事情,从SD卡启动,进入U-Boot的下载模式,使用printenv打印环境变量,可得:

SMDK6410 # printenv
bootargs=rootdelay=0 console=ttySAC0,115200
bootcmd=nand erase;
fatload mmc 0:1 0x50008000 u-boot.bin;nand write.uboot 0x50008000 0 0x100000;
fatload mmc 0:1 0x50008000 zImage;nand write.e 0x50008000 0x100000 0x500000;
movi read kernel 0x50008000;bootm 0x50008000
从上面得bootcmd可以知道做的事情分四步:
1、擦除整个NAND Flash;

2、从SD卡中将u-boot.bin文件下载到内存中,然后烧写到NAND Flash上;

3、从SD卡中将zImage下载到内存中,然后烧写到NAND Flash上;

4、从SD卡读取内核(不是上一步烧写的zImage,而是之前使用SD卡烧写工具烧写的zImage-sd)到内存,然后启动这个内核。而启动参数就是上面的bootargs所显示。

进入这个内核之后,就会进入下面这个命令行,

可能有人会觉得之前烧写了U-Boot和zImage-sd到SD卡上,并没有烧写文件系统,那这个内核怎么启动呢?这里我们看一下命令提示符前面“initramfs”这几个字符就明白了。

所有的2.6版本linux内核都有一个特殊的文件系统rootfs,是内核启动的初始始根文件系统,initramfs的文件会复制到rootfs。如 果把initramfs比作种子,那么rootfs就是它生长的土壤。大部分linux系统正常运行后都会安装另外的文件系统,然后忽略rootfs。

这下大家就知道了吧,但是由于飞凌没提供的源文件,所以不知道yjsx这个程序具体是啥,只能通过看烧写的过程知道了,这里我就不贴了。主要做的工作就是把拷贝到SD卡中的文件系统烧写到NAND Flash上,注意,这里他们烧写的是yaffs格式,而不是ubi,我猜想他们仅仅是为了方便用户使用SD卡烧写(毕竟友善之臂的烧写方式确实非常好),而不是使用ubi文件系统。

这里再来说一些Real6410和TQ6410,他们做法类似,Real6410是在NAND分区的时候分了两个文件系统区,一个是cramfs,一个是真正用到的文件系统区。先启动内核进入cramfs文件系统,将NAND格式化为UBI格式的,再进行烧写。同样,TQ6410也是先挂载NFS文件系统,将NAND格式化UBI,然后进行烧写。

不过貌似TQ6410V2已经支持了UBI烧写,这个还没看。

❹ 华为C8500用刷机精灵刷了安卓2.3.7打不开机子,重新刷又识别不出SD卡不能刷,强制性刷显示失败。

我这个ROM是在融合了郭郭某个美化包的星星8月4号的C8500S移植修正版ROM上DIY的。我88是S屏,MT啥的摄像头。所以刷的是“S屏04屏多点ROM,支持S屏和04屏多点+EXT2.3.4+Swap,不支持新批次相机”这个版本。因为很多方面的原因,我不确保大家能正常使用我这个ROM,因为那些新相机,多点啥的我的88没有这方面的问题,我也不清楚那些是啥东东的。

第一次开机会慢点,几分钟吧,进入系统后,前10多分钟速度会较慢,之后就正常了。如果还不满意,刷748超频包吧,其他的691或729的请到星星原帖下载。之后进入SETCPU,设置为600,245,ondemond啥的,打勾。这是大众化设置。其他的像情景模式啥的自己决定吧。

加入JAVA,打开启动器(全部程序,功能表,貌似很多别称滴~)里的百宝箱就可以了,运行第一个程序时会出现2次意外停止,之后就没事了的。

开机画面改为仿XP的。

加入华为天翼宽带客户端,要用的话用RE文件管理器来到data/cdrom,把原来的autorun.iso改为除autorun.iso的任何名字,把c8500s.iso改为autorun.iso。用原来的CDROM的(其实我还不知道原来的有啥用,谁知道请说下,谢谢。)就恢复原样,总之想用那个就改哪个autorun.iso。

铃声换了些,可到声音和闹钟那里感受一下,顺便设置。

武断换了默认壁纸,不喜欢自己换吧.

SD卡信息显示正常.

收音机可以正常调节声音大小了.

语音输入中,有很多语音可以选择;语音输出中,所有语言包已安装.

不知道为什么,我头几次DIY的ROM打开图库,显示找不到媒体,后来不知道怎么就被我弄回来了,呵呵~~.这个ROM恢复正常了.

桌面删了ADW了,除了内存占用小,其他的光芒都被自身的缺点掩盖了.换为美化了的华为桌面(除了占用内存多一点外,没缺点.简洁美观,我认为比较经典了.)和GO桌面(内存占用和华为桌面差不多,简洁美观方面比华为的差了点,其他方面都比华为的丰富一些.),自己选择吧.

MMS(短信),这个会在后台疯狂偷流量的!所以我把它移到了data/app下,如果你有很好的代替者的话你可以直接做个备份后删了它..,我的选择是
1,安装GO短信代替,一定一定一定要在 设置--重要提示--系统短信程序是否被卸载了 打勾;;;!
2,之后用RE来到data/app下,挂载为读取,把mms. apk更名为mms.ap(以便以后没办法就是要用时可以改回来,就是给自己留后路而已。不过我相信我不会换回来的。。)
特别注意1:当然,如果你愿意让它在后台白白扣你的流量,我也没话说。大概就是你用UC上了3M左右时,短信在后台偷偷用了你0.6,0.7左右的流量.我一个月总共才30M零用钱,短信小*姐,我可不愿意留下来啊,请让我走吧.
特别注意2:无论是系统自带的短信还是GO短信,发送彩信时都要打开数据服务的。接收不用,但如果要下载彩信中的附件的话也要打开数据服务。

stk(uim卡应用),也会后台偷流量;进去玩了下,发现很多业务有不透明的疑似恶意短信扣费,就是一个一捅就破的定制泡沫..听说有人用这个里面的某些功能的,用其他的软件代替吧。我在ROM中已删除了,确实还需要的话到下面的附件中搞吧..用RE进入system/app中,挂载为读取,复制一个进来,改权限为:
打勾 打勾 方框
打勾 方框 方框
打勾 方框 方框
改完权限后,按"确定".OK!!

下来讲一下我对系统的一些看法.
1,设置里帐户与同步,其实也有点用的,可以备份通讯录到网络上。gmail登录失败的应该是因为没关联手机。 注册GMAIL后,在EMAIL或这里新增帐户,发现谷歌帐户登录失败,然后用电脑或手机浏览器登录GMAIL,发现新邮件,打开,拉至底部,选择中文,看右上角,把网址发至手机,手机上用UC等浏览器打开短信那个网址。这样应该就关联成功了。重新在EMAIL或这里登录,应该就没问题了。QQ邮箱或者也行的。去自己的QQ邮箱网址那里,设置,帐户,拉下,看到允许POP啥的,还有下面那个,2个都打勾吧,现在来EMAIL或这里登录可能就可以了。

2,GPS测试过,本来就没什么问题。系统那个GPS.conf啥的应该没问题的,大家不要换了,要修改就修改导航软件本身的有关设置吧。

一些刷机心得,经验啥的,分享一下:
1,屏幕漂移问题。如触摸不准,触摸屏部分区域失灵等等,只要没扔过马桶,没暴摔过,这个办法应该都适用的。买个压电打火机(1块钱一个那种而已。。),废了它(注意安全!!!别用锤子砸啥的,可能会连你也废了!!!握住向前方5米水泥地用力摔去,蛮响的爆破音,过去分尸吧。分尸不危险的,只是杀它的时候有可能有危险。),取出里面可产生电的部分,确定电线头部没被绝缘的胶覆盖,电线头接触屏幕中央,按1,2次,就是电了1,2次,完美修复。如果有疑虑,去找找其他办法吧,你会发现没有的,或者花几百块换个新的触摸屏,你喜欢。最后,你应该和我当初一样,背水一战,当初真的是置之死地而后生滴。。。结果自己感受吧。我用了1次,至今没复发。感谢创卓网的一位朋友,当初在他那里发现的,虽然当时和其他所有看帖子的人一样疑虑,不想做小白薯。

2,C8500各种启动模式。由jingdian412分享~~
1. 普通启动模式
就是普通电源键开关机,有点废话了,呵呵。。
2. 安全模式(很多人不知道)
大家可能对安全模式不太了解,其实就和电脑上一个道理,安全模式中系统只加载系统基本服务,不会加载任何第三方服务,所以装坏软件导致无法开机的,就可以通过此模式进入系统,然后删除那个捣鬼的软件,而不用再初始化系统,非常实用!
具体做法是:开机后,开机画面到天翼的画面,屏幕变暗后这一刻,长按导航中间的确认键,直至手机长振动一下后,松开按键,稍等即可进入安全模式,进入后屏幕左下角有安全模式四个字,退出安全模式重启手机即可!!!
3. 工程模式
工程模式即调试模式,可通过此模式查看手机信息,包括屏幕型号,摄像头型号等,很详细,也可以在此模式下切换手机2G或3G,但劝大家不要乱调,不然要进客服的!
进入该模式的方法是:在拨号面板上,按*#*#2846579#*#*即可进入工程模式!
4. 硬刷机
刷机想必大家都懂的,具体可以看论坛其他帖子,硬刷就是将刷机包放进内存卡的根目录下,然后在手机关机的状态下通过组合按键实现刷机的过程,
该组合按键是:挂机键(红色)+音量增大键+电源键,同时按下这三个键即可!
5. fastboot
该模式可做工程调试,加载驱动,修改recovery等!
具体操作是:同时按挂机键(红色)+ 音量减小 + 电源键
6. Recovery模式
该模式下可加载zip驱动,备份和恢复系统,也是很重要常用的模式
具体操作是:按拨号键(绿色)+ 音量增大 + 电源进入recovery模式
7.有的朋友在回帖里问怎么刷机,刷机其实也是非常简单的,具体方法在论坛置顶的帖子是有的,有前辈写的还非常详细,新手可以参考下!我在这只提下我说的“硬刷机”,一般是在手机彻底起不来了的时候用,其实平时用也无所谓,不伤机子的。大概介绍下:
1.先把刷机包从华为的官网或其他渠道下载下来,是一个名字为 dload 的文件夹;
2.然后把这个文件夹放到内存卡的根目录下;
3.把内存卡装到手机里,保证手机有足够的电量(建议有最少有一半电);
4.同时按下 挂机键(红色)+音量增大键+电源键 ,手机自动进入刷机,开始跑进度条,大概五六分钟的样子,手机会自动重启,然后就一切正常了!如果最后显示updata failed(升级失败),拔电池,同时按下 挂机键(红色)+音量增大键+电源键,再刷一次,OK!
希望对大家有帮助

3,USB连接重启。有DIYZNLOVE宝贝分享~~
有人提出USB连接进入U盘模式重启或死机问题!我也是这样。不过在 经过简单的设置。不会再出现 U盘模式,重启的问题了。
再拨号键(键入*#*#2846579#*#*)进入工程模式后
进入ProJectMENU后选后台设置
进入后选择usb端口配置
选择Google模式(如果已经是这个模式的话,也要再点一次,确定一次。)-重启手机完成
重启后 就可以连接电脑了
完成咯

4,RECOVERY下使用U盘。由single分享~~
曾经,我们都以为这两个版本的REC是无法挂载SD卡(挂载成U盘)对其进行读写操作的(方便刷机,不用总是进入系统后打开“U盘大容量模式”放刷机包等对U盘的操作),今天进REC3.0.2.8的时候突然想尝试一下USB挂载,竟然发现原来是可以挂载的。下面我就把REC6.2.2和3.x(包括3.0.2.4和3.0.2.8)挂载SD卡的方法说一下。
在挂载SD卡之前我们需要注意的两个问题:
1. 进入工程模式将USB端口的模式改为Google模式。
USB端口模式只能在2.1或2.2中进行设置,2.3没有USB端口的相关设置项。这里说明一个问题,USB端口的模式是不会随着你刷的ROM包而改变的。只有在强刷官方版本的时候它才会改变,恢复默认的Normal模式。所以只要修改完之后不强刷官方就不用去理会它。
步骤:在拨号盘输入“*#*#2846579#*#*”进入工程模式,依次选择“ProjectMenu”——“后台设置”——“USB端口配置”——“Google模式”。
PS:开启USB大容量模式挂载SD卡后重启或者在2.3中挂载SD卡后磁盘不可读写的均可修改此项尝试解决问题。只不过2.3的同学需要刷回2.2进行修改,然后再刷2.3。
2. 安装原版的官方驱动,使用安装程序安装。这一步不是必须要这样做,但是这样做,可以避免很多问题,包括其他USB连接问题。
做完以上两步,我们就有了在REC中挂载SD卡的前提条件。下面来讲一下REC6.2.2和3.x具体的操作。
1. REC6.2.2
进入REC模式,选择“USB-MS toggle”,然后按一下确定键即可挂载SD卡的FAT分区。注意这里只按一次确定键,再按一次就是卸载SD卡了。然后在电脑上系统会提示你安装驱动,这里认一遍驱动就好。自动搜索不到的,指定目录安装。
2. REC3.x
进入REC模式,依次选择“mounts and storage”——“mount USB storage”,然后按一下确定键即可挂载SD卡的FAT分区。操作完成以后,选择“unmount”卸载SD卡。
这里顺便给大家说一点安装驱动时遇到的问题及解决方法。
① 当我们连接手机后发现驱动无法安装,并且在设备管理器中有带***叹号的设备,可以按照以下方法进行处理。删除所有带***叹号的设备,拔下手机,然后重新安装驱动。安装好驱动以后重新连接手机把驱动认一遍即可。
② 当我们在安装官方的驱动时提示已经安装驱动而无法重新安装时,在电脑上进入“C:\WINDOWS\system32\drivers”这个目录,在里面寻找“smhwadb.sys”、“smhwdev.sys”和“smhwser.sys”三个文件(视安装方法不同,这里也可能是其中一个或两个),将其删除即可。然后我们就可以重新安装驱动了。
③ 将下载的官方原版驱动解压到任意目录,然后安装,安装过程全自动,无须人工干预。

5,安装C8500驱动。
我想,刷不同安卓系统的要安装的驱动也应该是不一样的(这些驱动在创卓,天翼圈都有下载,天翼多点..)。
2.1的安装的是解压后为4.1M的(当然,USB连接电脑,直接安装那个PC助手也行的,卸载也是靠PC助手的,如果熟悉自己电脑系统的只安装驱动也可以.).
2.2的安装的是解压后为近9M的.
C8500s的我安装的是创卓网里的"驱动+魔乐+华为上网"里的驱动.在天翼圈搜索"更新创卓专版".
2.3.4的忘记了..听不到收音机...
注意,我电脑系统是XP的,(其他系统的)具体情况要具体分析.

6,recovery6.2.2在电脑上安装(注意,目前为止,6.2.2是万能的REC版本,别理那些2.5,3.0.2啥的了,就只安装这个就行了,任何ROM,补丁包都没失手过,况且还有强大的分EXT,SWAP功能,还能备份还原很多东东,自己研究吧.).
安装好驱动后,手机"USB调试"要打勾!,关机,同时按挂机键(红色)+ 音量减小(左边) + 电源键(上部)进入fastboot模式(永远停在华为第一屏),然后连接电脑,打开recovery6.2.2所在文件夹,双击install-recovery-windows.bat.如果没显示"waiting for device"字样的,通常2秒后就刷好这个REC了.断开USB线,拔电池,进入REC模式,看到了吧,REC6.2.2。

7,recovery6.2.2在手机上安装。
用一键ROOT软件取ROOT权限,安装yaffs,最上面的第一项改为刷机,第二项改为recovery,按“浏览”找到UltraJack-Recovery_v6.2.2.img(没有的在那个文件夹复制过来。)其他不用动,最下面的,“确定”!等待。底部出现“complete 100%"啥的时候,成功了,关机检验吧。

8,REC6.2.2下分EXT,S***
SWAP不建议分,原因很复杂,我没那个??说出来,反正是亏本生意.
如果你的内存卡是C4或C4以上的(建议用电脑软件测.),可以刷EXT4,不然刷EXT3就好了.请在创卓网C8500版块搜索"EXT",慢慢找吧,我也忘了..
9,导航软件搜星,定位方面,我有一点头绪了,但还是没根本解决,继续研究...

10,安装驱动.其实我也不知道自己是怎样安装的..下面的方法我试过(可以,看你们的了。)先打扫卫生:
1,在电脑上进入“C:\WINDOWS\system32\drivers”这个目录,在里面寻找“smhwadb.sys”、“smhwdev.sys”和“smhwser.sys”三个文件(视安装方法不同,这里也可能是其中一个或两个),将其删除。
2,用附件驱动安装里的UsbViewer.exe清理一下C8500的啥啥驱动。
3,连接手机,我的电脑,右键,属性,硬件,管理设备,双击android phone,卸载下面那个手机驱动。断开连接。
4,卸载PC助手(因为途中可以顺便卸载驱动的)。
5,到附件\驱动安装 可能要折腾很久\C8500驱动+魔乐手机管家+拨号上网那里安装驱动,XP系统直接双击Setup.exe,其他高级些的双击usb_driver/DriverSetup.exe。
6,重新连接,我的电脑,右键,属性,硬件,管理设备,双击android phone,右键下面那个手机驱动,属性,显示这个设备配置不正确,点下面的重新安装该驱动程序,选自动安装,可以了。
注意,如果,你一来这里就发现那里已显示“这个设备配置不正确,”那么直接点下面的重新安装该驱动程序,选自动安装,可能就可以了。

❺ 如何修改制作卡刷包 安卓卡刷包制作教程

在此先要明确声明一下:
依照此做法出现您的手机出现任何问题,概不负责的喔!!
英文好的朋友,可以直接看英文官方的参考网站即可:
只用android源代码做一些简单实验的朋友可以参考下面这几个网站:
说起android刷机包,听起来非常神秘,实际上它仅仅是一个经过数字签名的zip压缩包而已。如果要自己制作刷机包,则必须了解刷机包的基本工作原理,偶首先从android系统的启动说起:
android系统启动的时候,首先会进行一些诸如硬件自检之类的操作,这些操作完成以后(至少它应该知道当前的机器有没有电),会检查一下当前手机按键的状态(接下来就是所谓刷机模式切换了,不同的android手机有不同的按键组合用来进入刷机模式),如果此时按键状态处于刷机组合,那么系统会调用ROM里面的一个叫做recovery的程序(这时就是进入了所谓的刷机程序了,它只是一个工具性质程序,用于检查刷机包的完整性和数字签名的合法性。对于目前大多数root过的机器而言,数字签名的合法性都不会成问题,然后由recovery程序将刷机包进行解压,然后把刷机包里面的文件写入到ROM中去,以此完成刷机过程);如果此时按键没有标明是刷机模式,那么系统会创建内存盘,开始从ROM里面载入相应的文件系统,并把相关的文件拷贝到内存盘中,进而引导linux启动,然后是启动虚拟机dalvik,然后就是创建工作进程载入和运行framework,然后就会看到待机的画面。当然在这个过程中还发生了许多事情,启动了许多服务,为了简化起见,对于启动过程偶只讲解到此,感兴趣的朋友可以自己结合着linux的启动过程加以对比来学习。
现在来总结一下,实际上刷机包就是一个ROM文件的压缩包,进入刷机模式后,recovery程序会把刷机包里面的文件写入ROM存储区替换ROM存储区的原有文件;当下次启动手机的时候,会从ROM中载入刚刚替换过的文件,并利用这些文件来启动和运行系统。这就是刷机包的全部功能和作用,看不懂的朋友可以反复看几次,刷机的本质就是文件的覆盖和替换操作,偶相信各位一定能看懂!
OK,现在大家已经知道ROM文件的zip压缩包就是所谓的刷机包。制作刷机包的过程就是准备这些文件,然后重新把这些文件压缩成一个zip包的过程,在制作的最后,使用签名工具签个名,就可以测试和发布刷机包了。虽然说起来就是一句话的事情,但是实际上准备这些文件的过程是非常痛苦和漫长的。
那么update.zip压缩包里面的都包含哪些文件?这些文件又都是如何做出来的呢?hoho,现在开始渐渐接触到问题的本质了,解压缩这个update.zip压缩包以后我们可以看到两个目录和一个文件:
boot.img <---文件,这是编译内核源代码生成的内核映像,然后与android源码编译出来的ramdisk.img一起通过mkbootimg工具创建出来的,图省事的朋友也可以从网上其他的刷机包里面拷贝一个能用的出来即可,基本上都差不多。
META-INF <---目录,这个目录是手工创建的,主要用来存放一个升级脚本update-script(这个脚本的内容与system目录中包含的文件有很大关联)以及保存若干刷机包内的apk文件的签名。
system <---目录,这个目录就是编译android的平台源代码生成的,
其实最好的学习方式就是把现在互联网上的那些update.zip包给解包,然后自己一个一个文件地看和分析,然后修改,尝试做自己的刷机包。
对于这个boot.img,基本思路是编译android kernel代码,生成内核image然后利用mkbootimg感兴趣的朋友可以参考下面这两个wiki网站:
下面的做法偶都是在linux下面完成的(slackware 13.1):
(1)下载和编译android的源代码,具体过程不再赘述
如果各位还不知道repo sync之类的命令的话,可以参考网上的关于下载android源代码以及编译的文章,据偶所知这些文章非常丰富。编译之前一定要注意平台的选择,不同平台的驱动程序是不一样的!这些参数可以通过:
$ cd android-src <---进入android的源代码目录
$ . build/envsetup.sh <---设置环境变量,运行完毕后,你可以输入一下help命令,看看google的团队提供了多少有用的便利命令,这对于我们以后修改代码重新编译非常有帮助。
$ lunch generic-eng <---开始配置android的源代码的编译选项
运行上述命令后会看到如下输出:
wayne@wayne:~/android-src$ lunch generic-eng
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
$ make -j2 <---只有单核的CPU的朋友可以尝试此参数,双核的朋友可以试试-j3,否则就老老实实运行make即可。
然后就是一个漫长的等待,这个时间大概有1-2小时左右(偶的机器比较慢),完全编译完毕以后硬盘的占用大概需要8个G左右。
(2)编译完成以后,进入wayne@wayne:~/android-src/out/target/proct/generic目录,应该会看到如下的文件:
android-info.txt
data
obj
ramdisk.img
sdk
system
userdata.img
clean_steps.mk
installed-files.txt
previous_build_config.mk
root
symbols
system.img
这里的system.img是不是很眼熟?!对拉,这个就是刷机包里面好像也有一个叫做什么system的目录,那么这个system.img里面都有什么呢?这里面的东西其实就是当前目录下的一个叫做system的目录里面的内容了,只是保存成了yaffs文件系统的格式。我们可以通过unyaffs工具来把system.img给解开来看看,就明白偶说话了。
unyaffs的代码下载地址为:
在linux下编译方法非常地简单,只需要下载源代码,然后运行:$ gcc -c unyaffs.c
$ gcc -o unyaffs unyaffs.o
即可生成这个unyaffs的解包工具,利用这个工具就可以把自己生成的system.img进行解包,然后修改里面的内容了。
unyaffs使用方法非常简单:
$ unyaffs system.img [回车]
即可将system.img解包成一个叫做system的目录,里面包含了整个android的文件系统
(3)刚刚开始,不适合一切从头来,还是老实一些,先从修改别的大牛们做得刷机包开始吧
首先拷贝一个从网上下载下来的刷机包,然后找一个目录解压缩(当然,这是最保险的做法,自己做这些目录也没有任何问题,只是比较费时间而已)
$ unzip xxxxxx.zip <--- 这个xxxxx.zip就是从网上下载的某刷机包(一定要跟你的代码版本基本一致喔,偶在这里用的是2.1的刷机包)
(4)替换原有的system目录
解压缩刷机包以后,会看到在开篇的时候提到的两个目录,一个文件:
boot.img
META-INF
system
好了,可以把system目录拷贝到别的路径下备份一给,防止这些修改发生别的问题。然后把wayne@wayne:~/android-src/out/target/proct/generic这个目录下面的system拷贝到当前的工作目录下。注意,这个system目录里面有很多“符号链接”指向了toolbox。这些链接其实没啥用,可以通过后面的update-script自动进行创建的,因此,需要用一个脚本把这些链接都删掉。
可以参考:
这个网页附件给出来的DeleteExtras.txt改写成一个DeleteExtras.sh脚本来清除这些符号链接。
(5)修改update-script脚本
修改META-INF/com/google/android目录下的那个叫做update-script的脚本,只要修改一下即可,主要是删除一些不存在的文件以及增加一些文件的权限之类的定义(语法十分清晰,一目了然)。把需要“预装”到刷机包里面的apk安装程序都准备好,将这些apk拷贝到system/app目录下即可。那个boot.img能不改就不改,因为这东西涉及到驱动和内核的问题,出了问题刷机包就启动不了了。

❻ android系统修改了app之后启动一直停留在freeing init memory这个地方是什么原因

console=ttySAC0 root=/dev/mtdblock2 rootfstype=yaffs init=/bin/sh
加上console=ttySAC0,115200 试试,没有标明波特率

另外还有一个noinitrd console=ttySAC0 root=/dev/mtdblock2 rootfstype=yaffs init=/bin/shMemory policy
这个内核启动参数是编译内核 make mennuconfig 指定的吗?清空试试,只用uboot传递的参数

❼ 定制android 使用initramfs文件系统吗

在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统。linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs,
ramfs,nfs等,为了对各类文件系统进行统一管理,linux引入了虚拟文件系统vfs(virtual file system),为各类文件系统提供一个统一的应用编程接口。
文件系统类型主要有如下:
根据存储设备的硬件特性,系统需求,不同的文件系统类型有不同的应用场合。在嵌入式linux应用中,主要的存储设备为ram和flash,常用的基于存储设备的文件系统类型包括:jffs2,yaffs,cramfs,ramdisk,ramfs等。
基于flash的文件系统
Flash(闪存)作为嵌入式系统的主要存储媒介,主要有nor和nand两种技术。flash存储器的擦写次数是有限的,nand闪存还有特殊的硬件接口和读写时序。因此,必须针对flash的硬件特性设计符合应用要求的文件系统。
jffs2:主要用于nor型flash,特点是可读写,支持数据压缩的日志型文件系统。
yaffs/yaffs2:主要用于nand型flash,支持跨平台。
cramfs:只读的压缩文件系统。可用于两种flash。
ramdisk:基于ram的文件系统。是将一部分固定大小的内存当做块设备来用。它并非是一个实际的文件系统,而是一种将实际的文件系统装入内存的机制。将一些经常访问而又无需更改的文件通过ramdisk放在内存中,可以明显的提高系统的性能。
initramfs:基于ram的文件系统。initramfs出现在2.6内核中,它类似于tmpfs,是一种基于内存的文件系统,它的使用不需要创建内存块设备。增加文件到ramfs会自动配置更多的内存,并删除或截去文件以释放内存。(若ramdisk没有满,已被占用的额外的内存也不能用来做其它事情,若ramdisk满了,但其它仍有闲置的内存,也必须重新格式化以后才能扩展使用)
nfs:是由sun开发的一种在不同机器之间通过网络共享文件的技术。在嵌入式linux系统的开发调试阶段,可以利用该技术在主机上建立基于nfs的根文件系统,挂载到嵌入式设备,可以很方便的修改根文件系统的内容。
Initramfs文件系统其实就是压缩的ramdisk文件系统,估计大家很少又听说过的,我也一样,但是我这次调试板子的时候用的NFS文件系统,发现固化文件系统时,没有什么好选择的,u-boot不能直接支持yaffs2,需添加补丁;ramdisk不能直接固化到flash上,jffs2和cramfs都需要其他工具制作,最后找到了Initramfs文件系统。Inittamfs是将ramdisk文件文件系统被编译到内核中,其实就是ramdisk文件系统(Inital ramdisk filesystem)。在制作initramfs文件系统时,我们首先需要制作ramdisk文件系统,这个挺简单的,资料也挺齐全的,我这里简单介绍下:
1、创建根文件系统的目录
mkdir rootfs
cd rootfs
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/moles
2、创建设备文件
cd /dev
mknod -m 666 console c 5 1
mknod -m 666 null c 3 1
cd ..
3、安装/etc
tar etc.tar.gz -c /xxx/rootfs
这步我就不提供资源了,我也是在国嵌上找到找到的,感兴趣的自己可以找找看,里面东西堵都不是很难。
4、编译内核模块
进入Linux内核目录(linux-2.6.30.4)
make moles 注意:最好将内核根目录下的Makefile文件中的ARCH改成arm CROSS-COMPILE改成arm-linux-,因为很多地方会用到这些两个环境变量,同时在宿主机上编译驱动程序时,如果没有修改这两个变量,会报奇怪的错误:http://blog.csdn.net/pengrui18/article/details/12044369
5、安装内核模块
make moles_install INSTALL_MOD_PATH=/xxx/rootfs
6、配置busybox
进入busybox目录执行make menuconfig
a、进入Busybox Setting->
build options->
[]"Build busybox as a static binary"//动态链接
Cross Compile prefix(arm-linux-)
Installation Option->
[*]Don't usr/usr//避免busybox安装至宿主系统的usr,目录下
Busybox Installation Prefix(/xxx/rootfs)//安装位置
其他选项默认
7、编译、安装busybox
make
make install
基本上按照上面的步骤就可以完成文件系统的制作.

❽ android kernel和标准linux kernel的区别

android kernel和标准linux kernel的区别
总的区别可以归纳如下:
ARCH -- 这是Android修改了arch/arm下面的一些文件:
arch/arm:
Chg: arch/arm/kernel/entry-armv.S
Chg: arch/arm/kernel/mole.c
Chg: arch/arm/kernel/process.c
Chg: arch/arm/kernel/ptrace.c
Chg: arch/arm/kernel/setup.c
Chg: arch/arm/kernel/signal.c
Chg: arch/arm/kernel/traps.c
Chg: arch/arm/mm/cache-v6.S
Chg: arch/arm/vfp/entry.S
Chg: arch/arm/vfp/vfp.h
Chg: arch/arm/vfp/vfphw.S
Chg: arch/arm/vfp/vfpmole.c
Goldfish -- 这是Android为了模拟器所开发的一个虚拟硬件平台。Goldfish执行arm926T指令(在2.6.29中,goldfish也支持ATMv7指令),但是在实际的设备中,该虚拟平台的文件不会被编译。
arch/arm/mach-goldfish:
New: arch/arm/mach-goldfish/audio.c
New: arch/arm/mach-goldfish/board-goldfish.c
New: arch/arm/mach-goldfish/pdev_bus.c
New: arch/arm/mach-goldfish/pm.c
New: arch/arm/mach-goldfish/switch.c
New: arch/arm/mach-goldfish/timer.c
YAFFS2 -- 和PC把文件存储在硬盘上不一样, 移动设备一般把Flash作为存储设备。尤其是NAND flash应用非常广泛(绝大多数手机用的都是NAND flash,三星的一些手机使用的是OneNAND)。NAND flash具有低成本和高密度的优点。
YAFFS2 是“Yet Another Flash File System, 2nd edition" 的简称。 它提供在Linux内核和NAND flash设备 之前高效率的接口。 YAFFS2并没有包含在标准的Linux内核中, Google把它添加到了Android的kernel
fs/yaffs2:
New: fs/yaffs2/devextras.h
New: fs/yaffs2/Kconfig
New: fs/yaffs2/Makefile
New: fs/yaffs2/moleconfig.h
New: fs/yaffs2/yaffs_checkptrw.c
New: fs/yaffs2/yaffs_checkptrw.h
New: fs/yaffs2/yaffs_ecc.c
New: fs/yaffs2/yaffs_ecc.h
New: fs/yaffs2/yaffs_fs.c
New: fs/yaffs2/yaffs_getblockinfo.h
New: fs/yaffs2/yaffs_guts.c
New: fs/yaffs2/yaffs_guts.h
New: fs/yaffs2/yaffsinterface.h
New: fs/yaffs2/yaffs_mtdif1.c
New: fs/yaffs2/yaffs_mtdif1.h
New: fs/yaffs2/yaffs_mtdif2.c
New: fs/yaffs2/yaffs_mtdif2.h
New: fs/yaffs2/yaffs_mtdif.c
New: fs/yaffs2/yaffs_mtdif.h
New: fs/yaffs2/yaffs_nand.c
New: fs/yaffs2/yaffs_nandemul2k.h
New: fs/yaffs2/yaffs_nand.h
New: fs/yaffs2/yaffs_packedtags1.c
New: fs/yaffs2/yaffs_packedtags1.h
New: fs/yaffs2/yaffs_packedtags2.c
New: fs/yaffs2/yaffs_packedtags2.h
New: fs/yaffs2/yaffs_qsort.c
New: fs/yaffs2/yaffs_qsort.h
New: fs/yaffs2/yaffs_tagscompat.c
New: fs/yaffs2/yaffs_tagscompat.h
New: fs/yaffs2/yaffs_tagsvalidity.c
New: fs/yaffs2/yaffs_tagsvalidity.h
New: fs/yaffs2/yportenv.h
Bluetooth -- Google为Bluetooth打上了patch,fix了一些Bluetooth的bug
drivers/bluetooth:
Chg: drivers/bluetooth/bfusb.c
Chg: drivers/bluetooth/bt3c_cs.c
Chg: drivers/bluetooth/btusb.c
Chg: drivers/bluetooth/hci_h4.c
Chg: drivers/bluetooth/hci_ll.c
Scheler -- 对于Scheler的改变非常小,我对它并没有去研究。
Chg: kernel/sched.c

New Android Functionality -- 除了fix一些bug以及其他一些小的更改,Android增加了一些新的功能,介绍如下:
IPC Binder -- The IPC Binder is an Inter-Process Communication (IPC) mechanism. It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Internet search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm's software, before Google wrote a new Binder for Android.
New: drivers/staging/android/binder.c
Low Memory Killer -- Android adds a low-memory killer that, each time it's called, scans the list of running Linux processes, and kills one. It was not clear in our cursory examination why Android adds a low-memory killer on top of the already existing one in the standard Linux kernel.
New: drivers/staging/android/lowmemorykiller.c
Ashmem -- Ashmem is an Anonymous SHared MEMory system that adds interfaces so processes can share named blocks of memory. As an example, the system could use Ashmem to store icons, which multiple processes could then access when drawing their UI. The advantage of Ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. If a process then tries to access a shared memory block the kernel has freed, it will receive an error, and will then need to reallocate the block and reload the data.
New: mm/ashmem.c
RAM Console and Log Device -- To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging mole so that user processes can read and write user log messages.
New: drivers/staging/android/ram_console.c
Android Debug Bridge -- Debugging embedded devices can best be described as challenging. To make debugging easier, Google created the Android Debug Bridge (ADB), which is a protocol that runs over a USB link between a hardware device running Android and a developer writing applications on a desktop PC.
drivers/usb/gadget:
New: drivers/usb/gadget/android.c
Chg: drivers/usb/gadget/composite.c
Chg: drivers/usb/gadget/f_acm.c
New: drivers/usb/gadget/f_acm.h
New: drivers/usb/gadget/f_adb.c
New: drivers/usb/gadget/f_adb.h
New: drivers/usb/gadget/f_mass_storage.c
New: drivers/usb/gadget/f_mass_storage.h

Android also adds a new real-time clock, switch support, and timed GPIO support. We list the impacted files for these new moles at the end of this document.
Power Management -- Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. It's interesting to note that Google added a new power management system to Linux, rather than reuse what already existed. We list the impacted files at the end of this document.
kernel/power:
New: kernel/power/consoleearlysuspend.c
New: kernel/power/earlysuspend.c
New: kernel/power/fbearlysuspend.c
Chg: kernel/power/main.c
Chg: kernel/power/power.h
Chg: kernel/power/process.c
New: kernel/power/userwakelock.c
New: kernel/power/wakelock.c
Miscellaneous Changes -- In addition to the above, we found a number of changes that could best be described as, 'Miscellaneous.' Among other things, these changes include additional debugging support, keypad light controls, and management of TCP networking.
(freedom_asic)

❾ 安卓手机恢复大师和镜像怎么使用

有的,不过需要root权限
比如yaffs大师
没有root也没关系,进入recovery里面有一个备份系统选项也可以备份。
不过刷机还是建议用刷机包比较安全。

❿ android 如何手动触发mp生成db文件

如题想请教用什么工具可以把android里面的几个img比如user.img system.img完全mp出来。 我看到android里面的/dev下面挂载着/system /data /cache都是yaffs格式的,如何把他们都按2048+64的yaffs标准mp出来呢 多谢各位

阅读全文

与yaffsandroid相关的资料

热点内容
华为怎么设置app时间锁 浏览:660
后宫app视频怎么下载 浏览:525
如何把图片转换从PDF格式 浏览:259
重写和重载的区别java 浏览:233
expressvpnandroid 浏览:84
储存卡被加密怎么解除 浏览:169
地球怎么压缩直径 浏览:780
金铲铲之战服务器爆满怎么进 浏览:160
同仁堂pdf 浏览:935
如何编译原理课程教材 浏览:730
单片机控制显示器 浏览:776
顶好花app下载怎么找不到 浏览:989
手机命令大全 浏览:808
怎么下邮政银行app 浏览:250
不背单词app单词怎么学习 浏览:481
程序员日常操作搞笑 浏览:382
android检查是否安装 浏览:375
苹果手机编辑pdf文件 浏览:460
android系统名字 浏览:971
安卓手机如何进去有求必应屋 浏览:434