国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PowerPC平臺(tái)Linux的移植(三)

PowerPC平臺(tái)Linux的移植(三)

作者: 時(shí)間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

如果你想使用ram disk,那么用以下命令進(jìn)行編譯:make zImage.initrd否則用以下命令:make以前編譯2.4內(nèi)核的時(shí)候之前都要用make dep 命令保證編譯內(nèi)核時(shí)所有的依賴,例如頭文件,都存在。不過對(duì)于2.6來講已經(jīng)不需要了,直接一個(gè)make命令把make dep和make zImage的事請(qǐng)就做了。如果你之前編譯過,想重新編譯的話,最好用一下make clean,它能夠去除所有的object文件以及一些別的遺留文件。當(dāng)然你也可以用make mrproper,這個(gè)比make clean清理得更加徹底,不過小心你的.config文件了,它會(huì)一起刪除的,所以還是首先備份一下,或者就用make clean吧?,F(xiàn)在我們是第一次編譯,所以還不用考慮這些。為了保險(xiǎn),我們使用第二組指令來進(jìn)行編譯。時(shí)間蠻長(zhǎng)的,如果一切順利,編譯出來的內(nèi)核會(huì)放在 arch/ppc/boot/images/目錄下,可能叫zImage.elf或者zImage.initrd.elf,用目前這種編譯方式編譯的是 zImage.elf。理論上講,完畢之后就可以把這個(gè)執(zhí)行文件拷貝到EDK工程目錄下,并進(jìn)入創(chuàng)建ACE文件的步驟了。但是,在上面的講解中,我們并沒有使用內(nèi)核模塊,而在進(jìn)一步應(yīng)用中,很可能有一些內(nèi)核選項(xiàng)是要以模塊形式編譯進(jìn)去的,此時(shí),接下來的工作就是建立及安裝模塊,用命令make modulesmake modules_install來編譯,成功后,系統(tǒng)會(huì)在/lib/modules目錄下生成一個(gè)按你所編譯內(nèi)核的版本號(hào)命名的子目錄,里面存放著新內(nèi)核的所有可加載模塊。將來要使用時(shí)用insmod命令進(jìn)行加載即可。目前的的 2.6x版本內(nèi)核是自動(dòng)解決依賴關(guān)系,所以暫時(shí)不用關(guān)注depmod了。CF的配置CF卡分區(qū)其實(shí)不分區(qū)也可以,但是我們?cè)谶@里分區(qū)的原因是最大限度模擬正常的,想想,一般的人安裝系統(tǒng)的時(shí)候是怎么分區(qū)的?/根分區(qū),swap分區(qū)以及/boot分區(qū)。ok,我們?cè)谶@里也給我們的CF卡分三個(gè)區(qū)。暫時(shí)先以我這里的8G CF卡舉例子。將CF卡插到系統(tǒng)上,使用命令mount | column -t看看CF卡對(duì)應(yīng)的mount目錄的dev名稱是是什么。我計(jì)算機(jī)上的信息如圖所示:Screenshot-coloum@windstorm: ~.png可以看出,CF卡在我這里是/dev/sdc。然后我們使用fdisk將其分區(qū):fdisk /dev/sdc具體的分區(qū)過程我就不講了,如果你覺得不習(xí)慣fdisk的命令行操作形式,也可以使用gparted這個(gè)圖形化分區(qū)工具,總之,最后要分成的效果是:1. ParTITIon 1 - Type = FAT16 (6) - Size = 32MB (只需要能夠放得下你的system.ace文件即可)2. ParTITIon 2 - Type = Linux Swap (82) - Size = 256MB (這個(gè)其實(shí)看情況了,不分swap也可以)3. Partition 3 - Type = Linux (83) - Size = ??? (CF還剩多少就分多少,用來存放根文件系統(tǒng))可以看出,上面三個(gè)區(qū)分別對(duì)應(yīng)常說的/boot,/swap和/三個(gè)分區(qū)。創(chuàng)建CF卡文件系統(tǒng)Xilinx的SystemACE控制器比較特殊,并不是說隨便一個(gè)CF卡插上去就可以使用的,必須專門為CF卡創(chuàng)建特定文件系統(tǒng)。能夠完成這個(gè)任務(wù)的是mkdosfs這個(gè)軟件。用下面的命令對(duì)CF卡進(jìn)行操作即可:mkdosfs -s 8 -F 16 -R 1 F:-s后面跟的數(shù)字表示每簇扇區(qū)數(shù)目,一般是2的整數(shù)次方。下面是FAT16文件格式通常容量對(duì)應(yīng)的每簇扇區(qū)數(shù)目。16–128MB 4128–256MB 8256–512MB 16512–1024MB 321024–2048MB 64不過我發(fā)現(xiàn)這個(gè)-s后面的數(shù)字其實(shí)可以大一些,比如我用64,除了在執(zhí)行命令的時(shí)候會(huì)出現(xiàn)一個(gè)warningWARNING: Not enough clusters for a 16 bit FAT! The filesystem will bemisinterpreted as having a 12 bit FAT without mount option “fat=16″.其它沒有什么問題。-F表示FAT的大小,這里是FAT16,-R的值這里不要改動(dòng),保留扇區(qū)的數(shù)目,老問題了,有興趣的可以去網(wǎng)上搜索。最后一個(gè)F:是在 windows下的CF卡卷標(biāo),根據(jù)你自己的系統(tǒng)來調(diào)整它。如果是Linux環(huán)境,將這個(gè)卷表?yè)Q成是/dev/fdx這種形式。具體設(shè)備名自行查詢。下載內(nèi)核文件OK,到這里,我假設(shè)你已經(jīng)編譯成功,產(chǎn)生了你所需要的zImage文件,好,現(xiàn)在該怎么用這個(gè)文件呢?有三種方式:1 把該文件和硬件bit流合成ace文件,放到flash上面自行加載2 通過自己編寫的bootloader將flash上面的elf文件加載到內(nèi)部ram中3 通過xmd的dow命令來下載elf文件第二種方法我還沒有研究,嘿嘿,所以就先不介紹了,要是哪位朋友對(duì)bootloader比較熟的,懇請(qǐng)指教一下~~好了,首先詳細(xì)介紹一下很多人使用的ace方式。創(chuàng)建ACE我們可以通過XMD工具來進(jìn)行ACE文件的創(chuàng)建,命令如下:xmd -tcl genace.tcl -opt genace.optgenace.tcl是存在于xps安裝目錄下的data/xmd目錄下,而genace.opt需要自己創(chuàng)建,內(nèi)容如下:-jprog-board user-target ppc_hw-hw implementation/download.bit-elf zImage.elf-configdevice devicenr 1 idcode 0×1127e093 irlength 14 partname xc2vp30-debugdevice devicenr 1 cpunr 1-ace system.ace-hw和-elf這兩行是需要你根據(jù)自己的情況修改的,唯一需要注意的是,如果你的開發(fā)環(huán)境是Linux系統(tǒng),則-hw implementation/download.bit這句要改為-hw ./implementation/download.bit在system.ace文件被拷貝到CF卡上之后,修改一下板子上的跳線,讓其成為從JTAG啟動(dòng),就可以始終從CF卡上加載程序。對(duì)于非XUP的,官方的板子來說,比如ML-403開發(fā)板,步驟更加簡(jiǎn)單,genace.opt的內(nèi)容如下:-jprog-board ml403-hw implementation/download.bit-elf TestApp_memory/executable.elf-ace system.ace你只需要告訴EDK板子是ml403就可以了,很多參數(shù)都不用自己配置。具體哪些開發(fā)板是被xmd直接支持的,可以參考genace.tcl文件。有些朋友會(huì)發(fā)現(xiàn),按照上面的步驟操作,可能會(huì)出現(xiàn)以下錯(cuò)誤提示:Error: Executable TestApp_Memory/executable.elf does not contain start address..我在遇到這個(gè)錯(cuò)誤之后查了一些資料,并按working harddfen照資料所述的修改辦法來修改,都沒有作用,最后是在朋友的安裝了sp的edk環(huán)境中將ACE文件生成成功的。因此,我懷疑可能是edk無 sp的9.1版本的bug。如果你和我一樣頭疼于sp的下載,還在使用沒有sp的環(huán)境……恭喜你,或者想辦法去下載sp,或者就找安裝了sp的機(jī)器來生成吧。其實(shí)基于windows的sp比較好找,主要是基于Linux的sp太難下了……默哀ing,如果有哪位Linuxer知道有別的方法能夠修正這個(gè)錯(cuò)誤,煩請(qǐng)告知,謝謝了。我比較懶,還比較性急,不喜歡看著bit+elf這么大的文件通過9600速度的串口下載到板子上……所以直接使用了最簡(jiǎn)單的第三種方法,打開xmd,connect ppc hw,dow zImage.elf, con,然后就OK了。終端顯示的信息如下:loaded at: 00400000 0066D19Cboard data at: 0066B120 0066B19Crelocated to: 00404060 004040DCzimage at: 00404ED5 0066A3DDavail ram: 0066E000 08000000Linux/PPC load: console=ttyS0,9600 root=/dev/xsysace/disc0/part3 rwUncompressing Linux…done.Now booting the kernel……..(以下信息省略)這就表示基本內(nèi)核建立成功了,我們可以接下去創(chuàng)建root文件系統(tǒng)了。呵呵,我認(rèn)為最艱難的一步已經(jīng)被你搞定了,恭喜。如果遇到錯(cuò)誤……很多朋友都會(huì)遇到下面這種錯(cuò)誤inflate returned FFFFFFFB, error is caused by the size of the uncompressed image這表示你的內(nèi)核解壓縮之后大小超過了你的存儲(chǔ)空間,通常這種情況出現(xiàn)在你的存儲(chǔ)空間定位于bram上。怎么解決呢?很簡(jiǎn)單,修改ld,把程序定位到ddr上不就行了~~還有的朋友會(huì)遇到下面這種錯(cuò)誤:Linux/PPC load: console=ttyS0,9600Uncompressing Linux…done.Now booting the kernelloaded at: 00400000 005331A0board data at: 40000000 4000007Crelocated to: 00404084 00404100zimage at: 00404EB9 00530A50avail ram: 00534000 00000000Linux/PPC load: console=ttyS0,9600Uncompressing Linux…oops… out of memorypause這個(gè)時(shí)候檢查一下arch/ppc/boot/simple/embed_config.c 中vertex的支持代碼是否已經(jīng)被編譯進(jìn)去(搜索ML403) 如果沒有配置的話,板級(jí)信息就不會(huì)正確建立 。轉(zhuǎn)載:fcni_cn的百度空間

本文引用地址:http://m.ptau.cn/article/201710/365684.htm


關(guān)鍵詞: PowerPC Linux

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