编译linux内核初体验
来源:互联网 发布:英语音译软件 编辑:程序博客网 时间:2024/05/18 03:32
20130515
编译的步骤如下:
1.从www.kernel.org 网站上下载linux内核源代码
2.解压到/usr/src/kernel tar -Jxv -f linux.xxxx -C /usr/src/
3.进入解压后的文件夹
4. make mrproper 清除原有的配置文件和中间文件
5. make menuconfig 定制相关的内核功能和模块并save 为config文件,方便下次载入配置
6. make bzImage(编译内核,I为大写的i)
6. make bzImage(编译内核,I为大写的i)
make modules 编译模块
make modules_install 安装模块
make clean
6.cp /usr/src/kernel/arch/x86/boot/bzImage /boot/vmlinuz-2.6.34.14 将内核镜像拷到/boot目录下
cp usr/src/kernel/.config /boot/config-2.6.34.14 将配置文件拷到/boot目录下备份
7. mkinitrd -v /boot/initrd-2.6.34.14.img 2.6.34.14 创建initrd,开机启动的时候要用到
8.vim /boot/grub/menu.lst 修改开机菜单
title CentOS (2.6.34.14)
root (hd0,0)
kernel /vmlinuz-2.6.34.14
initrd /initrd-2.6.34.14.img
9.reboot 完毕
问题:内核和源代码编译完占用磁盘空间5031M,其中driver占用2461M,结果导致空间不足,编译失败,用U盘启动进入WINPE后重新分配分区大小后,重新编译。以后编译的时候要保证磁盘空间足够!
统计:make bzImage 耗时7分钟,make modules 耗时30分钟
知识链接:
内核的删除
有时我们基于各种原因可能删除一些老的内核,基本步骤如下:
1. 查看当前系统的内核版本,千万不要删除错了
#uname -r 或者 uname -a
2. 对于通过rpm方式安装的内核,删除就很简单了。直接用rpm -e 相应的内核版本就能删除掉了。
对于手工编译安装的内核,删除起来稍微就要麻烦些了。
(1)、修改 /etc/grub/grub.conf 或 /etc/grub/menu.lst ,删除那些不想要的内核选项。
(2)、删除 /lib/modules/相对应的内核版本的目录
(3)、删除 /boot/相对应的内核版本的文件
有时我们基于各种原因可能删除一些老的内核,基本步骤如下:
1. 查看当前系统的内核版本,千万不要删除错了
#uname -r 或者 uname -a
2. 对于通过rpm方式安装的内核,删除就很简单了。直接用rpm -e 相应的内核版本就能删除掉了。
对于手工编译安装的内核,删除起来稍微就要麻烦些了。
(1)、修改 /etc/grub/grub.conf 或 /etc/grub/menu.lst ,删除那些不想要的内核选项。
(2)、删除 /lib/modules/相对应的内核版本的目录
(3)、删除 /boot/相对应的内核版本的文件
欢迎补充和指点。
- 编译linux内核初体验
- 内核编译初体验
- 内核移植之编译初体验
- s5pv210编译安装内核初体验
- 内核编译体验
- Linux 2.6内核编译安装全景体验(上)
- Linux 2.6内核编译安装全景体验(中)
- Linux 2.6内核编译安装全景体验(下)
- Linux内核启动流程分析之编译体验
- linux内核体验
- Linux内核:编译内核
- 【LINUX内核】LINUX内核编译
- 小程序来体验内核编译
- 内核启动流程分析之编译体验
- Linux驱动初体验—Module(hello.c)内核模块
- Linux嵌入式驱动初体验(二)--- 内核装载
- Linux内核编程初体验 —— hello world
- Linux内核编程初体验 —— hello world
- CentOS Linux解决Device eth0 does not seem to be present
- hdu-2086 A1 = ?
- 数据结构之链表的使用【C语言】
- android---0001
- Oracle 11.2.0.1 升级到 11.2.0.3 示例
- 编译linux内核初体验
- ZOJ 2526 FatMouse and JavaBean II
- vc中加花
- 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
- node.js 计划任务模块
- Bad vesion 严重: Context initialization failed
- strcpy和memcpy的区别
- App自适应draw9patch不失真背景
- curl 下载