<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于S3C2440的busybox的移植 yaffs根文件系統(tǒng)制作

          基于S3C2440的busybox的移植 yaffs根文件系統(tǒng)制作

          作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
          硬件平臺:FL2440
          操作系統(tǒng):Linux2.6.28.7
          交叉編譯工具:arm-linux-gcc-3.4.1
          飛凌公司默認的文件系統(tǒng),不具有文件延伸功能,比如在/dev下有mmcblk0p1這個文件,在掛載SD卡驅(qū)動時,需要敲入命令mount /dev/mmcblk0p1,如果具有延伸功能,在敲入mm后,可以直接按TAB鍵,如果/dev目錄下只有一個以mm形狀的文件,將會自動補全后面的字符。初步推斷該功能應該為busybox集成,從網(wǎng)上下載busybox-1.9.2.tar.bz2,計劃安裝該版本的busybox。
          第一步:下載busybox源代碼:http://busybox.net/downloads/busybox-1.9.2.tar.bz2
          解壓:
          tar jxf busybox-1.9.2.tar.bz2
          第二步:修改makefile中的174行的arch和編譯工具鏈頭:
          ARCH ?= arm
          CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
          第三步:make menuconfig.修改編譯配置選項,參考如下設(shè)置:








          其他使用默認設(shè)置。
          第四步:編譯busybox
          make install
          在busybox/_install目錄下會生成busybox文件。同時,在解壓的當前目錄也會存在該文件。
          第五步:修改busybox的文件屬性
          chmod 777 busybox
          必須要修改屬性,否則可能造成無法啟動文件系統(tǒng)。
          第六步:將新生成的busybox替換掉原來的文件,在文件系統(tǒng)根目錄的bin目錄下。
          第七步:替換busybox所需要的庫文件。這一步很關(guān)鍵,使用不同版本的交叉編譯工具編譯出來的busybox,所使用的庫是不同的。FL2440提供的busybox使用的3.3.2的交叉編譯工具,這里我們使用的3.4.1的版本,因此有必要替換掉原來的lib文件。如果不替換,啟動系統(tǒng)時將出現(xiàn)如下錯誤:
          Failed to execute /linuxrc. Attempting defaults...
          busybox使用的庫在如下路徑:
          /usr/local/arm/3.4.1/arm-linux/lib
          這里因交叉編譯環(huán)境安裝路徑不同而有所差異。將該目錄下的*.so,*.so.*,*.a,全拷備到根文件系統(tǒng)的lib目錄下,有文件重命名的直接覆蓋,刪除里面一些不必要的庫文件,如*jpeg*等,否則會出現(xiàn)壓縮的文件系統(tǒng)過大而燒不進去的現(xiàn)象。
          第八步:使用mkyaffs2image工具制作文件系統(tǒng):
          ./mkyaffs2image qte_yaffs qte.yaffs
          第九步:擦除開發(fā)板上的rootfs文件系統(tǒng)分區(qū),重新下載新生成的文件系統(tǒng),重啟開發(fā)板。
          第十步:這時已經(jīng)能夠正常進入控制臺,但是彈出如下錯誤提示:
          mdev: /etc/mdev.conf: No such file or directory
          在文件系統(tǒng)的etc下新建一個空文件mdev.conf,另外修改/etc/init.d下的rcS文件的最后一行為exec /usr/etc/rc.touch,以支持觸摸屏,默認為支持鼠標。
          第十一步:再次制作文件系統(tǒng),同第八步,然后擦除rootfs文件系統(tǒng)分區(qū),重新下載最新的文件系統(tǒng),重啟開發(fā)板。這時一切正常。
          第十二步:嘗試掛載SD卡驅(qū)動,或者使用busybox提供的相關(guān)命令,這次已經(jīng)具備敲命令按TAB鍵延伸的功能了。

          注:
          制作過程中可能遇到文件系統(tǒng)大于64M,由于fl2440內(nèi)存64M,不可能下載下來,所以可以先刪除/usr目錄下有關(guān)圖片等文件,燒完之后,再copy回去即可。硬件平臺:FL2440
          操作系統(tǒng):Linux2.6.28.7
          交叉編譯工具:arm-linux-gcc-3.4.1
          飛凌公司默認的文件系統(tǒng),不具有文件延伸功能,比如在/dev下有mmcblk0p1這個文件,在掛載SD卡驅(qū)動時,需要敲入命令mount /dev/mmcblk0p1,如果具有延伸功能,在敲入mm后,可以直接按TAB鍵,如果/dev目錄下只有一個以mm形狀的文件,將會自動補全后面的字符。初步推斷該功能應該為busybox集成,從網(wǎng)上下載busybox-1.9.2.tar.bz2,計劃安裝該版本的busybox。
          第一步:下載busybox源代碼:http://busybox.net/downloads/busybox-1.9.2.tar.bz2
          解壓:
          tar jxf busybox-1.9.2.tar.bz2
          第二步:修改makefile中的174行的arch和編譯工具鏈頭:
          ARCH ?= arm
          CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
          第三步:make menuconfig.修改編譯配置選項,參考如下設(shè)置:








          其他使用默認設(shè)置。
          第四步:編譯busybox
          make install
          在busybox/_install目錄下會生成busybox文件。同時,在解壓的當前目錄也會存在該文件。
          第五步:修改busybox的文件屬性
          chmod 777 busybox
          必須要修改屬性,否則可能造成無法啟動文件系統(tǒng)。
          第六步:將新生成的busybox替換掉原來的文件,在文件系統(tǒng)根目錄的bin目錄下。
          第七步:替換busybox所需要的庫文件。這一步很關(guān)鍵,使用不同版本的交叉編譯工具編譯出來的busybox,所使用的庫是不同的。FL2440提供的busybox使用的3.3.2的交叉編譯工具,這里我們使用的3.4.1的版本,因此有必要替換掉原來的lib文件。如果不替換,啟動系統(tǒng)時將出現(xiàn)如下錯誤:
          Failed to execute /linuxrc. Attempting defaults...
          busybox使用的庫在如下路徑:
          /usr/local/arm/3.4.1/arm-linux/lib
          這里因交叉編譯環(huán)境安裝路徑不同而有所差異。將該目錄下的*.so,*.so.*,*.a,全拷備到根文件系統(tǒng)的lib目錄下,有文件重命名的直接覆蓋,刪除里面一些不必要的庫文件,如*jpeg*等,否則會出現(xiàn)壓縮的文件系統(tǒng)過大而燒不進去的現(xiàn)象。
          第八步:使用mkyaffs2image工具制作文件系統(tǒng):
          ./mkyaffs2image qte_yaffs qte.yaffs
          第九步:擦除開發(fā)板上的rootfs文件系統(tǒng)分區(qū),重新下載新生成的文件系統(tǒng),重啟開發(fā)板。
          第十步:這時已經(jīng)能夠正常進入控制臺,但是彈出如下錯誤提示:
          mdev: /etc/mdev.conf: No such file or directory
          在文件系統(tǒng)的etc下新建一個空文件mdev.conf,另外修改/etc/init.d下的rcS文件的最后一行為exec /usr/etc/rc.touch,以支持觸摸屏,默認為支持鼠標。
          第十一步:再次制作文件系統(tǒng),同第八步,然后擦除rootfs文件系統(tǒng)分區(qū),重新下載最新的文件系統(tǒng),重啟開發(fā)板。這時一切正常。
          第十二步:嘗試掛載SD卡驅(qū)動,或者使用busybox提供的相關(guān)命令,這次已經(jīng)具備敲命令按TAB鍵延伸的功能了。

          注:
          制作過程中可能遇到文件系統(tǒng)大于64M,由于fl2440內(nèi)存64M,不可能下載下來,所以可以先刪除/usr目錄下有關(guān)圖片等文件,燒完之后,再copy回去即可。


          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();