由于项目需要,要用U盘制作一个Linux系统,支持EFI启动,并且内核版本要求是2.6.35.6。所以在选系统的时候,就必须要选安装文件里面带有EF I目录,并且该目录下面有BOOTx64.EFI和grubx64.efi两个文件,并且必须要是64位的系统,32位的系统是不支持EFI的。经过多次的查找,最终选定了Ubuntu 12.04。但是Ubuntu 12.04的内核版本为3.13.0-117,因此必须要对他进行降内核处理。

U盘制作ubuntu系统

需要的工具:UltraISO

首先需要从ubuntu的版本库中下载镜像文件。下载地址为:

http://mirrors.163.com/ubuntu-releases/12.04/ubuntu-12.04.5-desktop-amd64.iso

  1. 打开镜像文件,确认镜像文件中有EFI文件

2. 插入一个空白U盘,启动->写入硬盘映像,进行U盘刻录

写入方式选择USB-HDD+,点击“写入”就可以了,等“完成比例”达到100%,系统就制作完成了。

U盘安装ubuntu系统

开机,按“DEL”键进入BIOS设置,选择从U盘启动。然后按照提示,一步步完成安装。安装完成后,使用“uname -r”命令查看内核版本号。发现版本号为3.13.0-117,为了达到目的必须使用降内核的方法,使内核版本变为2.6.35.6。

内核降级

1.     下载2.6.35.6版的内核

要进行内核降级,必须要先下载对应的内核版本。下载方式有两种:一是直接下载内核的源码,进行编译和配置,下载地址为https://www.kernel.org/pub/linux/kernel/v2.6/;二是下载内核对应的二进制文件进行安装,下载地址为http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.35.6-maverick/

如果下载内核源码,进行编译,耗费的时间会比较多,并且可能在编译过程中,会遇到一些问题,于是采用了第二种方法。到这个地址下面下载文件,header文件必须要下这个,在装的过程中开始下的是linux-headers-2.6.35-02063506-generic_2.6.35-02063506.201009271105_amd64.deb

发现在编译网卡驱动的时候出错,因为这个文件在安装之后不会再/usr/src下面新建一个linux-header-LINUX-KERNEL文件夹:

linux-headers-2.6.35-02063506_2.6.35-02063506.201009271105_all.deb

linux-image-2.6.35-02063506-generic_2.6.35-02063506.201009271105_amd64.deb

2.    
2.6.35.6版内核安装

将这两个文件拷贝到/usr目录下,进行安装。安装使用dpkg命令。dpkg 是为”Debian“ 操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。

在安装完成之后,会自动的将2.6.35.6的内核添加到EFI的启动菜单,EFI的启动菜单在/boot/grub/grub.cfg下,这个文件包含了该系统所有的可用内核版本,可以通过选择来启动哪个版本的内核。可以通过如下命令进行查看。至此,2.6.35.6的内核安装完成。

3.    
从2.6.35.6内核启动

有多个版本的内核,指定从哪个内核启动的方法:

首先需要用到2的查看方法,记住这些内核版本的名字。

然后编辑/etc/default/grub文件,修改GRUB_DEFAULT为指定的内核。格式参照如下:由两部分组成:子菜单+内核名字。

GRUB_DEFAULT的值前面“Previous Linux
version”的确定要根据具体情况,可以通过如下命令查看来确定这个值。

修改完成之后,保存再运行apdate-grub命令,再重启就好了。重启完成之后,查看内核版本号,看是否变成2.6.35.6。

网络修复

在完成内核降级之后,发现网络连接不上了,对网络的诊断如下

  1. 用ifconfig 查看接口状态,发现只有lo接口,而ethi0 eth1接口没有了。
  2. 用dmesg | grep ETH命令来查看在启动过程中,是否有网卡信息,结果发现没有
  3. 用lspci -vvv 查看是否发现网卡设备,从而获取网卡信息,lspci 结果如下:

从而得知网卡为Intel的I210 千兆以太网网卡,需要的驱动名字叫“igb”。

  1. 查看驱动是否加载, lsmod | grep igb,发现是驱动没有加载进去导致网络连接不上。
  2. 下载驱动,到intel的官网下载linux驱动,https://downloadcenter.intel.com/download/23207/Intel-Network-Adapter-Driver-for-82575-6-82580-I350-and-I210-211-Based-Gigabit-Network-Connections-for-Linux-
  3. 将这个驱动文件拷贝到/usr文件夹下,然后进行解压
  4. 进入到驱动目录再 cd src,再make install

编译完成之后,就会生成一个igb.ko文件,默认放在/lib/module/KERNEL_VERSION/kernel/drivers/net/igb/下。

在这里需要注意的是前面下载的linux-header二进制文件,必须是linux-headers-2.6.35-02063506_2.6.35-02063506.201009271105_all.deb,这里面包含了linux-header的源文件和build文件,在安装完成之后,会将linux-header源文件放入到/usr/src下,并且在/lib/module/LINUX-KERNEL下多出build文件,这是编译驱动所必须得,而下载的linux-headers-2.6.35-02063506-generic_2.6.35-02063506.201009271105_amd64.deb 很小,只包含有二进制文件。

