This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

2010年8月27日 星期五

qemu 測試linux kernel

用qemu來測試kernel的行為其實蠻適合的
最近把console導到serial在導到終端機裡,看起來順眼許多

#qemu -kernel arch/x86/boot/bzImage -append console=ttyS0 -serial stdio

2010年8月23日 星期一

linux 2.6 book [英文版]

無聊收集一下目前有哪些linux 2.6的書[英文版]!!
其他相關
1. 中文版不是翻譯書,
2. 驅動的書,
3. linux 2.4
4 舊版linux,
5. 雜項書籍
...有機會在補
網路方面我實在不熟沒在收集~

有漏的話將來在改!



[2.6.7]有繁體














[2.6.10]有繁體












[2.6.11]有繁體















[2.6.24]有簡體















[2.6.30]















有機會的話最好每本都看~
反正可以只看你想看的主題

如果一定要推荐的話會是ULK吧
這本最適合入門跟參考

Linux Kernel in a Nutshell

Linux Kernel in a Nutshell




















這本很少頁,但對新手開發驅動其實很有用,算是經驗談
由其是第7章,值得看看,教你如何移除不需要的驅動,跟找到合適的驅動
其中有兩個工具
1. find_all_modules.sh
2. get-driver.sh

非常有用!!

2010年7月12日 星期一

LinSched: The Linux Scheduler Simulator

Linsched[http://www.cs.unc.edu/~jmc/linsched/]

最近看了幾篇scheduler的論文, 發現有很多拿 linux kernel做實驗的論文,其中一篇把linux kernel的scheduling subsystem直接移到user space感覺不賴!!可見作者對kernel有一定程度的理解,把其他不需的的很多都移掉了.

以下是作者把kernel很多部份移除後還能動的部份.

2010年7月7日 星期三

[BFS] Brain_Fuck_Scheduler

最近在看Scheduler的東西 , 找到幾篇文章寫關於SD vs CFS的故事

蠻有趣的!

這故事還有續集但好像沒人提過!

幾篇文章都說Ingo Molnar的CFS擊敗Con Kolivas(ck)的SD 成為主線

scheduler,然後ck退黨消失!

故事的後續就是ck於2009捲土重來, 用他的Brain FuckScheduler(BFS)跟主流CFS分庭抗禮!!

LKML上又再次槓上Ingo Molnar~果然刺激阿!

我程度不夠無法比較出誰好!

所以列出參考資料讓有興趣人人看看

BFS wiki
[http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler]

ck的BFS
[http://users.on.net/~ckolivas/kernel/]

2010年7月2日 星期五

HackingThursday 7/1

這星期在HackingThursday 看到有人在看ohloh [http://www.ohloh.net/]

才得知這網站似乎有統計,分析能力~

查了一下我關注的project,膜拜一下 XD












可以看到有一些project資訊可看











程式碼統計~恩!很好 C code約8百萬行














貢獻度 ~呵!!非常好 Linus.Torvalds 第一名















這排名好像綜合的!而且沒在統計目前誰最強 !!XD

第二名好像是做網路部份
第三名就是CFS的發明兼維護人

這純粹是好玩!無聊時可以看看!!

prex 0.8.1 for QEMU x86

prex 是一個RTOS似乎值得看看!
之前想把QEMU ARM版的prex跑起來!可是有點問題
無耐之下只好用x86的版本


[http://prex.sourceforge.net/]
prex-0.8.1.tar.gz //包辦了prex+bootloader
./configure --target=i386-pc

make


//用下面的scrip做floppy image(官網挖到的~) ,不過主要做的事就是做一張可以開機的floppy!!

//暫無題供!!自己去官方討論區挖!本來想貼上來~但格式好像會跑掉

sudo ./image.sh 123.img
//scrip後面接要產生的img檔名
qemu -fda 123.img

2010年6月1日 星期二

QEMU mini2440 半殘教學!

[reference]
http://opencsl.openfoundry.org/
http://trac.mixam.info/mini2440/wiki/Qemu

最近把QEMU mini2440 跑起來了!做個半殘教學~因為網路跟flash部份沒做
這兩個部份其實qemu都有模擬出來了(強大阿)

1. http://repo.or.cz/w/qemu/mini2440.git
下載qemu,u-boot,kernel ~想辦法把他們都編譯過
kernel
make ARCH=arm mini2440_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux- uImage
kernel 啟動部份我使用initramfs(很偷懶)
u-boot
make mini2440_config
make CROSS_COMPILE=arm-linux-
qemu
./configure --target-list=arm-softmmu
make
我發現qemu mini2440啟動會從u-boot.bin開始.我是用絕對路徑
所以要到hw/mini2440.c中把load_image改成你u-boot.bin存放路徑
2.sudo ./qemu-system-arm -kernel uImage -M mini2440 -singlestep -d in_asm -mtdblock mini2440_nand.bin
接下來就啟動啦!!!

Demo
u-boot












kernel

2010年5月21日 星期五

QEMU mini2440

mini2440真的蠻酷的!!連QEMU都有人在維護
目前版本是0.10.可以跑u-boot

2010年4月12日 星期一

Jari Operating System

http://jarios.org/
AMD64的kernel
qemu-system-x86_64 -serial /dev/stdout jarios-amd64-0.0.1a.img
GOOD!microkernel

2010年3月9日 星期二

QEMU指令memsave ,xp

看QEMU說明書有幾個跟memory相關指令
1.‘memsave addr size file’
save to disk virtual memory dump
starting at addr of size size.
2.‘pmemsave addr size file’
save to disk physical memory dump
starting at addr of size size.
3.‘xp /fmt addr’
Physical memory dump starting at addr.

一開始沒看說明書直接測試,一直得到跟想像不同的結果
原來memsave指令是用虛擬位址,xp指令用實體位址.
所以結論是在kernel mode想看兩者對應
xp /10x 0x0
memsave 0xc0000000 10 test

老師都教過一般情況kernel mode 的虛擬地址0xc0000000對應到實體位址0
由此可以觀察到 ..kerker

2010年2月10日 星期三

QEMU SDL

我用qemu 0.12突然發現,不知何時開始QEMU的LCD竟然已經變得可以伸縮了

arm的支持也變得更為強大了,多了好幾個開發版,不過我還是只用ARM9系列

2010年2月5日 星期五

QEMU CuRT v1 單步執行

CuRT v1
據jserv說有v2,但不知何年何月才會release阿!!

不過可以看qemu的說明書中有singlestep跟-d選項可以玩玩

$ qemu-system-arm -d ? //可以看到原來qem可以把指令印出來喔,有點意思
Log items (comma separated):
out_asm show generated host assembly code for each compiled TB
in_asm show target assembly code for each compiled TB
op show micro ops for each compiled TB
op_opt show micro ops after liveness analysis
int show interrupts/exceptions in short format
exec show trace before each executed TB (lots of logs)
cpu show CPU state before block translation

所以啦!結合兩者,在CuRT的run-on-connex改成如下

qemu-system-arm \
-M connex \
-singlestep \
-d in_asm\
-pflash flash-image

可以到/tmp/qemu.log中看看結果摟(看程式碼覺得這好像是寫死的,所以要用root權限來執行喔)

QEMU Doom

cool , 用QEMU玩doom

可以完全從程式碼到開始玩遊戲,自己編譯喔