RSS訂閱本站最新文章:SUBSCRIBE TO RSS FEED
加入我的最愛:ADD FAVORITE
最佳瀏覽1024*768以上,部分字體使用微軟正黑體
  輕鬆。簡單。人生/Linux學習  2007/11/04 20:52 by 哇哇
延續綠色工廠核心改造計畫。Embedded...

進度有點緩慢的說,而且寫篇不算專業的技術性文章代價還頗高,因為通常寫這樣的文章我需要喝茶或是咖啡,剛剛出去買哩茶,看到東山鴨頭順便買哩,代價70元+油炸食物傷身+嘴饞變胖,這樣的代價還真是大=.=

我自己先建置哩一個 Linux 作業環境,kernel 為2.6的版本,之後去 http://www.kernel.org/ 下載 kernel,下載  kernel 應該不用教學吧!那麼解壓縮下載下來的檔案應該也不用教學吧!那麼編譯 kernel 就順便一起省吧^^

其實怎樣編譯 kernel 算是一個很大的關卡,我也不太會,但是基本原則是留下該有的就好,留下需要的就好,這就是最小化核心的原則,這部分其實要爭對用途和主機硬體規格下去調整,我也不能說太多啦。

[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/root/images/main) Initramfs source file(s)

比較特別的是我做哩以上的部分,kernel 和 initrd 做在一起,開機只要一個檔案就可以哩,也就是說在開機管理員的部分,只需要 kernel 一個選項就足夠完成開機到 init 跑完的部分。/root/images/main 這個設定主要就是 Embedded 的所有內容,在編譯核心過後整個目錄將會打包到 vmlinuz 的檔案內,若能順利利用 vmlinuz 開機成功,那就是在記憶體內 run 的 Embedded System 哩。

所以 /root/images/main 這個目錄就很重要哩,du 一下這個目錄的檔案大小就可以知道之後的系統所會佔據的記憶體有多少了,那我這個目錄內到底該有些甚麼呢?你覺得系統內該有的目錄是哪些呢?不要跟我說 C 槽和 Windows 目錄唷=.=,基本上還是遵守 FHS (Filesystem Hierarchy Standard) 的原則,這部分已經算是很基本了,若不知道就多讀點書吧,恩...我去讀書哩...=.=a

其實我建立的目錄也沒有算是很完整啦,但是基本的有 /bin /dev /lib /sbin /tmp /var /boot /etc /proc /sys /usr,然後建立完這些目錄我就開始編譯核心了,因為現階段對我來說把核心縮小比這什麼東西在這些目錄內更重要,先把核心縮小在來煩惱目錄內的東西吧。

其實我也對編譯核心很害怕,因為大多累積的經驗的是 kernel panic,但是大家也都知道 kernel panic 就是開不起來,恩...懂 linux 的人都知道好哩。2.6的編譯算是簡單,因為少哩編譯 2.4 make dep 這個步驟哩,我的大致步驟如下:

設定核心
# make menuconfig
編譯
# make -j4
export INSTALL_PATH 到我創建的目錄
# export INSTALL_PATH=/root/images/main/boot/
安裝到我創建的目錄
# make install
export INSTALL_MOD_PATH 到我創建的目錄,放 modules 啦~
# export INSTALL_MOD_PATH=/root/images/main/
安裝 modules 到我創建的目錄
# make modules_install
接下來要再把 /root/images/main/boot/ 內的東西砍掉,因為安裝完 modules 後我要再把 /root/images/main/boot/ 打包一次,這樣 vmlinuz 內才會有剛剛所安裝的 modules 啊~而 boot 內的東西是沒有必要再打包一次的,因為 boot 內的 vmlinuz 拿來開機就好,沒必要在系統內存在。
# rm -f /root/images/main/boot/*
再次編譯打包
# make -j4
一樣再安裝到我創建的目錄
# make install

來看看 /root/images/main/boot/vmlinuz 有多大吧,我第一次做出來的核心有 83MB,幾次修正後少哩一半到 41MB,但是還是太大,和預期的 10MB 以內差距太大,於是就一再一再的重複上面的步驟,核心越小編譯越快<-廢話一句,此時此刻我已經剩下 16MB,雖然還不到標準但是我先站停繼續縮小核心的動作,因為要先確定可以開機啊~不然再編下不能開機也是枉然。

