linux 4.14.2编译,vmware中linux内核2.6.14.4编译全过程_linux教程

很久就开始尝试编译Linux内核,但是总是遇到不少的问题,经过几十次的编译,直到现在才解决,人都要崩溃了。所以干脆把这个过程写出来,希望在你遇到同样问题的时候少走点弯路。我用的是Red Hat Linux 9. 内核版本是2.6.14.4

先到kernel.org去下载新的内核,然后解开到/usr/src/linux目录下,注意一定要在Linux下解开,如果是在Windows下的话会遇到问题(我就上了这样的当,郁闷了很久才找到原因)。

cd /usr/src/linux

make mrproper  #清除目录下所有和先前生成内核时候产生的中间文件

make menconfig  #内核配置

Device Drivers  —>SCSI device support  —>   SCSI disk support

Device Drivers  —>SCSI device support  —>SCSI low-level drivers  —> BusLogic SCSI support

Device Drivers  —> Fusion MPT device support  —> Fusion MPT (base + ScsiHost) drivers和   Fusion MPT misc device (ioctl) driver(这个不确定)

Device Drivers  —> USB support  —>   USB Mass Storage support

Device Drivers  —> Networking support  —>Ethernet (10 or 100Mbit)  —>    AMD PCnet32 PCI support

2.6中 make dep 可以不用了             #依赖性和完整性检测

make bzImage           #产生压缩内核

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmkernel

make modules        #编译可加载模块

make modules_install     #安装模块

以上过程可能比较消耗时间,我每次编译都用了超过1小时的时间。.

如果BusLogic SCSI suppor选择的是M,就还要运行

mkinitrd  /boot/newkernel.img 2.6.14.4  #制作img文件和预加载模块

BusLogic SCSI support我选择的是*,所以就不用运行mkinitid命令了.

修改配置文件

我用的是grub,在/etc/grub.conf后添加以下语句

title New Kernel (2.6.14.4)

root (hd0,0)

kernel /newkernel ro root=/dev/sda2

#initrd /newkernel.img

BusLogic SCSI support 如果你选的M,你还得把#initrd /newkernel.img前的#去掉.

然后重新启动。

我也用lilo试过

在/etc/lilo.conf后添加以下语句

image=/boot/newkernel

label=New

#initrd=/boot/newkernel.img

read-only

append=”root=/dev/sda2″

同样BusLogic SCSI support 如果你选的M,你还得把#initrd=/boot/newkernel.img前的#去掉.

运行lilo命令,然后重新启动。

问题

1.No rule to make target `net/ipv4/netfilter/ipt_TOS.c, needed by `net/ipv4/netfilter/ipt_TOS.o.  Stop.

上面提到了,如果你是在Windows下解开Linux内核的话就会遇到这个问题,因为Windows不区分文件大小写,ipt_TOS.c和ipt_tos.c在Windows中是一回事,就被替换掉了,改在Linux下解开它就没有问题了。

2. 不能挂接根文件系统

修改配置文件把根文件系统改成具体的设备文件,不要使用LABEL标签

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/337751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ STL deque 容器底层实现原理(深度剖析)

点击蓝字关注我们什么是多态,多态有什么用途?定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。实现:C多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区…

lambda ::_Lambdas中的例外:有点混乱的优雅解决方案

lambda ::考虑以下用于写入文件的功能: 该方法背后的想法是,以允许用户在不同的实施方式中通过InputStream的方法,以便writeToFile可以被称为例如用GZIPOuputStream , SnappyOuputStream (快速压缩)或简单…

​常问的16个C语言问题,你能答上来几个?

点击蓝字关注我们最近不少小伙伴在找工作,这里我给大家分享一下面试中经常会遇到的一些嵌入式C语言问题,你看看能答上来几个呢?1用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#de…

centos linux 内核升级,Centos系统的升级及Linux 内核升级

系统及内核版本:[rootnode5 ~]# cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core)[rootnode5 ~]# uname -aLinux node6 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux更新仓库:[rootnode5 yu…

spring javaee_JavaEE还是Spring? 都不行! 我们呼吁新的竞争者!

