引用 | 編輯
linuxredhat
2005-03-08 17:21 |
樓主
▼ |
||
x0
Disk On Module (DOM) 是目前蠻熱的TOPIC,我只知道要用到RAM DISK,試過幾次,但均未成功。希望有經驗的大大能分享寶貴的經驗。 x0
|
引用 | 編輯
linuxredhat
2005-03-09 19:03 |
2樓
▲ ▼ |
我的os是knoppix,我想將它裝到dom內, 僅開機利用到它, 等開機完畢後, 所有SERVICES從ramdisk上執行, 如此dom寿命才會長,且執行速度亦達最佳之效能,除非一些重要記錄會寫回dom,皆在RAMDISK上執行.
x0 |
引用 | 編輯
hiops
2005-03-10 20:06 |
3樓
▲ |
其實我也是最近才開始在碰嵌入式系統!
我ㄉ做法跟你不太一樣! 不過是可行ㄉ 我是去參考益達網ㄉ作法自己下去做ㄉ http://id.epowerbox.com/index.php?a=bb00197 你可以試看看 還是有興趣我們可以互相交流~ 一、準備linux kernel, busybox, syslinux三項基本工具 (kernel網址:linux.sinica.edu.tw台灣在這下載比較快 busybox網址:busybox.net/ syslinux網址:syslinux.zytor.com/) 二、編譯一顆linux核心確定它在你系統上是可以正常運作的 (若無可以直接拿你現在的核心在你的/boot目錄之下) 三、編譯syslinux及busybox(需安裝nasm) 四、關機, 接上DOM, 並在BIOS設定它為Master的slave硬碟 五、開機確認DOM在BIOS有偵測正常,進入linux系統 六、使用fdisk分割DOM, 其中一塊割為1M以上設定為MS-dos格式 (給syslinux使用) 剩餘的你自由利用(可以分成一大塊ext2的) 如:fdisk /dev/hdb (我的DOM是掛在hdb上的) 七、使用mkdosfs及mke2fs格式化DOM,每塊你在DOM上的partition都要 如:mkdosfs /dev/hdb1(我DOM的第一分割區) mke2fs /dev/hdb2(我DOM的第二分割區) 八、使用syslinux在第一分割區建立開機系統 如:syslinux /dev/hdb1 九、掛載DOM的磁區 如:mount /dev/hdb1 /mnt/domBoot mount /dev/hdb2 /mnt/dom 十、依syslinux說明複製檔案到第一磁區中 需要複製的檔案有: 1開機訊息檔(syslinux中有一個例子) 2syslinux.cfg(我不知有沒有記錯名子...) 其中指定root為/dev/hda2 (也就是我們在DOM上的第二分割區,不過在用DOM開機時它是hda 所以玩家們別弄錯了) 餘學lilo.conf寫就可以了 3核心一顆 (自己編譯比較高杆,拿現在系統也不丟人啦) 在syslinux中有sample可以參考,粉簡單滴 十一、卸下第一分割區 umount /dev/hdb1 十二、在busybox中安裝程式到第二分割區 如在busybox中下達 make PREFIX=/mnt/dom install (將busybox安裝到/mnt/dom之中) 十三、在/mnt/dom中建立dev及etc、proc等目錄及其中的檔案 懶人們可以直接copy在你現在系統中的檔案進去 詳細方法嘛....和一般linux一模一樣不再多述 接著是最難的一關.... 使用busybox的init,或是你可以使用標準的init都可以 反正那個inittab的檔案就是要你自己寫了,留點東東 有興趣的人可以自己試,在這就不公佈謎底了,. (到此你可以重開機試試自己的DOM可不可以正常開機了) 十四、建立一個暫用的RPM資料庫目錄 如rpm --initdb --dbpath /tmp/domrpm 因為你總不希望為了個DOM毀了你現在系統的RPM資料庫吧 另建個新滴來用比較好啦 十五、用RPM將你要的檔案安裝進去 如rpm --dbpath /tmp/domrpm -ivh abc-1.0.i386.rpm 空間多大就可裝多少,愛裝apache就有apache, 夠大的話來個X都可以滴.... 十六、將這資料庫刪除...(以後用不到了) 如rm -rf /tmp/domrpm 十七、卸下/mnt/dom,並關機 如umount /mnt/dom 十八、調整DOM的jmp,BIOS,移去原有的硬碟 十九、開機 廿、來點掌聲吧....... 啪啪啪!!! 文中也許帶點戲謔的文字,但是方法是真正可行的,在X86系統上玩 embedded-linux是真的很簡單,瞧,還可以用RPM來裝耶 這般做出來的系統穩定性和安全性都有一定的程度之上的 (然busybox有安全漏洞) 大小應該可以在16MB之內,不過因為還要裝Apache和PHP所以建議您 使用32MB的DOM才可以多放點美美的網頁在DOM之中, 近來Flash的顆粒己經不如以往的高價格了 32MB也才490元 緊縮到8MB以下的話,什麼也不能做,圖形介面也上不去 我看大概只剩下向人炫耀的功能了 又要花錢去買一堆莫名奇妙又不好用的軟體(真差勁說) 它商業上的價值在現階段己經是最低點了囉 Embedded系統您需要記住 1載入程式,即上述的syslinux或你電腦中的LILO 2核心,即linux kernel或MS WindowCE 3shell,在上述例子中我們用busybox來實現sh及一些file tools等 然就你就無往不利了 而最難的部份應該是在不同平台上,如其它CPU非X86系列的 它們有不的的記憶體定址方法,不同的暫存器 有些還沒有浮點運算(大多沒有), 所以要不同的核心不同的Gcc不同的Glibc 對不同的平台核心又要不同的arch 反正呢 X86上除了容量小一點外 可以說所有embedded系統的難關都沒有說 真是個適合入門的題目呀 x0 |