當前位置:首頁 » 操作系統 » redhat內核源碼

redhat內核源碼

發布時間: 2022-10-06 03:22:54

『壹』 redhat9.0安裝好後默認是不帶內核源碼的嗎

是的,不僅redhat,大多數發行版的linux安裝好後都是不帶內核源代碼的,僅僅是導出了一些開發用的頭文件什麼的,並不完整。
要想得到源代碼,需要自己去下載,鏈接請看參考資料,反正一份linux源碼也並不太大,下載還是很快的。

有問題請追問啊!

『貳』 linux下怎樣用ctags查看內核源碼

ctags(Generate tag files for source code)是vim下方便代碼閱讀的工具。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。
ctags能夠定位如下內容:

1)用#define定義的宏
2)枚舉型變數的值
3)函數的定義、原型和聲明
4)名字空間(namespace)
5)類型定義(typedefs)
6)變數(包括定義和聲明)
7)類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
8)類、結構和聯合中成員變數或函數

安裝ctags,如果是RedHat,則直接使用yum命令安裝:在指定的源碼位置生成tags文件,並且我們添加很多參數來完善ctags的功能(為了體現其功能的強大,我用它來生成linux源碼的tags文件):
然後我們查看tags內容就可以發現,原來tags就是linux內核代碼中各個元素的索引,這也就是ctags結合vim可以快速進行定位的原因了(查詢就是通過這個文件內容來定位的):

『叄』 redhat跟centOS的區別

首先因為Redhat是基於Linux內核的,Linux本身就是開源的,根據Linux內核遵循GPL v2協議的規定,Redhat系統必須開源它的源碼,事實上Redhat的編譯版本和源碼都是可以免費下載的。所以有人就下載了Redhat的源碼,把Redhat的logo之類的標志、版本信息去掉後,自己編譯成一個系統,並上傳到網上供大家下載使用,後來成立了一個組織專門做優化這個自己編譯的操作系統,並把這個系統叫做:Community enterprise operating system,取第一個單詞的首字母C和第二個單詞的前三個字母ent,簡稱Cent操作系統,而我們知道操作系統一般都用OS做簡稱,故這個系統叫:CentOS,它的本意就是「社區版企業操作系統」,就是網上社區的成員拿紅帽的代碼編譯的。
所以,CentOS其實就是Redhat,可以說它們沒有區別,唯一的區別是CentOS去掉了Redhat的商標(logo)之類的版權信息,另外,編譯的時候,因為社區是民間組織,我們常說高人在民間,所以CentOS社區的人在編譯Redhat源碼時可能發現了一些錯誤,他們會對這些錯誤進行修正。
有人可能會覺得奇怪,Redhat公司的人這么辛苦寫出來的源碼,卻還必須遵守GPL協議免費公開發到網上供大家下載使用,那Redhat還怎麼賺錢?答案是,Redhat系統本身也是免費的,它的系統根本就不要錢,要錢的是「服務」和「商業授權費」,當公司使用Redhat系統(也就Redhat for Enterprise Linux,即紅帽企業操作系統)時,你必須給Redhat公司交「授權費」,個人使用沒人管你,因為它的系統你隨時可以免費下載,但是公司使用它時,如果被它發現了你沒有給授權費,就會被起訴賠錢,另外就是你可以使用Redhat的「服務」,伺服器出問題他們的專業人員可以幫你處理,這也是收費的。
又有人可能會覺得很奇怪,既然RHEL系統免費讓你下,源碼也免費讓你下,但為什麼你用RHEL系統就要授權費?因為RHEL系統是Redhat公司開發的,人家有版權,但你交了授權費之後,如果系統出現什麼大的問題,Redhat公司應該也是要賠你公司錢的,你可以選擇不用RHEL系統,而是用CentOS系統,因為根據前面所說,CentOS其實就是Redhat系統嘛,只不過去掉了Redhat版權信息,改成了CentOS,而CentOS是社區版,是免費的。但是由於CentOS是免費的,如果你使用CentOS有什麼重大問題造成公司有重大損失,CentOS是不會賠你錢的,因為CentOS本身並不是公司,而是一個民間組織,它們的存在,實際上就是因為有很多人認為自己技術夠牛,不需要Redhat公司來做技術支持,也不想花錢買RHEL系統的使用授權,所以他們自己使用Redhat的源碼編譯出來CentOS,並且由於代碼不是他們自己寫的,所以他們不能對CentOS收費,因為他們本身就是為了不使用收費的RHEL才自己編譯的CentOS,所以他們自然也不會去收費(也無權收費),但因為他們不收費,所以也不需要對使用者負責,也就是說使用者因為CentOS出什麼問題對公司造成損失,他們是不需要負責的,你既然想省錢就別怕出事。
然而CentOS實際上是比較穩定的,也不會出什麼事,所以目前國內絕大部分互聯網公司都使用CentOS系統,但也有使用Ubuntu的,國外用Ubuntu的更多,全世界用Ubuntu做伺服器的比用CentOS的多,但在中國用Ubuntu的比用CentOS的少,原因可能是因為中國最早那批會Linux的人都學的紅帽(Redhat)系統,他們教出來的人自然也都是用紅帽的,而CentOS其實就是紅帽,用法肯定也基本上一樣,所以大家相互學的都是這個系統的相關知識,導致國內大部分互聯網公司都用CentOS做伺服器。

