配置编译安装内核
来源:互联网 发布:网络写手收入排行 编辑:程序博客网 时间:2024/06/06 14:01
可以通过这个脚本获取已经编译好内核的config文件
/usr/src/linux/scripts/*config
/boot/config-*
配置内核(有点类似于./configure)
如果你有.config文件的话,可以用make oldconfig命令比较与之前的配置文件的差异来验证你配置的正确性。
加载已有的.config内核配置
make oldconfig
进行内核配置
make menuconfig
说明一下,内核的配置项是三选一,yes, no, 或module。yes, no意味着直接将该特性编译或不编译到内核中,module意味着以模块形式编译,模块意味着你开机会可以通modprobe命令动态加载或卸载。
执行make命令编译,
make
这跟2.6以前的版本不同,你不用每次编译内核之前都 make dep,也不用单独编译bzImage,或者内核模块,默认的Makefile规则已经打点好了这一切.也就是包含了以下指令:
确定依赖性 make dep
编译内核, make bzImage
生成模块, make modules
安装模块,下列命令会将模块自动安装到/lib/modules/version/目录下.
sudo make modules_install
make install安装内核:
sudo make install
包括: 复制 vmlinuz-*, System.map-*,生成initrd.img-*(*号是版本),更新grub
到这里就可以用了,下面是手动安装内核的步骤和make install 一样
手动安装
安装内核及initrd,人工将arch/x86/boot/bzImage的内核文件拷到/boot目录即可。
sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-version
更改权限(一般不用修改)
sudo chmod a+x vmlinuz-version
生成initrd.img-version
sudo update-initramfs -u -k version
更新grub.cfg文件
sudo update-grub -o /boot/grub/grub.cfg
注意:以vmlinuz-<version>这样命名它。
上述三步等价于make install, 但make install在自动执行update grub命令时有时候会破坏你的grub文件,特别对于进行PGP加密过的硬盘。
「可选」,安装符号表,只有调试时才需要用到。符号表System.map用以将内核符号和它们的起始地址对应起来,调试的时候,如果需要把内存地址翻译成容易理解的函数名和以及变量名,就会很有用
sudo cp System.map /boot/System.map-version
创建initrd.img-version文件
你要看你的发行版默认采用什么内核映像打包工具啊
主要有mkinitcpio,mkinitrd,mkinitramfs这几种
sudo mkinitrd --with=ntfs -o /boot/initrd.img-version version
以上mkinitrd命令是参照现有系统的/etc/modprobe.conf和/etc/fstab文件创建一个全新的initrd, 用--with=ntfs会从/lib/modules/version目录将ntfs模块也做到initrd里去。
向 已有initrd.img-version添加模块
1) 可以用 sudo zcat initrd.img-version | cpio -id 命令解压 ( initrd文件是以ext2作为文件系统中,所以可以用mount -o loop initrd.img /mnt命令加载.)
2) 然后将模块ntfs.ko加到相应的目录,如lib/modules/version/kernel/fs/ntfs目录
3) 将ntfs.ko模块加到init脚本
4) 重新压缩,find | cpio -co | gzip -9 > initrd-new.img
配置内核:
$make config
该工具会逐一遍历所有配置项,要求用户选择yes,no,module(可以配置模块的选项会有module).由于这个过程是遍历每一项的,所以很不直观,也不是很方便.
$make menuconfig
- 安装依赖: sudo apt-get install libncurses5-dev libtinfo-dev
这个是终端形式的界面
- $make gconfig
安装依赖: $sudo apt-get install gtk+-2.0 glib-2.0 libglade2-dev libxi-dev libxfixes-dev
基于Gtk+的图形工具
$make defconfig
基于默认的配置为你的体系结构创建配置
$make oldconfig
通过命令界面配置内核,但是会自动载入既有的.config配置文件,并且只有在遇到先前没有设定过的选项时,才会要求你手动设定.然而,make config会要求你设定所有的选项,即使你以前设定过的,开发者通常会通过此命令将他们的配置更新为官方配置选项所做的变更,以避免重新设定整个内核.
- 配置,编译,安装内核
- 配置编译安装内核
- Linux内核配置、编译、安装
- Linux内核配置、编译和内核安装
- x86内核的配置,编译,及安装
- x86内核的配置,编译,及安装
- x86平台内核配置、编译、和安装
- Linux 内核的配置编译安装
- X86平台内核配置、编译和安装
- x86平台内核配置、编译和安装
- linux内核配置编译安装(X86)
- Linux内核的配置编译与安装
- 1、linux内核配置、编译与安装
- CentOS 7内核配置、编译与安装
- 7-Linux内核配置编译及安装
- Linux内核|实验三 安装、配置、编译Linux内核
- x86平台Linux内核配置编译和安装
- 为pc编译配置安装当前最新的内核
- JSP自定义标签
- 死锁产生的原因及四个必要条件
- 赛意递归
- Android中Context的使用
- c++:algorithm-find
- 配置编译安装内核
- Codeforces Round #295 (Div. 2)-C. DNA Alignment
- cmd——窗口标题及字体颜色、背景颜色设置
- 配置tomcat环境变量
- Java实现几种常见排序方法
- 单片机的动态内存管理-一以链表为例
- 使用JDBC出现NoClassDefFoundError异常的解决方法
- JAVA从菜鸟【入门】到新手【实习】一一Python小项目(Anaconda2)2,7X
- TYVJ 1077 有理逼近