2009年6月18日 星期四

Systemtap on Fedora10

yum install systemtap kernel-devel
yum --enablerepo=fedora-debuginfo --enablerepo=updates-debuginfo install
kernel-debuginfo


http://sourceware.org/systemtap/wiki/SystemtapOnFedora

打這些指令,再跑助教的兩道測試指令(hello probe & ??? probe),應可以正常work。
記得要有root權限,可換成root帳號或是sudo或su達成。

OS_hw5

此用於kernel 2.6.25以上,略過部分步驟,例如要clone host system for producing target system


我用的OSFedora10gcc4.3.2Linux kernel 2.6.29

由於kernel 2.6.25以後,kgdb已附在裡面,所以不用下載kgdbpatch,用不到助教投影片給的patch方法,但仍有一些設定需要按照投影片的做法。

要先對目前的Fedoraclone,然後到linux網站下載2.6.29kernel,要打開target systemyield CPU on pollVMTargethost都要設定serial port,一個設client,一個設server


其他步驟和舊版本kernel 差不多,請參照其他人寫的舊版本使用方法。
此方法經證實可在2.6.29上使用
感謝yungshin提供方法


0.安裝ncurses-devel
sudo yum install ncurses-devel

1.linux kernel 2.6.25以上 已藏有 kgdb,不用再下載kgdb的source code
輸入make menuconfig,選擇特定選項,啟用kgdb

設定.config檔
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_RODATA=n

2.將host system和 target system 的vm 開啟serial port,做server and client設定

3.host 切為root權限,這步不用在target system上做
make
make modules
make modules_install
make install

4.複製三個重要檔案到target system的 /boot/
vmlinuz-(uname -r)
System.map-(uname -r)
initrd-(uname -r).img

5.修改target system的 /boot/grub/menu.lst
若timeout=0,將它改為五

新增
title Fedora (OOXXkgdb)
root (hd0,0)
kernel /vmlinuz-(uname -r) ro kgdboc=ttyS0,115200 kgdbwait
initrd /initrd-(uname -r).img

5.1
設定target system的kernel.sysrq為一
這樣target就會在開機的時候等host的gdb進來
請vim /etc/sysctl.conf



6.將target system reboot,並把host system 切換到root 權限和linux source
code 的資料夾(自己下載的檔案解壓縮)。

host system 要在target system 重開機時馬上輸入兩行指令
gdb vmlinuz
target remote /dev/ttyS0


7.差不多結束


Reference:

http://blog.linux.org.tw/~jserv/archives/002045.html

http://linux.chinaunix.net/bbs/archiver/tid-1045674.html

http://www.penna.cn/blog/article.asp?id=179

http://bbs.driverdevelop.com/htm_data/12/0807/112490.html


心得:

感謝同學互相幫忙,不然因為新版本核心,不是助教投影片上寫的fedora8,要找的資料很多很雜,很擔心沒有太多時間看資料一個一個方法測試。做的過程當中,重做好幾次,覺得很煩,而且不知道自己做得對不對,因此沒有拍照記錄過程。

期末考

寫得很順,應該會拿得不錯的成績。
覺得老師講得很抽象,也不知道要考哪邊,os是個天書科目。


唸書時候的心裡狀態
osososososososososososososossoososososososososososososososososososososososososoooooooooooooooooooooooooooooooooooooooooooossssssssssssssssssssssssssooooooooooooossssssssssssssssssooooooooooooossssssssssssssos


考完試的心裡狀態
(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)



念DB和Compiler時,心裡很慌,看不完,大概是這樣吧
〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒〒△〒

考完試,心情就....
OrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrz
OrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrzOrz


==========

寫完OS部落格,暑假就到了!!



2009年6月14日 星期日

更改Linux內的shell

如果覺得Linux內的bash shell沒有顏色,很陽春,想換成別的shell,例如FreeBSD上有顏色的csh,可以依照下面的步驟。
此步驟適用於 fedora,示範從bash to csh

1. 安裝 tcsh套件
yum list tcsh*
yum install [tcsh_name]

2.
chsh -l
chsh -s [path of csh]

3.logout

4.login
成功

2009年6月12日 星期五

期末project

因為前兩個作業弄KGDB升到新的版本2.6.27,
今天要做project時發現,打stap command, shell 會說找不到這個指令。

於是我重安裝systemtap和相關的package(kernel-devel,...etc),
但是呢,安裝完之後,連基本的hello probe測試都不會過。
我不知道是什麼原因啦,目前打算拿舊的核心來做。



如果有人試出來2.6.27上面可以跑systemtap,和通過hello probe測試,
麻煩通知我一下,讓我知道,謝謝。(六月份過後就不用跟我說了XD)

--
灌了兩次 0rz,整個晚上都耗在這邊=.=

六月份上OS心得

終於上到Linux了,等很久。卻發現已經沒多少上課時間,唉唉,可惜,我還以為這門課可以學到寫Linux的driver。算了沒關係,還是有其他課教。

