当前位置:首页 » 操作系统 » 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

热点内容
max脚本管理 发布:2024-05-04 06:02:31 浏览:44
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:125
h3c如何查看所有配置 发布:2024-05-04 05:26:39 浏览:491
java统计字符串中字母个数 发布:2024-05-04 05:22:58 浏览:888
throwablejava 发布:2024-05-04 05:22:56 浏览:792
IP和服务器可以分开架设吗 发布:2024-05-04 05:17:48 浏览:27
ip提取源码 发布:2024-05-04 05:01:42 浏览:763
驾校报名了密码是什么 发布:2024-05-04 04:49:02 浏览:610
安卓加密的rar软件 发布:2024-05-04 04:18:30 浏览:606
聚会编程题 发布:2024-05-04 04:02:41 浏览:405