我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux内核移植的步骤是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux内核移植的步骤是什么

今天给大家介绍一下Linux内核移植的步骤是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

Linux内核如何进行移植?所谓的内核移植就是从一种硬件平台转移到另一硬件平台上进行移植。

方式一:kernel提供的源码包,进行编译替换

1、首先做好内核编译前的准备工作,

主要有两个准备工作,一是在linux kernel官网上下载源码包,二是安装好任意版本的linux Ubuntu 系统并下载相应的编译工具。

在linux kernel上下载源码包,网址为:https://www.kernel.org/pub/linux/kernel/,选择对应的源码包下载,注意源码包的大小一般是几十兆左右,命名后缀为.tar.bz2,如下图所示:以linux_3.2.1为例子: Linux内核移植的步骤是什么

下载完成后,进行第二个准备工作,安装任意版本的Ubuntu,安装镜像网址:http://www.ubuntu.org.cn/download ,像装其他任意操作系统一样,安装完成Ubuntu操作系统,然后配置好联网,进行apk_get的下载。以下过程在root权限下进行,安装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。

有关命令:

 $sudo  apt-get install build-essential kernel-package   libncurses5-dev

注意: (1)libncurses5-dev是为之后配置内核能运行 make menuconfig程序做准备 Build-essential为编译工具,kernel-package是编译内核工具

(2)如果系统显示无法查找到这三个文件,输入#apt-get update更新数据源。 把刚刚下载的源码包进行拷贝在ubuntu系统中,并解压到/usr/class="lazy" data-src 目录下,解压可以直接右键解压,或者采用以下命令进行解压:

 $sudo tar Jvfx linux-3.4.88.tar.xz
2、开始配置编译的相关文件及环境

首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。 相关命令如下:

 #$ sudo make mrproper

然后将自己原本内核的配置文件拷贝过来成为新内核的配置文件,命令:

 #cp /boot/config-`uname -r` ./.config

这里需要说明的是,拷贝过来是很方便的,相当于直接给新的内核编译提供对应的配置文件,告诉内核哪些文件要编译,哪些不需要编译,但是经过几次的编译修改,这一部分是可以自定义的,利用我们之前下载的工具menuconfig。

进入内核的源码目录

 #cd /usr/class="lazy" data-src/linux_3.2.1

执行以下命令:

 #make  menuconfig

注意:这个命令需要在超级用户权限下执行,否则可能会报出一些莫名奇妙的错误。执行这个命令之后了,就可一看到下面的图片了: Linux内核移植的步骤是什么 这个图里面就可以对配置文件进行一个修改了,如果当初直接拷贝原内核的配置文件,那么此时直接选择倒数第二行load an Alternate Configuration File,然后sava即可。

如果自己配置则选择上面的任意目录,进行选择哪些文件要编译,哪些不编译,一般需要选择的是设备驱动,选项是Device Drivers,选择完毕后同样保存save即可。

注意这两种方式都可以,看用户自己的选择。具体的每个选项的内容解析见一下博客: http://forum.ubuntu.org.cn/viewtopic.php?t=134404

3、开始编译新内核

编译命令:

 #make all -j4

执行以上命令之后就可以编译内核了, make all就是将内核以及模块一起编译。后面的参数-j4表示,cpu要开启四个线程来编译内核。一般来说,每个cpu可以开启两个线程来编译内核,我的电脑是有两个cpu,所以开启了4个线程。这样编译真心很快的,以前没有发现这样编译,只有一个线程编译真心够等好长时间的。

4、编译完成之后,就可以进行内核的安装了

我们将源代码目录下的arch/x86_64/boot/bzImage复制到/boot/下面,因为我下载的源代码版本为linux-3.2.1,但是需要根据自己的cpu类型,如是x86架构还是amd,或者是32位或64位,在相应的目录下寻找bzImage。 所以复制的命令为:

 #cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.2.1

这里需要说明,bzImage必须得有,是编译成功完成的一个生成文件,如果没有此文件,对不起,编译失败,请重新回去编译。vmlinuz-3.2.1 是自己主动命令的,可以自己改,但一般都是这种命令方式。

5、将源代码目录下的System.map复制到/boot目录下:

命令:

 #cp /usr/class="lazy" data-src/linux-3.2.1/System.map System.map-3.2.1
