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

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

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

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

    linux小系統的構成

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

    領測軟件測試網 linux小系統的構成
    本文是根據工作經歷所寫,主要目的是進行總結,所以寫得很潦草,很多地方的術語也不是很嚴格,歡迎討論tyq7821@sina.com.cn或qq:22796658 msn:tyq7821@hotmail.com

    linux系統真是好,除了做服務器系統、桌面系統,還能做小型系統,嵌入式系統,我對嵌入式系統了解不多,就不多談了,只談一點做幾M大小的小型系統。
    大家談的系統,有的指操作系統、有的還包括應用程序,我比較主張只指OS,一個OS,大家常見了分一體式的和微內核的,linux是一體式的。很多功能就在內核里面,比如文件系統、進程控制、設備驅動、進程間通信、通信協議。除了內核,還要一個磁盤文件系統.(繼續寫,打算每天都抽點時間來寫),還要一個c庫(標準的較大,用stript去處不需要的也有幾M,所以可以用其它小的C庫,只是這些庫有一些功能不支持,但一般應用還是足夠,常用的有uclibc),當然如果用靜態編譯的話,也可以不要庫,但是對于以后擴展不利,除了這些以外,還需要一些常用工具,如基本的ls、fdisk這些,這些程序可以從大系統上拷貝過去(但要注意與C庫版本一致),也可以用SIZE較小的BUSYBOX ,它的功能也有所減少,比如常用的ping就只有3個選項,如果需要功能全的ping,也可以單獨的把它從大系統上拷過來,只要所用的庫(用ldd查看,有時還需用strace來查看)系統上有且版本一致就可以。另外,驅動程序也必不可少。不過,大部分的驅動都可以直接編譯進內核里。對某些特殊硬件,廠家可能提供源代碼,注意這些源代碼是與內核版本相關的,所以很有可能編譯不過,需要更改。

    現在讓我談談制作步驟

    1、準備一個大linux系統(桌面系統),(我的是redhat linux9.0)要把內核源代碼安裝進去。最好是自己做一個lfs,這樣更好。

    2、根據硬件編譯內核

    3、下載busybox源代碼

    4、插好目標機外存,我們用的是dom,則可以把它插在ide插槽上

    5、新建好小型系統文件系統,也就是建立幾個目錄,拷貝/DEV目錄中的文件

    6、編譯busybox進目標機外存(DOM)

    7、拷貝C庫、內核

    8、拷貝啟動程序,安裝啟動程序,我用的是GRUB,修改GRUB.CONF

    系統制作完成,我們制作的系統共5m(沒用UCLIBC,嫌麻煩,反正DOM64M)

    注意常出錯的地方有

    1、c庫版本不一致,啟動后無法執行init

    2、開發機與目標機硬件和grub配合的問題,現象是根本沒法啟動


    文章來源于領測軟件測試網 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>