• <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-07-04來源:作者:點擊數: 標簽:
    作為 嵌入式 系統,使用環境通常都比較惡劣,而應用又比較簡單。為系統的穩定通常都需要使用DOM、CF卡一類的存儲設備來代替硬盤。因此需要制作一個小于32M的linux運行系統。 使用到的軟件包括:syslinux, busybox, linux kernel 2.4.18, redhat 9 作為嵌入式

      作為嵌入式系統,使用環境通常都比較惡劣,而應用又比較簡單。為系統的穩定通常都需要使用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

    老湿亚洲永久精品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>