6、.将源代码目录下的.config复制到/boot/目录下:

命令:

 #cp .config /boot/config-3.2.1
7、安装模块

命令:

 #make modules_install
8、生成initrd.img文件
 #cd /lib/modules/3.2.1 #update-initramfs –c –k 3.2.1
9、.切换到/boot/grub/目录下,自动查找新内核,并添加至grub引导
 #update-grub
10、修改开机grub启动时间间隔,命令如下:
 #cd /ect/default #sudo nano ./grub

将hidden两行代码注释掉,这样开机启动的grub就会出现,可以由你选择改启动哪个内核版本。

 #GRUB_HIDDEN_TIMEOUT=0 #GRUB_HIDDEN_TIMEOUT_QUIET=tru

更改完成之后,在重新生成grub.cfg文件,命令和上面一样:

 #update-grub
11、切换至grub.cfg目录

以文本形式查看,是否更新有新内核的启动项,如果有即可不用修改,如果没有,进行手动修改。

 #cd /boot/grub #sudo nano ./grub.cfg

手动修改,按照原来内核的格式进行修改,只用修改新内核的名字而已。

12、重启电脑,在previous version中选择启动新编译的内核,成功进入系统。

输入内核版本检测命令:

 命令:#uname -r

就会出现新内核的名称!!!恭喜,替换内核成功!

方式二:下载内核安装包deb,进行升级替换

首先必须说明的是,这种方式我尝试了两台电脑,两个不同的内核升级,均为成功,原因不详: 具体步骤简单如下:

1.下载deb包

在 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 上下载所需升级包。此处下载的是64位的3.5.4版本的3个deb包:

 linux-headers-3.5.4-030504_3.5.4-030504.201209142010_all.deb linux-headers-3.5.4-030504-generic_3.5.4-030504.201209142010_amd64.deb linux-image-3.5.4-030504-generic_3.5.4-030504.201209142010_amd64.deb
2.安装deb包

首先安装架构无关的即带all的headers包

 sudo dpkg -i linux-headers-3.5.4-030504_3.5.4-030504.201209142010_all.deb sudo dpkg -i linux-headers-3.5.4-030504-generic_3.5.4-030504.201209142010_amd64.deb sudo dpkg -i linux-image-3.5.4-030504-generic_3.5.4-030504.201209142010_amd64.deb

安装后,/boot目录下会生成新的内核的相关文件,/lib/modules目下也生成了相应模块。

3.更新启动项grub

按照上述的步骤9开始,与上面一样。更新完了grub.cfg,然后重新启动,进行新的内核即可。

以上就是Linux内核移植的步骤是什么的全部内容了,更多与Linux内核移植的步骤是什么相关的内容可以搜索编程网之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux内核移植的步骤是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux内核移植的步骤是什么

今天给大家介绍一下Linux内核移植的步骤是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Linux内核如何进行移植?所谓的内核移植就是从一种硬件平台转移
2023-06-28

Linux移植的步骤是什么

Linux移植的步骤大致如下:1.选择目标硬件平台:确定要将Linux移植到的硬件平台,包括处理器架构、系统总线、外设等。2.准备嵌入式开发环境:搭建嵌入式开发环境,包括交叉编译工具链、调试工具等。3.获取Linux内核源代码:从官方网站或
2023-10-18

linux内核移植指的是什么

这篇“linux内核移植指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux内核移植指的是什么”文章吧。在li
2023-06-29

移植新内核到Linux系统上的操作步骤

1、在ubuntu官网下载ubuntu16.04的镜像和对应ubuntu16.04的内核版本源代码,或者在镜像源上找 2、安装ubuntu16.04到PC主机上 接下来执行以下: 编译新的linux内核给X86内核使用XvhpX出现以下错误
2022-06-04

linux内核怎么移植

本篇内容主要讲解“linux内核怎么移植”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux内核怎么移植”吧!在linux中,内核移植是指将程序代码从一种硬件平
2023-02-23

嵌入式linux系统移植的步骤是什么

嵌入式Linux系统移植的步骤通常包括以下几个步骤:选择合适的硬件平台:根据项目需求,选择合适的硬件平台,包括处理器、芯片组、硬件接口等。创建开发环境:搭建开发环境,包括安装交叉编译工具链、配置开发环境等。获取源代码:从官方或第三方渠道获取
2023-10-26