『肆』 急!redhat 9怎麼安裝kde,內核源代碼

下載
kde.repo
http://apt.kde-redhat.org/apt/kde-redhat/redhat/kde.repo
拷貝到/etc/yum.repos.d/
下,然後運行
yum
groupupdate
kde-desktop
yum
update
虛擬機,一樣,把網路設好,一般設成nat,然後下載winscp或別的scp軟體拷。

『伍』 linux驅動中內核源碼樹和載入模塊的問題

恩? 理解不全,要重新編譯一個內核來使用,要注意兩點:
a,安裝 LKMs 到 /lib/moles 的子目錄下;
b,將新的內核映像拷貝到 /boot 分區中,並配置 grub/lilo;

centos/redhat 發行版中的內核版本有自己很多的補丁修改,不同於主流的
從 kernel.org 中下載下來的內核。你只是簡單的修改版本名稱那是不行的,
mod version 內部還是會被認為是兩個不同的內核(實際上也是不同的)。

在 centos/redhat 上為本機運行著的內核開發驅動,實際上可以不用去下載
任何版本的內核代碼樹,你只需要安裝 相對應的 kernel-devel rpm 包即可。
當然,為了更方便,你可以直接從 centos 官網下載合適的源碼包來重新編
譯後再開發你的驅動程序。

更多問題,可以上巨立安郵件列表中進行交流。
巨立安技術是你在arm/x86下學習 linux 開發的上佳指導。

『陸』 Linux內核源碼如何編譯Ubuntu源代碼在哪裡呢

編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!

『柒』 RedHat linux操作系統的訥內核源碼在哪

內核源代碼默認是不安裝的。要看內核源代碼,除了使用RH9的源代碼光碟以外,也可以去
http://www.linux-ntfs.org/content/view/137/73/
下載一個kernel source安裝包(頁面下面的"Source Code"),然後安裝即可。
編譯內核比較煩,在這不可能說清楚,可以參看:
http://www.uplinux.com/www/sys/01/77.shtml

『捌』 linux內核版本號命名的規則以及去哪下載內核源碼

內核官方命名規則只有 例如 2.6.23 , 表明屬於內核2.6 , 23rd release

然後對於各發行版 ,則存在一些針對發行版的優化 ,比如在這里的 2.6.23隻有的 9-85 , 通常約定是 當前版本的第9版內核patch 而85則作為 這個當前版本的第85次微調patch , 而FC8很明顯的就指出了當前內核是為FC8特別調校的

至於 2.6.23.9-85.fc8 的內核源碼,fedora官方已經提供了編譯好的源碼rpm包 下載地址為

http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/

然後安裝源碼

$sudo rpm -ivh kernel-2.6.23.9-85.fc8.src.rpm

安裝後還需要一步轉換過程

轉換源碼:
在轉換之前,請確保/usr/src/目錄下有redhat目錄(一般/usr/src/是空目錄)。
$sudo rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec
這樣會將源碼放置在/usr/src/redhat/BUILD/kernel-2.6.23/。
這里有兩個有用的文件夾:.
A、linux-2.6.23.ARCH——這個是kernel.org 提供的包經過Fedora 補丁和升級得到的。也就是 2.6.23.9-85.fc8 這個打過補丁的內核
ARCH 與uname-m 的輸出結果一致,通常為i686。如果你想得到不同的輸出,你可以使用
「--target=」這個選項來進行指定。
B、vanilla——這個是標準的、由kernel.org 提供的沒有經過補丁和升級的源碼。

---------------------------------------------------------

至於i686之類的,就不必解釋了吧 呵呵

另外反駁樓上的這個說法
"在網上下載內核源碼的話,可以直接到官網:http://www.kernel.org
至於rpm包就不用考慮了,因為內核源碼,你總要編譯安裝的。 "

這對於任何內核做過特殊優化調校的發行版都是不合適的,尤其是fedora ubuntu 這一類的,畢竟他們在內核中打了大量的補丁,做了很多優化,如果直接使用官方源碼 ,你就無法享受到這些東西 , 內核不是越新越好的 越合適越好