否则,会报如下错误:

  1. Modprobe igb
  2. 查看网络状态,发现恢复正常。

至此基于内核2.6.35.6版本的Linux系统安装完成。

Ubuntu系统U盘安装以及降内核的更多相关文章

  1. Ubuntu系统---NVIDIA 驱动安装

    Ubuntu系统---NVIDIA 驱动安装 第一次安装“NVIDIA 驱动”,小小的激动,因为终于可以玩GPU了.预想一块GPU,盼望太久,差点放弃,感谢J姐让我捡个漏.但是,第一次新的试错过程,网 ...

  2. Ubuntu系统Apache Maven安装

    操作系统:Linux x64 / Ubuntu 14.04 Apache Maven版本:3.3.9 建议预先搭建Java开发环境:详见上一篇<Linux Ubuntu系统下Java开发环境搭建 ...

  3. Ubuntu系统的Redis安装配置

    Ubuntu系统的Redis安装配置 一.      安装Redis: 在Ubuntu系统下安装Redis数据库有两种方式: 方式一:下载最新的Redis版本(tar.gz格式),解压安装.操作如下: ...

  4. <转>Win8.1+CentOS7 双系统 U盘安装

    0.准备工作 1.宏碁 Aspire 4752G 笔记本 2.Win8.1 企业版操作系统 3.8G 以上 U 盘 4.UltraISO(当然也可以选择其他的U盘制作工具,看个人喜好) 5.下载 Ce ...

  5. win10与centos7的双系统U盘安装(二:安装以及配置centos系统)

    继续第一篇的讲解,接着就是要进入第二部分——安装以及配置centos系统 特别提醒在安装centos之间,注意自己的win10系统进行备份,便于回复安装失败后的系统 1:安装前准备 安装前准备主要是两 ...

  6. win10与centos7的双系统U盘安装(一:制作u盘启动盘)

    博主近来在学习linux系统,当然学习第一步自然是安装系统了,博主选择的是centos7,博主自己的电脑是联想的,系统是win10专业版,在历经数次失败后,博主成功使用u盘安装了win10和cento ...

  7. 虚拟机Ubuntu系统下kaldi安装与编译简介

    kaldi官网:http://www.kaldi-asr.org/doc/index.html 在http://github.com/kaldi-asr/kaldi中直接下载kaldi的zip包,没有 ...

  8. Ubuntu系统Anaconda下载安装与切换源教程【转】

    本文转载自:https://blog.csdn.net/qq_36268036/article/details/81517893 1. 下载安装: 这里选用国内清华大学的Tuna开源软件镜像站作为演示 ...

  9. 装系统---------- u盘 安装系统

    1.首先根据你的电脑品牌进入bios 模式 如何进入:  不同电脑品牌进入bios 方法 进入之后设置启动方式 将第一启动设置为U盘启动设置好后 使用 Fn + F10  保存 2.使用制作好的 U盘 ...

随机推荐

  1. Linux配置ssh免密登录

    假定有3台机,用户名和IP分别是:C1  192.168.1.101C2  192.168.1.102C3  192.168.1.103 # 登入root用户su # 安装vimapt-get ins ...

  2. SQL 中 NOT IN 查询不到数据

    一.问题 用以下sql语句查询数据,结果为空 SELECT a.ID , a.Sub_Project_Name , a.Sub_Project_Type FROM TB_KYSubProject a ...

  3. 函数内部属性之arguments和this

    在函数内部,有两个特殊的对象:arguments和this. 1.arguments arguments是一个类数组对象.包含着传入函数中的所有参数.但这个对象还有一个名叫callee的属性,该属性是 ...

  4. 万能的搜索--之DFS(二)

    (一)深度优先搜索(DFS) 我们先给出深度优先的解决办法,所谓深度优先搜索,在迷宫问题里就是不撞南墙不回头,能走得深一点就尽量深一点.如果碰到了墙壁就返回前一个位置尝试其他的方向.在<啊哈!算 ...

  5. docker守护式容器运行管理

    docker守护式容器适合运行应用程序和服务 以交互方式进入容器  docker run -it centos /bin/bash 以交互方式进入 并设置镜像名称和运行后的主机名称 退出交互式容器并让 ...

  6. 如何用纯 CSS 创作文本滑动特效的 UI 界面

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/QrxxaW 可交互视频教 ...

  7. Django框架基础知识04-模板标签与模板继承

    1.常用的模板标签 -作用是什么? -常用标签 总结:语法 {% tag %} {% endtag %} {% tag 参数 参数 %} 2.模板的继承与引用 -引用 include标签 -继承 ex ...

  8. LeetCode(19) Remove Nth Node From End of List

    题目 Given a linked list, remove the nth node from the end of list and return its head. For example, G ...

  9. HDU 1242 Rescue 营救天使

    Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is describe ...

  10. tiles框架的definition讲解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBL ...