Ubuntu系统U盘安装以及降内核 - 雪莲

chenxuelian 2021-08-13 原文


Ubuntu系统U盘安装以及降内核

由于项目需要,要用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系统安装完成。

发表于
2017-09-05 11:32 
雪莲 
阅读(431
评论(0
编辑 
收藏 
举报

 

版权声明:本文为chenxuelian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chenxuelian/p/7477812.html

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

  1. Java版打字练习游戏源码 – baidulianweikjj

    Java版打字练习游戏源码 代码如下 import java.applet.Applet; import ja […]...

  2. js安全类型检测 – 斜杠人生

    js安全类型检测 背景: js内置的类型检测方法有例如:  typeof  、 instanceof    t […]...

  3. C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转) – xihong

    C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转) 前言         多线程刷新界面主要 […]...

  4. Selenium+java – 单选框及复选框处理

    一、什么是单选框、复选框? 二、被测页面html源代码 CheckBoxRadioDemo.html < […]...

  5. win7远程连接linux服务器方法及命令行备忘 – @影子@

    win7远程连接linux服务器方法及命令行备忘 2012-04-06 14:31  @影子@  阅读(163 […]...

  6. Linux从零开始搭建nas & Time Machine(一)

    整个过程以Fedora 20为例。   首先安装&配置SSH,SSH安装完毕之后服务器就能扔一边不用管 […]...

  7. groupcache源码解析-概览

    接下来讲什么   今天开始讲groupcache! Memcached大家应该都不陌生,官网的介绍是: Fre […]...

  8. JAVA数组的定义与访问 – 余腾

    JAVA数组的定义与访问 一、数组 1、容器概述 容器:是将多个数据存储到一起,每个数据称为该容器的元素。 2 […]...

随机推荐

  1. PostgreSQL空间数据库创建备份恢复(PostGIS vs ArcGIS)

    梯子 PostGIS创建备份恢复ArcGIS创建备份恢复 PostGIS 创建 安装就不必介绍了,window […]...

  2. js 调用打印机(可清除页眉页脚)

    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 T […]...

  3. win10 , JAVA安装 环境搭建

    一.关于下载地址及方式: 1.百度搜索JDK,进入下载官网,具体网址如下: click me!!!  2.根据 […]...

  4. python 程序中调用go

    Golang构建Python高性能模块 虽然Python优点很多,但是有一个致命的缺点就是运行速度太慢,那么P […]...

  5. 软件需求分析文档模版

    软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求 […]...

  6. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数   之前介绍了简单的路 […]...

  7. 从合并请求角度谈性能优化

    从合并请求角度谈性能优化   性能优化是前端非常重要的一块,可下手的地方有很多,比如图片层次、JS层次、web […]...

  8. DevExpress GridView 整理

    1:去除 GridView 头上的 “Drag a column header here to g […]...

展开目录

目录导航