有人在x86上直接運行 Kernel嗎 - Linux

Gary avatar
By Gary
at 2010-01-06T14:54

Table of Contents

※ 引述《sorkayi (尋找奶昔)》之銘言:
: 有人有試過 不用 LFS 直接在 x86 上運行 kernel
以前公司製作過個fax dom跟soho nas dom的產品。就是直接在fdos下
弄一個loader,啟動後先掃描硬體做pre post然後直接把kernel配置好
後跑自己的init。然後這個羽量級的init再去啟動指定應用程式,鎖定
console(自家的選單化gatty)。

說穿了就是只使用kernel來做tcp stack跟fs handler以及硬體driver。
整個系統在2.4時需求3mb的ram,2.6時大約4mb,fax server多出約2mb
的fax daemon以及intel肥死人不償命的modem dsp code(1.1mb)。因為
無法預期客人會拿去插在甚麼硬體上,所以一概以smp+bigmem編譯但沒
做64bit的版本。開機時間在386/66舊pc上不含硬碟掃描約6秒(因為程
式都在dom上,而且dom是readonly,所以我硬碟掃描是開機後的背景應
用程式)

第一版時因為都在實驗性質,所以使用的是128mb的dom。到最終銷售版
本時使用的是64mb的 dom(因為買不到32或16的,太小了),實際使用
dom約10mb。所以多出太多空間,就作成可以線上update。update 時就
把新版放到dom的另一個新區,boot loader啟動時多做一次md5 檢查。
新版完整性ok就跑新版本,不然就自動龜回去跑舊版本。

其實,要自己跑kernel並不困難:強一點從loader跟kernel parameter
動手,弱一點花點時間把init弄懂就很輕鬆上手了。

--
~~~ 一切的正義在曼尼大神的正義之前均無足輕重
在海賊的砲口下唯有曼尼大神的正義可以私下研究 ~~~
-= WolfLord =-
BM4GMR - A23203 -

--
Tags: Linux

All Comments

Hedda avatar
By Hedda
at 2010-01-06T22:12
W大真神人 做過這麼多了 W大有什麼資料可以提供嗎
Oscar avatar
By Oscar
at 2010-01-11T05:39
有什麼書是必讀的嗎@@?
Faithe avatar
By Faithe
at 2010-01-11T08:30
去拿Loadlin的Source來看 ^.^
Ina avatar
By Ina
at 2010-01-11T22:43
對阿!上次看了一下GRUB code還蠻強大的還有一個東西
COREBOOT還蠻屌的

hp p1006之非常難搞篇

Jacob avatar
By Jacob
at 2010-01-06T00:00
※ 引述《sony1733 (應天之風)》之銘言: : ※ 引述《DreamerC (DreamerC)》之銘言: : 印表機是有找到裝置,驅動也安裝了hplip : 可是就是沒辦法列印...囧 我在安裝Epson-ALCX11 印表機 時跟你一樣出現 相同的問題一有找到裝置,驅動也裝了就是無法列印。 後 ...

make時發生錯誤

Kama avatar
By Kama
at 2010-01-05T22:20
※ 引述《evilkids (背著蒙古包睡你家)》之銘言: : Serialize.h:299: error: ‘virtual void oasys::SerializeAction::process : andlt; const char*, int* andgt;and#39; cannot be o ...

xen的domain-U卡住了...

Oliver avatar
By Oliver
at 2010-01-05T22:14
因為學校課程我們的專題是做xen 目前卡關的地方是 建立一個domain-U沒問題 開啟並要登入他的時候會跑很慢.... 而且最後面會出現這一句文字 Starting system log daemon: syslogd 然後過了好久才會有出現登入domain-U的畫面 而登入畫面出現之前最後一 ...

hp p1006之非常難搞篇

Ingrid avatar
By Ingrid
at 2010-01-05T19:32
※ 引述《DreamerC (DreamerC)》之銘言: : ※ 引述《sony1733 (應天之風)》之銘言: : : 本來估計是今年全面轉換為linux系統 : : 沒想到發現hp p1006雷射印表機的驅動完全動不了 : : 網路上面的相關文章全部看遍了 : : 還是驅動不起來 : : 請問有哪位強者 ...

make時發生錯誤

Hedwig avatar
By Hedwig
at 2010-01-05T18:23
Serialize.h:299: error: ‘virtual void oasys::SerializeAction::process andlt; const char*, int* andgt;and#39; cannot be overloaded make: *** [debug/DebugU ...