linux内核怎么移植

本篇内容主要讲解“linux内核怎么移植”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux内核怎么移植”吧!

在linux中,内核移植是指将程序代码从一种硬件平台转移到另一种硬件平台上运行;移植是根据用户自己选择的硬件平台来重新编译内核支持对应的硬件,使之可以在该硬件平台上运行,如果缺少相应的硬件驱动程序或其他内核模块,可以自己进行相应的开发加入到内核中一起编译最终实现对硬件的支持。

linux内核移植是什么

所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说,主要是从一种硬件平台转移到另一种硬件平台上运行。

内核移植就是根据你自己选择的硬件平台来重新编译内核支持对应的硬件,使之可以在该硬件平台上运行,如果缺少相应的硬件驱动程序或其他内核模块,可以自己进行相应的开发加入到内核中一起编译最终实现对硬件的支持。

内核的来由

linux是一种开源的电脑操作系统内核。主要是由C语言写成的,既然是开源,那参与开发和维护的人这肯定很多,Linux发展这么快也是因为其开源的缘故,用的人多,发现的问题多,觉得不好用就被某个大神优化了。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。

Linux最早是由芬兰人Linus Torvalds设计的。当时由于UNⅨ的商业化,Andrew Tannebaum教授开发了Minix操作系统以便于不受AT&T许可协议的约束,为教学科研提供一个操作系统。当时发布在Internet上,免费给全世界的学生使用。话不多说,我们直接进入主题。

如何进行内核移植

1、版本与下载

界面如下:

linux内核怎么移植  linux 第1张linux内核怎么移植  linux 第1张

现在稳定版已经到了5.16.12版本了,大家可以把稳定版本下载下来,但是不建议下载最新的,因为不稳定,带来的体验肯定不好。版本之间区别不是很大,可能新版本加入了一些新平台或者新的外部驱动罢了。

2、内核的移植

在编译源码之前先安装lzop库,否则编译失败:

sudo apt-get install lzop

把下载下来的内核源码及进行解压,命令如下:

tar jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

得出如下文件:

linux内核怎么移植  linux 第3张linux内核怎么移植  linux 第3张

创建shell脚本,并输入如下编译命令:

linux内核怎么移植  linux 第5张linux内核怎么移植  linux 第5张

给予脚本权限,直至脚本变绿,如下:

linux内核怎么移植  linux 第7张linux内核怎么移植  linux 第7张

./mx6ull_nand.sh编译程序,出现图形界面可以先不去配置,直接exit退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts文件打交道的,编译之后的文件如下:

linux内核怎么移植  linux 第9张linux内核怎么移植  linux 第9张

3、内核的使用

先设置交叉编译工具变量,进入顶层Makefile中设置如下:

linux内核怎么移植  linux 第11张linux内核怎么移植  linux 第11张

使用如下命令编译Linux:

make xxx_defconfig //使用默认配置文件配置 Linux
make menuconfig //启动图形化配置界面
make -j2         //编译 Linux

到此,相信大家对“linux内核怎么移植”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接