Linux内核源码如何编译首先uname -r看一下你当前的linux内核版本
1、linux的源码是在/usr/src这个目录下 , 此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下 。
2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译 。
3、编译,依次执行make、make bzImage、make modules、make modules
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 roquiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用 。
重启过后你编译的内核源码就成功地运行了 , 如果出现问题 , 比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了 。
最后再用uname -r看看你的linux内核版本 。是不是你刚下的那个呢!有没有成就感?
打字不易,如满意,望采纳 。
如何编译linux源代码首先uname -r看一下你当前的linux内核版本
1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下 。
2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译 。
3、编译,依次执行make、make bzImage、make modules、make modules
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 roquiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法 , 貌似不好用 。
重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了 。
最后再用uname -r看看你的linux内核版本 。是不是你刚下的那个呢!有没有成就感?
如何编译Linux操作系统的源代码?1. 检测/usr/src/linux/include/linux/version.h是否存在,以判断是否以安装内核源码 , 而如果只将内核源码包解压,并不存在version.h这个文件,所以需要做如下步骤:
在内核源码目录下(/usr/src/linux)
1)make include/linux/version.h生成version.h文件
2)make include/asm创建
如果从下载的源码包 , 使用下列命令安装:
cd /usr/src进入/usr/src目录中,将源码包放置在这里 。
tar jxvf linux-2.6.18.tar.bz2解压源码包,会生成linux-2.6.9目录
ln -s /usr/src/linux-2.6.18 /usr/src/linux 编译内核建议做个软链接 。
并且要确保/lib/modules/2.6.18/下的build,source目录
正确指向/usr/src/linux-2.6.18的:
[root@localhost modules]#ls -l /lib/modules/2.6.18
lrwxrwxrwx1 root root21 2008-07-03 14:28 build - /usr/src/linux-2.6.18/
lrwxrwxrwx1 root root21 2008-07-03 14:28 source - /usr/src/linux-2.6.18/
做完这些,我去安装NVIDIA驱动,结果编译时出错 。
将内核源码编译一次 , 不安装,就可以正常编译了
2.4.x内核不知是否如此,如果编译NVIDIA过程中出现错误,就先编译一下内核
方法很简单:
从/boot目录下复制config-2.6.10到/usr/src/linux下
命名为.config
对于2.6.x内核使用下列命令编译:
cd /usr/src/linux进入源码目录
make编译内核及模块
注意:不要去make install 只要编译就可以了 。
2.4.x使用下列命令编译内核,同样,只编译不安装 。
cd /usr/src/linux
【编译linux命令源码 编译 linux】make dep建立依赖关系(不知道是否有必要,做下没坏处)
make bzImage 编译内核
make modules编译模块
通常发行版中/boot中应该有当前内核的配置文件,如上面的config-2.6.9
如果没有的话,可以通过下列命令创建出.config
[root@localhost linux]# cd /usr/src/linux
[root@localhost linux]#make menuconfig 字符界面配置内核
[root@NEWLFS linux]#make xconfig图形界面配置内核
这两种方法任选其一 , 喜欢的话,可以自己配置一下 。
或者直接使用默认值,保存退出即可 。这样编译时间会长一些 。
make menuconfig: 假如是在图形界面中的终端运行,要保证
该终端窗口为全屏,才不会出错 。
Linux内核源码如何编译??Ubuntu源代码在哪里呢?编译linux内核步骤:
1、安装内核
如果内核已经安装(/usr/src/目录有linux子目录)编译linux命令源码,跳过 。如果没有安装编译linux命令源码,在光驱中放入linux安装光盘编译linux命令源码,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录 , 然后使用命令rpm -ivh kernel-source-2.xx.xx.rpm安装内核 。如果没有安装盘,可以去各linux厂家站点或者下载 。
2、清除从前编译内核时残留的.o 文件和不必要的关联
cd /usr/src/linux
make mrproper
3、配置内核,修改相关参数,请参考其编译linux命令源码他资料
在图形界面下,make xconfig;字符界面下,make menuconfig 。在内核配置菜单中正确设置个内核选项,保存退出
4、正确设置关联文件
make dep
5、编译内核
对于大内核(比如需要SCSI支持),make bzImage
对于小内核,make zImage
6、编译模块
make modules
7、安装模块
make modules_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磁盘文件,例如编译linux命令源码我的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!
编译linux命令源码的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于编译 linux、编译linux命令源码的信息别忘了在本站进行查找喔 。
推荐阅读
- 直播伴侣怎么直播赚钱,直播伴侣怎么玩游戏
- 怎么增加多个wordpress,怎么增加多个页面
- 区块链的智能交易,区块链接智能
- html5canvas兼容,canvas html5
- Mysql6.0怎么用 mysql80怎么用
- vb.net官网下载文件的简单介绍
- 有关js逻辑思维的题,怎样学好js中的逻辑
- 单机手游联机游戏,单机游戏手机联机
- 关于你为什么冲不进去电脑的信息