Linux内核编译详细过程【新手入门】

  1、准备源码   最新的源码可以从kernel.org上获取,如当前最新版本为2.6.31: $ wget linux-kernel/v2.6/linux-2.6.31.tar.bz2">http://oss.ustc.edu.cn/linux-kernel/v2.6/linux-2.6.31.tar.bz2   2、解压源码 $ tar xvf linux-2.6.31.ta
Linux内核编译详细过程【新手入门】

linux更改文件/设备所有者的方法

例如,要将当前目录下名 title 的文件夹/设备及其子文件的所有者,改为geust组的su用户,方法如下:   #chown -R su.geust title -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者
linux更改文件/设备所有者的方法

linux2.6.38之后内核版本调用open_by_devnum()函数出错

linux2.6.38之后内核版本下编译内核模块,当调用open_by_devnum()函数时会出错。该问题原因在于:在linux2.6.37版本以后的内核中,已将open_by_devnum()函数去除,而用 blkdev_get_by_dev函数取代其功能。 可参考如下引用内容: xen/blkback: Update to use blkdev_get_by_dev instead
linux2.6.38之后内核版本调用open_by_devnum()函数出错

linux主次设备号介绍

1、主设备号与次设备号的功能 在Linux内核中,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。 比如说在linux的终端打入命令: **@ubuntu:/dev$ ls –l    crw-rw----  1 root 
linux主次设备号介绍

include/linux/mmzone.h error: linux/bounds.h

 问题: 编译内核驱动模块的时候,提示缺少头文件 mmzone.h 、bounds.h...等   include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONE
include/linux/mmzone.h error: linux/bounds.h

内核编译错误fatal error: linux/config.h: No such file or

进行内核模块的编译时,因为包含了#include <linux/config.h>,出现include的linux下没有config.h这个文件错误提示: fatal error: linux/config.h: No such file or directory 原因与解决方法: 现在较新的内核已经弃用了config.h,把这个文件新建上去即可。执行命令(注意路径的不同):
内核编译错误fatal error: linux/config.h: No such file or

ld: cannot find /ubuntu/omnibook/sections.lds: No

编译下载的linux-source-2.6.32内核源码过程中,出现如下错误导致无法继续进行: ld: cannot find /ubuntu/omnibook/sections.lds: No such file or directory 原因与解决方法: 这是因为makefile中一处目录获取错误导致,修正一下即可。具体解决方法参考如下。 编辑文件 /usr/src/linux-so
ld: cannot find /ubuntu/omnibook/sections.lds: No

cp: omitting directory 错误的解释和解决办法

在linux下对目录进行拷贝时,出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs",这说明bbs目录下面还有目录,不能直接拷贝。 解决办法: 使用参数-r进行递归拷贝,命令: $cp -r bbs ../backup/bbs   解释:-r 这个options即是使用递归方式 举一反三: 当对
cp: omitting directory 错误的解释和解决办法