gcc-2.95.3编译-同时编译linux2.6.30版本内核
来源:互联网 发布:求多维数组最大值 编辑:程序博客网 时间:2024/05/16 13:55
编译准备:
因为linux2.6.3源码目录下的reademe文件里明确告知需要使用gcc-2.95.3来进行编译,所以就不要安装最新gcc编译器了
因为这是编译内核所以为了方便,我建议大家切换到root下
执行 sudo -s
-----------下载并编译gcc-2.95.3版本的编译器---------------
1. 下载gcc-2.95.3, 下载地址 http://ftp.gnu.org/gnu/gcc/gcc2.95.3 , 这个目录下我并没有发现patch,所以我并没有给这个版本编译器源码打patch
2. 解压-解压后的目录为 gcc-2.95.3
3. cd gcc-2.95.3
4. mkdir build-gcc
5. cd build-gcc
6. ../configure --prefix=/opt/gcc-2.95.3 --enable-shared --enable-languages=c
7. make
8. make install
9. 将/opt/gcc-2.95.3/bin 目录加入到环境变量里就可以用了
10. gcc -v 查看版本
----------linux2.6.30内核编译---------------------------------
1. 下载linux2.6.3 内核源码并解压,不要改文件
2. cd linux2.6.3
3. 下载补丁patch2.6.3.bz2 放到与linux2.6.30同级目录下
4. 下载linux-2.6-seg-5.patch 放到与linux2.6.30同级目录下,
你也可以不放在这里, 下面的两个命令你自己指定好路径就行了,
下载地址 https://www.kernel.org/pub/linux/devel/binutils/ 这个地址比较稳定
5. 执行 bzcat ../patch2.6.3.bz2 | patch -p1 开始打补丁
6. 执行patch -p1 <../linux2.6-seg-5.patch
如果不打这两个补丁, as编译会出现问题 大概如下,很明显这是编译器不支持这种语法了:
{standard input}: Assembler message suffix or operands invalid for mov
好了,开始编译内核,编译内核需要依赖的一些库基本上就是
libncurses5-dev libncurses-dev fakeroot initramfs-tools module-init-tools
apt-get install 自己下载安装
我建议,用本机的配置来初始化.config 文件,因为这样make menuconfig
就不用配置里
在内核源码目录下 执行 cp /boot/config-`uname -r` .config
然后cat .config确认这个文件被我们拷贝过来了
然后执行make menuconfig,进入到menu后往下找,找到Load开头的,进去
你懂的,这个就是把我们刚才拷贝过来的 .config 文件让menuconfig识别,然后退出保存
开始make, 不出意外,一切顺利
Tips: 在拿到源码的时候一定要看README文件,因为一些环境相关的东西,
这个文件可能会告诉你,例如,编译器版本等信息,还有一些其他的依赖
- gcc-2.95.3编译-同时编译linux2.6.30版本内核
- linux2.6.32.2内核支持arm-linux-gcc 2.95.3静态编译的程序(实录)
- 编译 linux2.6 内核
- 【内核】linux2.6版本内核编译配置选项(一)
- 【内核】linux2.6版本内核编译配置选项(二)
- Android2.3及Linux2.6.29内核模拟器版本编译与调试
- linux2.6内核编译心得
- 编译 Linux2.6 内核总结
- 编译 Linux2.6 内核总结
- Linux2.6.31.5内核编译
- Linux2.6 内核编译实践
- 编译linux2.6内核总结
- 编译 Linux2.6 内核总结
- 编译linux2.6内核总结
- 编译linux2.6.x内核
- 编译Linux2.6内核_02
- linux2.6内核编译步骤
- gec2440最简单的一个内核编译 linux2.6.30.4
- NOIP 2017.10.4 总结+心得
- Learning Python 之 Python中的对象分类
- c语言有关操作符(运算符)的简单介绍
- 初窥javaScrit权威指南,第五章语句
- 牛客_3
- gcc-2.95.3编译-同时编译linux2.6.30版本内核
- [Python]网络爬虫(一):抓取网页的含义和URL基本构成
- Kotlin学习笔记(2)-方法,变量
- 3DES实现加密算法
- 堆排序
- 牛客网--统计字符
- 链表面试题Java实现【重要】
- 栈和队列的面试题Java实现
- 落单的数