Kernel 2.6系列的安装
安装kernel源代码:
1.解压缩包:
a.完成安装:
gzip -cd linux-2.6.XX.tar.gz | tar xvf -
or
bzip2 -dc linux-2.6.XX.tar.bz2 | tar xvf -
将"XX"替换为你将安装的版本号
b.升级安装:(打补丁)
gzip -cd ../patch-2.6.xx.gz | patch -p1
or
bzip2 -dc ../patch-2.6.xx.bz2 | patch -p1
2.清除编译过的痕迹(首次编译可以省略)
cd linux
make mrproper
顺便说说make mrproper和make clean的区别:make mrproper移除所有编译生成的文件(.o,config,备份文件等)make clean保存了config文件。
3.编译安装:
make menuconfig
make
make install
注:编译可以指定相应目录:
例如:
kernel源代码目录: /usr/src/linux-2.6.N
编译到得目录: /home/name/build/kernel
则:
cd /usr/src/linux-2.6.N
make O=/home/name/build/kernel menuconfig
make O=/home/name/build/kernel
sudo make O=/home/name/build/kernel modules_install install
【备注】编译配置文件的相关替代命令
"make config" 纯文本接口配置模式.
"make menuconfig" 基于文本的菜单配置模式.
"make xconfig" 基于Qt的X windows的配置模式.
"make gconfig" 基于Gtk的X windows的配置模式.
"make oldconfig" 一个文本模式的界面,在旧的.config基础上生成新的.config
"make silentoldconfig" 和make oldconfig类似,但选项默认.
"make defconfig" 创建一个包含全部默认选项的.config文件,从arch/$ARCH/defconfig或arch/$ARCH/configs/${PLATFORM}_defconfig获取,依赖于体系结构。
"make ${PLATFORM}_defconfig" 从arch/$ARCH/configs/${PLATFORM}_defconfig创建一个.config.
"make allyesconfig" 创建一个全部设置“Y”的./.config文件
"make allmodconfig" 创建将选项设置"m"的./.config文件
"make allnoconfig" 创建将选项全选'n'的./.config文件
"make randconfig" 创建一个选项设为随机值的./.config文件
make
默认编译。
make bzImage
编译生成压缩的内核二进制文件,一般你用到的是这个。
make vmlinux
编译生成纯二进制内核文件。
make modules
编译生成内核模块。
make modules_install
安装生成的内核模块。
make {bzdisk|fdimage|isoimage}
编译生成启动软盘镜像,或光盘镜像。
make install
安装编译生成的内核文件,包括设置你的Lilo或Grub。
make all
等价于vmlinux+modules+bzImage。
make rpm
构建内核rpm包。
make foo/bar/foobar.ko
编译单个内核源文件。
make headers_install
安装内核头文件,默认安装到usr目录。
make M=some/sub/dir
编译一个指定的目录。
make O=/path/to/some/dir
把编译过程中生成的文件都放到指定目录中去。
make C={1|2}
用sparse检查内核代码。
make V={0|1|2}
控制编译过程中输出信息的多少。
make help
列出所有的make目标及其相关描述。
make kernelversion
输出Makefile里读到的内核版本信息。
make kernelrelease
输出内核发行标识。
make {rpm-pkg|deb-pkg|tar-pkg|targz-pkg|tarbz2-pkg}
构建{rpm|deb|tar|tar.gz|tar.bz2}格式的内核包。
make {htmldocs|mandocs|pdfdocs|psdocs|xmldocs}
生成{html|man|pdf|ps|xml}格式的内核文档。
make clean
清理生成文件,但会保留.config和一些模块文件。
make mrproper
清理全部文件,包括.config和一些备份文件。
make distclean
在make mrproper的基础上还清理编辑器可能生成的备份文件,patch的rej文件等。