只不過,老師說,Linux和uCOS-II概念上很多是相同的,所以他上很快,誰知道呢。我記得,上學期學OS時,還蠻快樂的,這學期就普普通通,應該是我個人的問題吧。


上學期從恐龍書學到OS怎麼排程、很多排工作的演算法,我有用書上的方法應用在平常做事情,像是作業due day要到了,該決定哪些hw 要先做、哪些先不做,要注意別讓某些作業starvation,因為很重要。想一想,上學期過得驚險刺激,而且還蠻好笑的 XD。那時候覺得,想出那些排程演算法的人,一定很會安排工作和協調事務,不然怎麼拚命榨乾CPU的資源,怎麼使OS達到最高效率、和統合其他設備?


2009年6月7日 星期日

媒體恐嚇的時代

這篇不是長篇大論的文章,只是個人念書念到累,休息看新聞的心得。

最近畢業季,人力銀行一直在媒體上放送,叫大學生不要眼高手低,有工作做就好,因為台大的學生也無法靠台大招牌拿到一個好工作。而且薪水愈報愈低,去X的OOXX人力銀行。

台灣根本沒有勞委會吧!只有資委會,站在資方那邊的委員會。

你們這些人,只會站在資方那邊說話,不會幫勞方說點話。資方在不景氣的年代也還想要有相同的利潤,混帳。做這種缺德事,早晚你們也會遭殃的。



---
這陣子,觀察一些事物有些心得:
1.台灣人沒有骨氣,因為中國採購台灣零組件,就低聲下氣。就像你是老闆,顧客行為再怎麼爛,他還是顧客,只要賺到他的錢,他要怎樣都無所謂。我不是台獨份子,只是看新聞,有這樣的感想。

2.沒有羞恥心。只要人家給錢就替他做事,不管是不是對的,有錢賺就好,抱持著反正受害的不是我之心態,這非常不可取。

3.政府提的大專生實習方案,很多人都在罵,大學生的薪水只有22000?定這政策的人到底有沒有腦袋?你這個政策已經讓不肖企業把大學生的薪水定在兩萬二,而且兩萬二還不是全由企業出,政府也出。有沒有腦袋啊!

4.政府單位很多人其實不適合目前職位,做事不會做,尸位素餐,坐領乾薪。訂一些莫名其妙的法案,政策,讓民眾、大家都痛苦。太過專業或樣樣通樣樣鬆都不好,專業的人要多接觸人群,才能傾聽目標族群後,用自己的所學幫助他們;樣樣通樣樣鬆的人,要試著專心學一樣東西,不要半調子不專心。

5.台灣人不合群,有規則就不想遵守,有傳統就想打破。固然某些可能是不合時宜,但有些之所以會成為傳統、規則,是前人走過的路、留下的教訓,前人想讓後進少走點冤枉路,才提醒後輩的。不想,後輩一點也不在意,套用強者我同學的話:「歷史帶給人教訓,但人往往總不記得。」

6.台灣人目前沒有聲音,對未來普遍盲然,不知道該何去何從。這也不能怪他們,因為他們聽媒體說工作很難找,景氣不好,所以老闆要求加班、超時工作,也不敢吭一聲。下班之後很累,看看電視新聞,竟是些狗屁倒灶的事情,例如酷酷嫂怎樣怎樣的,馬英九被他太太虧怎樣怎樣的,看到這些就傻眼了,新聞報這些有什麼用,對未來沒有幫助,連監督政府的功能也愈來愈薄弱。心裡想說些社會現況或政策的感想,卻因對政策了解不充分,心有餘而力不足,懶得動筆寫,於是選擇沉默。

7.黨政軍尚未退出媒體,無法發揮監督政府的功能。同時有一怪象,前幾天中時集團底下的媒體聯合嗆NCC,這真是令我驚訝!一個擁有各種傳播媒介的集團,用龐大的資源批評NCC,而且是站在私利角度,太誇張了!私人單位企圖凌駕政府機器。


---
一直以來,常被學校師長和認識的長輩耳提面命,說對岸的學生很優秀,不好好努力充實自己,將無法在未來和他們競爭,因為他們工資低廉,拚了命的讀書、認真工作,挺優秀的!認真的態度不是台灣大學生可以比擬的。恩,也許是吧,但我想要有生活品質,不想賣肝賣身體換酬勞。可能我的資質贏不了top的人,至少我認認真真的努力,做好自己的本份外,多吸收一點知識,也不會輸給他們太多。還沒比怎麼知道輸贏呢?



活在全球化的時代,人是財務報表內的人事成本、生產工具,必須以各種方法提升自己的工作效率,替團體謀求更大的利潤──如同作業系統,不斷地被提出各種優化方法,例如round robin、FIFO、LIFO、preemptive kernel、支援多核心CPU、分時工作等等最佳化技巧,榨乾系統資源以提升performance。

可是,能夠這樣類比嗎?我們是人,不是作業系統,更不是機器!