原创 Linux ELF格式文件解析之relocation和entry入口點,基於gas彙編語言視角

問題引入:     Linux的elf文件一開始理解起來的確很難,有的人可能會去看《linkers and loaders》,這書的確好,但是沒有詳細的解釋很多細節,尤其是從彙編語言視角。我讀了這本書很多地方後還是不明白,然後我又

原创 GCC 內聯彙編約束字符"m"的用法

    ​首先是這麼一段代碼(例一): #include<stdio.h> void main() { char c; //int tmp; char *s="abcdefg"; asm("movb 

原创 LFS雜記

第六章 注意這一章先檢查root用戶下$LFS是否指向/mnt/lfs 從本章開始所有的操作都在root下,而非lfs用戶! 6.2.1 mknod用於創建特殊類型的文件,例如設備文件 詳見百度百科 6.2.2 mount的--bind可

原创 Linux0.00內核爲什麼要自己設置0x80號陷阱門來調用write_char過程?

    我一開始沒注意這個問題,只是通過陷阱門覺得很繞彎子,爲何不在3級用戶代碼裏直接調用write_char,今天自己寫程序想用call調用代碼段,才發現了大問題。我寫了個類似於write_char的過程,代碼如下: dividi

原创 CentOS 6.4保留yum下載的rpm包

yum 默認情況下,升級或者安裝後,會刪除下載的rpm包。 可以設置升級後不刪除下載的rpm包 vi /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0 將 keepca

原创 理解Linux和其他UNIX-Like系統上的平均負載

理解Linux和其他UNIX-Like系統上的平均負載  Linux,Mac以及其他UNIX-like系統都能顯示出“load average”信息。這些數字告訴你,你係統的CPU、硬盤、以及其他資源的忙碌程度。他們看

原创 CentOS GRUB引導錯誤無法進入系統解決辦法

本來想整個LFS試試,結果在最後關頭設置LFS系統啓動的時候掛了。其餘的安裝筆記沒寫多少,先來寫寫系統怎麼掛的。 在LFS之前就在想,萬一把我宿主機掛了咋辦,沒想到真掛了。 但我進行到LFS系統grub安裝時,那LFS說明上說的也不明白,

原创 CentOS 6.4 卸載與安裝桌面

針對CentOS 6.4。(其他系統版本的軟件組名字不同,未測試) 如果沒有桌面,如下安裝 安裝方法: 先安裝Xwindow軟件組 yum groupinstall “X Window System” 再裝桌面 yum groupinst

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

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

原创 Linux0.00 ld鏈接時爲什麼加上-Ttext 0

    ​彙編程序會經過二次遍歷,有些符號引用會被標記爲可重定位,在編譯好後他們的偏移值是其在代碼內部的偏移值,即LC計數器的值,當載入內存運行時,由於起始加載地址會不確定,所以會在加載後把代碼段所在的內存起始地址加到符號引用原有的偏移

原创 LFS終結篇,總結

         自8.1開始看LFS,前四章慢慢悠悠的看,讀得很細,後來開始裝臨時工具鏈,第一個Binutils我認認真真把每個解釋都看了,雖然不懂。第二個軟件是GCC,我依然慢慢看完了各個配置參數解釋。到了Glibc我看不下去了,看

原创 Linux彙編GAS調用C語言函數實例

    Blum的書上只講了C語言調用匯編,沒講彙編調用C語言。我自己嘗試了下。 最終試驗成功了,在此寫出與大家分享。期間歷經無數錯誤,無數異常,我不是醉了,而是跪了。。。好在最後好了。     程序實現一個換值功能,在main

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

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

原创 RedHat/CentOS發行版本號及內核版本號對照表

Redhat 9.0———————————————2.4.20-8 RHEL 3 Update 8————————————2.4.21-47 RHEL 4 ————————————————2.6.9-5 RHEL 4 Update

原创 LFS之(3)GRUB引導設置

        LFS7.5-BOOK上前面寫的很好,特麼到了最關鍵的地方就蛋疼。尼瑪,寫的不明白。        先來說說centos6.4的grub版本問題,搞了半天是0.97的,我還特麼以爲2.0的, 這倆版本的分區編號不同,2.0