『玖』 Linux內核源碼如何編譯

首先uname -r看一下你當前的linux內核版本

1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make bzImage、make moles、make moles
4、安裝,make install
5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。

重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。

最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。

『拾』 centos 6 如何安裝內核源碼包

(1) http 安裝 centos 6.2

假設: 1> 本機有grub , 將 iso 中isolinux中的 boot.cat grub.conf isolinux.bin vmlinuz

boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32 拷貝到 本機的/boot中

2> 將centos 6.2的光碟復制到 http服務下例如 /var/www/html 下面,將光碟的iso也復制到這個目錄下,有時安裝過程可能需要iso中的東西,centos會自動從iso文件中尋找

安裝步驟:

1> 進入grub的命令行模式,然後

grub> root (hd0, 0 ) #選擇boot所在的分區作為根,根據自己的情況來定

grub> kernel vmlinuz

grub> initrd initrd.img

grub> boot #啟動

2> 選擇url安裝,配置ip神馬的就行了

(2) 修改源

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

vim /etc/yum.repos.d/CentOS-Base.repo

1.[base]
2.name=CentOS-$releasever - Base
3.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 4.baseurl=http://run.hit.e.cn/centos/$releasever/os/$basearch/ 5.gpgcheck=1 6.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 7.
8.#released updates
9.[updates]
10.name=CentOS-$releasever - Updates
11.
12.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 13.
14.baseurl=http://run.hit.e.cn/centos/$releasever/updates/$basearch/ 15.
16.gpgcheck=1 17.
18.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 19.
20.#additional packages that may be useful
21.
22.[extras]
23.
24.name=CentOS-$releasever - Extras
25.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 26.
27.baseurl=http://run.hit.e.cn/centos/$releasever/extras/$basearch/ 28.
29.gpgcheck=1 30.
31.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 32.
33.#additional packages that extend functionality of existing packages
34.
35.[centosplus]
36.
37.name=CentOS-$releasever - Plus
38.
39.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 40.
41.baseurl=http://run.hit.e.cn/centos/$releasever/centosplus/$basearch/ 42.
43.gpgcheck=1 44.
45.enabled=1 46.
47.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 48.
49.#contrib - packages by Centos Users
50.
51.[contrib]
52.
53.name=CentOS-$releasever - Contrib
54.
55.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib 56.baseurl=http://run.hit.e.cn/centos/$releasever/contrib/$basearch/ 57.
58.gpgcheck=1 59.
60.enabled=1 61.
62.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #yum clean all // 清除緩存

#yum update

#yum install xxx

下載源碼包:

wget http://vault.centos.org/6.2/updates/Source/SPackages/kernel-2.6.32-220.7.1.el6.src.rpm
rpm -ivh xx.rpm

cd rpmbuild/SPECS 此rpmbuild是安裝後在當前文件夾下的一個文件夾

rpmbuild -bp --target=`uname -m` kernel.spec 此rpmbuild是命令

之後 rpmbuild里有 BUILD,裡面就是源代碼了

yumdownloaer 的使用。

Ncurses 提供字元終端處理庫,包括面板和菜單。

yum install ncurses-devel

yum 中的幾個變數

$releasever,發行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據RedHat-release包進行判斷。

$arch,cpu體系,如i686,athlon等

$basearch,cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。

對yum.conf設定完成,我們就可以好好體驗yum帶來的方便了。

開機自動啟動配置文件,一段時間不用都忘了 /etc/rc.local

本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文鏈接:http://www.linuxidc.com/Linux/2012-03/56876.htm

熱點內容
電腦原始伺服器名 發布:2024-04-23 22:01:52 瀏覽:54
21款發現5哪個配置透明引擎蓋 發布:2024-04-23 21:20:18 瀏覽:872
adb拷文件夾 發布:2024-04-23 21:12:25 瀏覽:9
如何破解wmv加密視頻 發布:2024-04-23 21:11:44 瀏覽:557
安卓拍抖音怎麼把聲音錄進去 發布:2024-04-23 20:58:51 瀏覽:847
安卓fifa15怎麼恢復數據 發布:2024-04-23 20:58:42 瀏覽:243
卸載oracle資料庫 發布:2024-04-23 20:36:26 瀏覽:522
發帖站源碼 發布:2024-04-23 20:22:45 瀏覽:683
小豚攝像頭存儲卡滿了怎麼辦 發布:2024-04-23 20:04:41 瀏覽:233
我的世界伺服器管理應該做什麼 發布:2024-04-23 19:37:19 瀏覽:147