linux内核编译的步骤是什么

Linux内核编译的步骤如下:获取内核源代码:可以从官方网站下载最新版本的内核源代码,也可以从GitHub等开源社区获取。解压源代码:使用解压工具将下载的内核源代码解压到合适的目录中。配置内核:进入源代码目录,在命令行中运行make命令来打
linux内核编译的步骤是什么
2024-02-29

linux编译内核的步骤是什么

编译Linux内核的步骤如下:1. 获取内核源代码:从官方网站或开源社区下载最新版本的Linux内核源代码。2. 安装编译工具:确保系统中已经安装了必要的编译工具,如GCC、Make工具和相应的依赖库。可以通过运行`sudo apt-get
2023-10-07

Linux内核移植的方法有哪些

这篇文章主要介绍“Linux内核移植的方法有哪些”,在日常操作中,相信很多人在Linux内核移植的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内核移植的方法有哪些”的疑惑有所帮助!接下来
2023-06-27

linux内核挂载根文件系统的步骤是什么

在Linux系统中,挂载根文件系统的步骤如下:1. 引导加载程序(Bootloader)加载内核映像文件到内存中。2. 内核启动后,首先会进行硬件初始化和自检,然后会进行根文件系统的挂载。3. 内核根据设定的参数,通过设备驱动程序找到存储根
2023-10-10

linux移动多个文件的步骤是什么

要移动多个文件,可以按照以下步骤进行操作:1. 打开终端,进入要操作的文件所在的目录。可以使用cd命令切换目录。例如:```bashcd /path/to/directory```2. 使用mv命令移动文件。mv命令的一般格式是:```ba
2023-09-15

Linux内核指的是什么

今天就跟大家聊聊有关Linux内核指的是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。内核属于操作系统的核心部分,它具有操作系统基本的功能,主要负责管理系统的内存、进程、设备驱动
2023-06-28

linux搭建k8s的步骤步骤是什么

搭建Kubernetes集群在Linux上通常需要以下步骤:1. 安装Docker:Kubernetes需要Docker作为容器运行时。你可以通过在终端中运行以下命令来安装Docker:```sudo apt updatesudo apt
2023-10-11

ubuntu系统迁移的步骤是什么

迁移Ubuntu系统的步骤可以分为以下几个步骤:备份数据:在迁移之前,首先要确保将所有重要的数据进行备份,以防止数据丢失或损坏。安装新系统:在新系统上进行安装,可以选择使用光盘、USB驱动器或者网络进行安装。复制文件:将备份的文件复制到新系
2023-10-26

Linux内核的作用是什么

Linux内核是操作系统的核心组件,它负责管理计算机的硬件资源,并提供给应用程序访问这些资源的接口。它的主要作用包括以下几点:硬件管理:Linux内核负责管理计算机的硬件资源,包括CPU、内存、磁盘、网络接口等,它通过驱动程序与这些硬件进行
Linux内核的作用是什么
2024-03-06

Linux系统的内核是什么

Linux系统的内核是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。相信接触过Linux的人或多或少都知道内核这个东西,下面就和大家聊一下Linux内核到底是什么东西?
2023-06-28

什么是Linux内核抢占

这篇文章主要讲解了“什么是Linux内核抢占”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是Linux内核抢占”吧!环境:处理器架构:arm64内核源码:linux-5.11ubuntu
2023-06-15

mysql数据库迁移的步骤是什么

MySQL数据库迁移的步骤通常包括以下几个方面:1.备份原始数据库:在开始迁移之前,首先需要对原始数据库进行备份,以防止数据丢失或损坏。2.创建新的数据库:在目标服务器上创建一个新的数据库,用于存储迁移后的数据。3.导出数据:使用mysql
2023-09-27

hadoop服务器迁移的步骤是什么

Hadoop服务器迁移包括以下步骤:确定迁移目标:确定新服务器的配置和位置,确保新服务器满足集群需求。数据备份:在执行迁移操作之前,务必对所有数据进行备份,以防数据丢失。暂停集群服务:在开始迁移之前,需要暂停Hadoop集群的所有服务,以确
hadoop服务器迁移的步骤是什么
2024-04-15

编程热搜

目录