作者 主題: 內容 dump: SA@Taipei 五月份主題 - 客制化嵌入式linux(含Muti-Path整合)  (閱讀 11027 次)

0 會員 與 1 訪客 正在閱讀本文。

布瓜

  • 可愛的小學生
  • *
  • 文章數: 27
    • 檢視個人資料
剛從台灣科技大學回來,將所聽到的dump出來,如果有不對的請v-ezlinux 兄多多指教: ^ _ ^


使用到套件: iptables, iproute2, snmp(監看是否斷線), cbq|htb, dns, gnugk-2.0.7-linux-x86.tgz(語音影像傳送代理伺服器)


實作embedded linux Lab SOP:

0. 將ip_conntrack_h323 的source code 放到 source 裡

1. shrink source code:
   1.1: #make menuconfig ????如何使得看見ip_conntrack_h323的選項
   1.2: #make dep
   1.3: #make clean
   1.4: #make bzImage 1>/dev/null
   1.5: #make modules 1>/dev/null
   1.6: #make modules_install
 
2. 確認網卡及h323的module有包含進來
   2.1: #modprobe e1000
  2.2: #modprobe ip_conntrack_h323
  2.3: #modprobe ip_nat_h323

3. 製作initrd ramdisk
  3.-2: 查看 /etc/rc.sysinit 去了解需要哪些程式去起始os
         #vi /etc/rc.sysinit
  3.-1: 使用ldd 查出所需的程式需要哪些 xxx.so檔
            #ldd /sbin/iptables
         #ldd /sbin/ls
         #ldd /sbin/* /bin/* /usr/sbin/* /usr/bin/*
         #ldd /usr/bin/perl
         #ldd /sbin/lilo ##很重要,一定要include進來

  3.0: 將所需的xxx.so 放進folder, 使用 busybox 將之縮小 ???哪個folder
  3.1: #gunzip ramdisk.gz
  3.2: #mkdir /mnt/loop
  3.3: #mount -o loop ramdisk /mnt/loop
  3.4: #touch myinitrd
  3.5: #dd if=/dev/zero of=myinitrd bs=2048k count=4
  3.6: #losetup /dev/loop0 myinitrd
  3.7: #mke2fs /dev/loop0
  3.8: #mkdir /mnt/initrd
  3.9: #mount /dev/loop0 /mnt/initrd
  3.10: #cd /mnt/initrd
  3.11: #mkdir etc dev lib bin proc new
  3.12: #touch linuxrc
  3.13: #chmod +x linuxrc
  3.14: #mknod /mnt/initrd/dev/console c 5 1
  3.15: #mknod /mnt/initrd/dev/null c 1 3
  3.16: #mknod /mnt/initrd/dev/hda2 b 3 2
  3.17: #mknod /mnt/initrd/dev/tty c 4 0
  (資料待補: 可參考/usr/src/linux-2.4/Documentation/ramdisk.txt)

4. 將DOM 可以調jump,插在硬碟插槽:hda (slot 1 master) hdb (slot 1 slave)
5. 建立mount 目錄,將DOM mount上去
    5.1: #mkdir /mnt/dom
   5.2: #mount /mnt/dom /dev/hdc (假設dom插在slot 2,dom的jump設在master)
6. 將製作好的 kernel image 及ramdisk initrd 檔寫到 dom
7. 更改root目錄在DOM中
     7.1: #chroot /mnt/dom  ???不確定

8. 更改dom 中的lilo.conf :主要欄位像
     8.1: boot=/dev/hdc
    8.2: bios=0x81
    ........  

9. 使用lilo將此boot 選項寫進DOM 的super block中
     9.1: lilo


醬就大功告成了!!

注意事項:

1.盡量使用uc library來coding,不要用glibrary
2.關於busybox相關資料請上Opensource.lineo.com, 在project list上就有busybox,与busybox相關的有
TinyLogin
uClibc
udhcp


3.疑??
Rpm –qa
Rpm –ql
Mkdir /tmp/testdb
Rpm –initdb –dbpath /tmp/testdb
Rpm –initdb –dbpath /tmp/testdb – Uvh *.rpm ??還是不暸這是要幹嘛的
Ldd /sbin bin /usr/sbin /usr/bin

小徒兒

  • 鑽研的研究生
  • *****
  • 文章數: 621
    • 檢視個人資料
蝦米蝦米是DOM?
« 回覆 #1 於: 2005-05-28 19:26 »
蝦米蝦米是DOM?聽都沒聽過耶 > _ <

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
補遺~

黃先生的 embedded 做法, 是從 secure boot disk 作為起點, 不失為另種好方法; 對於初次接觸 embedded linux 的人來說, 建議先看一下這兩篇文章..
http://www.study-area.org/tips/floppylinux.htm
http://www.study-area.org/tips/floppy-linux.htm
應該可以更清楚的了解到...
linux 開機流程, 以及必要的 Directory tree, 以及它的基本架構.

之後, 如果是以 X86 的系列繼續探討 embedded linux 的話, 可考量採 黃先生的作法, 或是繼續從 floppy linux 往上架構起~
在此架構下, 植入套件的方式有兩種..
一種是 由上而下的瘦身, 一種是由下而上的re-compile
這兩種各有利弊, 請自行實驗後再取捨~~

glibc 與  uclibc 的差異在哪兒, 請洽 google 神~

H323 的套件,黃先生有一份 patch 檔, 若要測試這一部份,
等黃先生有新的 release 或是到 TnLUG 網站抓~
Pail Luo.
Email: pail.luo@gmail.com

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料
patch檔己經放到tnlug上了,感謝V-ezlinux兄的分享!!  ^^

V-ezlinux

  • 憂鬱的高中生
  • ***
  • 文章數: 128
    • 檢視個人資料
mini-linux
« 回覆 #5 於: 2005-06-02 15:17 »
哇哈哈專研有樂趣巴! rpm 我有說明可以拿還檢查相依性不是嗎?當然您也可以用ldd檢查...等這大家都有概念..就可以算入門完成摟...接下來就可能要動到一些程式了...如果有空專研一下核心哇更有趣喔 ....保證天天不想睡覺喔...樂在電腦理不想離開.... :D 換成uclibc感覺最難..加油....

小圭

  • 憂鬱的高中生
  • ***
  • 文章數: 92
    • 檢視個人資料
    • 超好用網路行銷工具
Re: 蝦米蝦米是DOM?
« 回覆 #6 於: 2005-06-08 00:27 »
引述: "小徒兒"
蝦米蝦米是DOM?聽都沒聽過耶 > _ <


http://www.sciformosa.com.tw/products/images/tc-ide-dom.jpg

一種儲存裝置,一種IDE界面的儲存裝置....
直接插在IDE插槽上..了嗎 ^__^




(千萬別問...什麼是IDE)
更多超好用網路行銷工具在這
請各位幫我在活動相片按讚哦:http://on.fb.me/1DREeVa

V-ezlinux

  • 憂鬱的高中生
  • ***
  • 文章數: 128
    • 檢視個人資料
disk on modules
« 回覆 #7 於: 2005-06-15 17:47 »
是的有粉多種方法,從最基本的os了解起將來遇到問題or換新版本比較ok拉