原创 CentOS 6.4 撥號上網全攻略,不行你打我~

注:這裏是物理機上網教程,不是虛擬機,虛擬機沒這麼麻煩~本文是吐槽和教程的混合體,所以各位看官耐心看~    CentOS上網真是個麻煩的事情,它不像Ubuntu一樣在安裝時就能配置好網絡,它會出現各種問題。首先我的電腦直接插網線後,ifc

原创 CentOS 6.0 Minimal最小化安裝後VMware虛擬機聯網詳解

最近想搞個mailman郵件列表,又不想在我常用的CentOS 6.4上做實驗,怕破壞了環境,於是就想裝個試驗機,又嫌它佔空間太大,於是找了半天發現CentOS 6.0的minimal版本最適合了,裝完後發現真的是很小,才600多M,不過因

原创 內核菜鳥的成長之路

好幾個月沒更新博客了,因爲我這一段時間一直在潛心研究 Linux 2.6.24 內核源代碼,重點學習內存管理子系統,內核這東西太過龐大,一時半會兒研究不出什麼成果,所以更新博客的速度就慢了。市面上的內核書籍雖然都是好書,但是總有一些地方一本

原创 Kernel 2.4.0 之 head.S 爲何用兩次 jmp 刷新 EIP 寄存器

在arch\i386\kernel\head.S文件中,自line 100開始有這麼幾行:    movl %cr0,%eax     orl $0x80000000,%eax     movl %eax,%cr0      /* ..an

原创 使用bochs和gdb聯合調試Linux內核

bochs這個軟件準確來說應該叫做“模擬器”,而不是虛擬機,因爲VMware等虛擬機是將Guest系統所有的指令都放到真實硬件上執行,而bochs模擬器則是直接用軟件模擬硬件的執行,舉個例子,在bochs裏你可以自定義CPU指令並在彙編裏使

原创 博客遷移說明

本博客於2017年6月25日遷移至 haolee.io

原创 Linux 內核中邏輯地址/虛擬地址/線性地址三者的區別

本博文引自我的知乎回答:Linux 線性地址,邏輯地址和虛擬地址的關係?爲了防止歧義,以下術語都用英文。部分術語不做解釋了,不然答案就太長了。以下講解都是以代碼段爲例在 Intel 平臺下,邏輯地址(logical address)是 se

原创 使用bochs運行Linux Kernel-2.4.0

上一篇博文講了如何製作bochs硬盤鏡像並且將grub裝進去,這樣我們可以在啓動bochs後進入到grub界面。這篇博文我們將2.4內核寫入硬盤鏡像,這就可以使用bochs直接啓動內核了。我的實驗系統是這麼部署的:CentOS 6.4 VM

原创 Java調用 新浪微博API 接口發微博,逐條講解,絕對清晰

最近要做個課程設計,使用微博控制樹莓派,樹莓派再控制發光二極管的亮和滅,主要設計分兩層,上層是用Java調用新浪微博API來實現對微博旳監聽,當我的微博被回覆時能夠自動讀取評論內容,並根據評論的指令內容來決定樹莓派的控制動作。下層是用C語言

原创 C語言extern引用AT&T彙編中的變量,任意轉換類型

今天研究出了一個小問題,在C語言裏引用匯編的變量,會是什麼結果,彙編中的變量沒有像C語言中int類型那樣的類型約束,可以把數據當作任何類型處理,那麼傳到C語言中我們應該當作什麼類型處理呢。換句話說,在彙編裏定義變量var,在C語言裏引用,我

原创 Linux下C語言圖形化調試工具RedHat Insight,極致調試體驗!

很多人不習慣GDB命令行的調試方式,尤其是使用過Eclipse、VS2010、CodeBlocks那種鼠標懸浮顯示變量值的功能之後,感覺真是太方便了。再一對比GDB要用命令才能顯示變量值,想看源碼還要用list命令,對於那種調了半天還是不見

原创 華爲榮耀3C徹底root的方法

首先你要用任意一款一鍵root軟件將手機root掉,現在的root工具都很容易在一分鐘之內搞定。但是這樣的root都不徹底,你無法修改很多系統文件,比如/system/build.prop,想修改機型信息的話你必須修改這個文件,但是你會發現

原创 使用bochs和grub建立可引導硬盤鏡像

bochs,發音同box,是我非常喜歡的虛擬機,靈活易用方便配置,功能極強,用來調試Linux內核是非常合適的。這篇博文主要講解如何建立硬盤鏡像,並且將grub安裝上去,最後的結果就是bochs啓動後能進入到grub引導界面。下一篇博客再講

原创 Linux 0.12內核與現代內核在內存管理上的區別

0.12內核的內存管理比較簡單粗暴,內核只用了一個頁目錄,只能映射4G的線性空間,所以每個進程的虛擬空間(邏輯空間)只能給到64M,最多64個進程;每個進程都有對應的任務號nr,當一個進程需要分配進程空間時,只需要nr乘以64M就可以得出該

原创 如何向 Linux Kernel 提交 Patch

昨晚終於向內核上游提交了人生中第一個 Patch,今天早上起牀迫不及待的看手機,發現維護者 Andrew Morton 在6點31分回覆我了:The patch has been added to the -mm tree. 頓時感到異常興