由于项目需要,要用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. 嵌入式C语言-学习书籍推荐(pdf附上百度云链接)

    先推荐学习视频网站: https://www.bilibili.com/video/av22631677?from=search&seid=800092160484173881 书籍只推荐2本 ...

  2. 超不清视频播放器-用Python将视频转成字符

    前言 今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个“超不清”的视频播放器:在控制台里播放视频,用字符来表示画面 不过我觉得 ...

  3. 微信小程序---代码构成

    通过开发者工具快速创建了一个demo项目,观察后可以发现这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 .wxss 后缀的 WXSS ...

  4. 字符串类型:str, bytes 的区别

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分. 文本总是 Unicode,由 str 类型表示, 二进制数据则由 bytes 类型表示. Python 3不会以任意隐式的方 ...

  5. Linux下安装Redis5.0.2

    1.下载redis 地址 http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压tar -zxf redis-5.0.2.tar.gz 3. ...

  6. 组管理命令--groupadd.groupmod.groupdel.gpasswd

    添加用户组 格式 groupadd [参数] 组名 参数选项 -g GID:指定新组的GID,默认值是已有的最大的GID加1.-r:建立一个系统专用组,与-g不同时使用时,则分配一个1-499的GID ...

  7. 如何学好C和C++

    酷壳上的两篇文章,转载至此,学好C和C++. 我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子.比如:你长期地使用Java和.NET ...

  8. mysql启动问题

    /usr/local/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied) - ...

  9. 算法导论 第一章and第二章(python)

    算法导论 第一章 算法     输入--(算法)-->输出   解决的问题     识别DNA(排序,最长公共子序列,) # 确定一部分用法     互联网快速访问索引     电子商务(数值算 ...

  10. Oracle中有关数学表达式的语法

    Oracle中有关数学表达式的语法 三角函数 SIN               ASIN              SINHCOS             ACOS           COSHTA ...