spring javaee如果您一直在Twitter上关注一些Java的重要人物,或者在Reddit上阅读了“新闻”,那么您一定不会错过Spring和JavaEE宣传人员之间热闹的“贱人之战”(请原谅我的法语)。 首先,于尔根霍勒(JrgenH…

C语言代码优化的方法

点击蓝字关注我们在本篇文章中,我(指原作者)收集了很多经验和方法。应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码。简介在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级JPEG库…

linux源码安装apache2,CentOS7编译安装Apache2

在LAMP环境下对于服务的安装是必不可少的,在linux环境下安装软件也有两种不同的方式,一种是yum安装当然了不同的linux发行版本使用略有不同,另一种是通过编译安装,编译安装要比yum安装要可控此,但是要比yum安装略微麻烦…

finally块_如何从finally块访问方法的结果值

finally块尽管JVM是基于堆栈的计算机 ,但Java语言实际上并没有为您提供任何访问该堆栈的方法。 即使有时在极少数情况下,它也将非常有用。 一个例子 方法结果值放在堆栈中。 如果查看以下示例: public int method() {if (something)return …

C/C++ 命中率比较高的面试知识点,你都答得上来吗

点击蓝字关注我们第一部分:计算机基础1. C/C内存有哪几种类型?C中,内存分为5个区:堆(malloc)、栈(如局部变量、函数参数)、程序代码区(存放二进制代码)、全局/静态存储区(全局变量、static变量&…

linux 提示符 异常,linux终端提示符异常 bash-4.1$

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile: 每个用户都可使用该文件…

svn: 没有演进历程信息_使用默认方法的接口演进–第二部分:接口

svn: 没有演进历程信息引入了默认方法以启用接口演进。 如果向后兼容性是不可替代的,则仅限于向接口添加新方法(这是它们在JDK中的唯一用法)。 但是,如果希望客户端更新其代码,则可以使用默认方法逐步演化接口而不会引…

蓝桥杯7届c语言 c组答案,第七届蓝桥杯C语言C组-(自己懂的题目)

第七届蓝桥杯C语言C组-(自己懂的题目)表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结,先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级。。。第一题报纸页数X星球日报和我们地…

关于多线程的几道面试题

点击蓝字关注我们第一题:线程的基本概念、线程的基本状态及状态之间的关系?线程,有时称为轻量级进程,是CPU使用的基本单元;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共享其代码段、数…

c语言 想输入非数字是报错误,C语言上机练习5C言上机练习5.doc

C语言上机练习5C言上机练习5C语言上机报告5 数组2上机内容找出下列程序中的错误并改正1) /*有一个34的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。*/#include "stdio.h"#define M 3//无分号#define N 4void main( ){ int max,i,j,r,c;int a[M][N]{{323…

大牛谈嵌入式C语言的高级用法

点击蓝字关注我们内存管理我们需要知道——变量,其实是内存地址的一个抽像名字罢了。在静态编译的程序中,所有的变量名都会在编译时被转成内存地址。机器是不知道我们取的名字的,只知道地址。 内存的使用时程序设计中需要考虑的重要因素之一&…

java转换为c#_C#vs Java哪一个更快? 将25k C#转换为Java(2)

java转换为c#在上一篇文章中,我描述了如何将25k行C#转换为Java以及从该练习中学到的教训。 我收到以下问题: 顺便说一句很棒的文章。 移植代码后,性能与C#版本相比如何? 改写系统的动机之一是使系统运行更…

基于人工神经网络的识别C语言,实验一基于人工神经网络的数码识别.doc

实验一基于人工神经网络的数码识别《人工智能导论》课程基于人工神经网络的数码识别班级:计1103学号:201107010330姓名:贾梦洁成绩评定:评阅老师:日 期:实验报告正文一、实验目的?????基于神经网络的数…

博科光纤交换机java_带有光纤的可扩展,健壮和标准的Java Web服务

博科光纤交换机java这篇博客文章讨论了负载下的基准Web服务性能。 要了解有关Web服务性能理论的更多信息,请阅读利特尔定律,可伸缩性和容错 。 使用阻塞和异步IO对Web服务进行基准测试 Web应用程序(或Web服务)如何在负载下&#…

很棒的C语言入门笔记,推荐收藏!

点击蓝字关注我们c语言入门C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习…

自定义日历控android,Android自定义日历Calender代码实现

产品要做签到功能,签到功能要基于一个日历来进行,所以就根据 要求自定义了一个日历自定义控件相信做android都知道:(1)首先创建一个类,继承一个容器类或者是一个控件(2)然后就是你需要设置的属性等的,在attrs文件夹中(…