所以要開始籌備開機必須的 init,一切就是交給 busybox 來解決,網路上相當多資源,大家可以搜尋一下,譬如網路農夫一文,其實我的做法跟他有相同的地方也有差異的地方,我目前的進度也已經完成,但是下回揭曉^^

p.s.我有把 L7 的防火牆加到 kernel 內,這就簡單說一下
# patch -p1 < ../netfilter-layer7-v2.14/iptables-for-kernel-pre2.6.20-layer7-2.14.patch
然後 [*] Prompt for development and/or incomplete code/drivers 要勾選才能看到 L7 的選項唷!












2007/11/04 20:52 2007/11/04 20:52
檔案寄存:teamagic,MaxCDN
http://portable.easylife.tw/trackback/1103

駐廠正妹

開關

Bloggerads

ClickForce

BlogAD

最新文章

  1. 【置頂】【大力玩】全球一動4G隨身分享器,獨樂樂不如眾樂樂!流暢的4G網路!
  2. Instant Color Picker 2.5.0.32 - 功能豐富的螢幕取色工具  (1)
  3. ProduKey v1.45 - 方便保存你的產品序號  (7)
  4. Q-Dir 4.36 - 多視窗的檔案總管  (104)
  5. 【Firefox外掛】Redirector幫您達成輕鬆轉址!特別可以用在mobile01上!  (4)
  6. 【台北西門店】花月嵐。大蒜拳骨拉麵~真是心滿意足的一餐!  (12)
  7. FastPictureViewer 1.2 - 優質的圖片瀏覽軟體  (10)
  8. 真愛零距離 Going the Distance  (2)
  9. 【台南】莉莉水果店。這應該是台南最有名氣的冰品吧~  (16)
  10. Visual Subst v1.0.6 - 讓你把目錄當成磁碟機來使用  (3)
  11. Screen2Exe 3.0 - 高壓縮算法的錄製螢幕工具  (64)
  12. 【台南】清閣水樓。來吃湯包囉!  (6)
  13. Fastcopy v2.02 - 最快的檔案拷貝工具  (69)
  14. CrystalDiskInfo 3.7.0a - 漂亮的報表顯示您的硬碟現狀  (22)
  15. 【備忘】SSH RSYNC遠端同步備份檔案,順便談網站資料備份  
  16. 【台南】正宗的唷!前體育場杏仁豆腐冰  (2)
  17. 台南肉圓的對決!武廟肉圓 v.s 福記肉圓  (4)
  18. Remote Desktop Organizer v1.4.4 - 遠端桌面管理工具  (3)
  19. WizMouse 1.0.0.9 - 不受多層視窗限制,滑鼠依然可以滾滾滾!  (8)
  20. Quicksys RegDefrag 2.9 - 優化系統登錄檔  (8)
  21. Media Player Classic HomeCinema 1.3.2210 - 比Media Player Classic更厲害的?  (53)
  22. 第十三台小徑車。LOUIS GARNEAU MVC。心動  
  23. 【台南】地球咖啡。富立時尚館  (2)
  24. 第十二台小徑車。Speed One R30。心動  (4)
  25. 第十一台小徑車。Performer ECLIPSE TI FORCE。鈦心動  
  26. 節能環保與生活紓壓的一座青山。永龍建設  (10)
  27. LPIC 3考試範圍,到底該如何準備呢?  
  28. Moo0 AudioPlayer 1.49 - 省資源的音樂播放器  (9)
  29. 【台南】帕瑪義式廚房,辣到我都下雨了!  (10)
  30. 體驗新的台南夜騎路線 - 鹿耳門聖母廟  (4)
  31. 【台北】丁家樓麵食館。麵好吃~水餃更好吃!  (4)

網站貼紙

贊助廠商

墨水特賣會,天天都超值
碳粉批發價,天天都便宜
888Boss創業加盟網
阿姆斯壯木地板系統家具 信維記帳士事務所
IT4FUN
帛琉旅遊 便宜機票 長灘島旅遊首選 招牌設計 新竹廚具
九九汽車音響影視 九九汽車音響賣場
台南日本料理吉藏