導航:首頁 > 操作系統 > 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相關的資料

熱點內容
主根伺服器什麼時候開始 瀏覽:738
奇門遁甲完整版pdf 瀏覽:900
app軟體怎麼用的 瀏覽:802
電子書pdf購買 瀏覽:193
浪潮伺服器如何做系統 瀏覽:111
冒險島img格式加密 瀏覽:596
我的世界手游如何復制命令 瀏覽:659
天刀自動彈琴腳本源碼 瀏覽:969
打開其它app微信怎麼收不到 瀏覽:447
安卓游戲耳機怎麼戴 瀏覽:18
不越獄怎麼去除app廣告 瀏覽:178
ipadminipdf閱讀 瀏覽:506
文件夾無限制壓縮會不會降低內存 瀏覽:412
榮耀怎樣創建文件夾 瀏覽:631
如何用本機登陸遠程伺服器地址 瀏覽:682
黃小鴨解壓文具盒 瀏覽:672
女程序員的轉行方法 瀏覽:884
東風啟辰車聯網安裝文件夾 瀏覽:526
華為怎麼設置app時間鎖 瀏覽:663
後宮app視頻怎麼下載 瀏覽:528