• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    32M DOM或CF嵌入式Linux系統啟動盤制作

    發布: 2007-7-04 12:06 | 作者: admin | 來源:  網友評論 | 查看: 18次 | 進入軟件測試論壇討論

    領測軟件測試網

      作為嵌入式系統,使用環境通常都比較惡劣,而應用又比較簡單。為系統的穩定通常都需要使用DOM、CF卡一類的存儲設備來代替硬盤。因此需要制作一個小于32M的linux運行系統。

      使用到的軟件包括:syslinux, busybox, linux kernel 2.4.18, redhat 9

     

      作為嵌入式系統,使用環境通常都比較惡劣,而應用又比較簡單。為系統的穩定通常都需要使用DOM、CF卡一類的存儲設備來代替硬盤。因此需要制作一個小于32M的linux運行系統。
    一、準備軟件環境
      1.一套linux的運行環境,選用redhat 9的基本安裝,需要能夠編譯內核方便以后重新編譯內核;
      2.bootloader軟件,選用syslinux中的extlinux;
        http://syslinux.zytor.com
      3.主要系統應用程序,選用busybox;
        busybox能夠以一個小型的應用程序提供整個命令集的功能。
        http://www.busybox.net
       
       
    二、制作可以啟動的盤
       
        fdisk /dev/hdc1
        本實驗使用cf盤+cf to ide轉換卡,用fdisk對盤進行分區,但這一步驟需要確認哪一個設備是cf卡。這個可以同dmesg來看。
       
        mke2fs /dev/hdc1
        格式化cf盤為ext2格式
       
        mkdir /mnt/cf
        mount /dev/hdc1 /mnt/cf
        extlinux /mnt/cf
        安裝bootloader到cf卡上。
       
        完成以后cf卡基本可以引導,現在進行一次重啟動測試一下。
        實驗結果,只需要看到Extlinux 的信息即說明安裝成功。
       
    三、安裝內核和配置引導
        由于目前只是實驗先不進行內核裁減,直接使用redhat 9的內核文件。
        mount /dev/hdc1 /mnt/cf
        cp /boot/vmlinuz-version /mnt/cf/
        cp /boot/initrd-version.img /mnt/cf/
       
        vi /mnt/cf/extlinux.conf
        寫入一下內容:
      default emblinux
      display logo.txt

      label emblinux
         kernel vmlinuz
         append root=/dev/hdc1 initrd=initrd.img splash=silent ide=nodma
         
        首先要注意的文件名為extlinux.conf,因為在syslinux和isolinux中都是使用.cfg的后綴,這樣可能會給人一個錯覺認為也是用.cfg。結果,我在這個地方花了不少的時間,終于找到一個帖子提到使用extlinux.conf。
        另外增加ide=nodma只適用在使用cf卡的情況,這個可以避免啟動時因為讀盤超時而無法繼續的錯誤(0x58)。
       
        完成這些步驟,內核就能引導。
        這一步完成,重啟能看到內核引導信息即為成功。

    四、安裝主要應用程序和運行環境
        mount /dev/hdc1 /mnt/cf
       
        創建需要的目錄
        cd /mnt/cf
        mkdir etc bin sbin var usr lib tmp proc initrd dev
           
        根據busybox的說明編譯,然后安裝。
        make PREFIX=/mnt/cf install
       
        復制基本的dev文件
        cp -arf /dev/* /mnt/cf/dev/
        需要進行一些裁減,否則會超過限制大小。
       
        復制busybox下的examples/bootfloppy/etc目錄下文件
        cp -arf examples/bootfloopy/etc/* /mnt/cf/etc
       
        編輯init.d/rcS文件
        vi /mnt/cf/etc/init.d/rcS
        增加
           /bin/sh
          
        復制lib
        先用ldd busybox看需要哪些so
        把相應的so復制到lib目錄下,這一步比較關鍵。
        復制/lib/modules和/lib/security目錄到/mnt/cf/lib目錄下,并進行一些裁減。

       完成這最后一步,整個啟動盤已經可以正常啟動,并進入shell下。
      
       
       


       

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>