共计 1445 个字符,预计需要花费 4 分钟才能阅读完成。
本篇内容主要讲解“linux 内核怎么移植”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“linux 内核怎么移植”吧!
在 linux 中,内核移植是指将程序代码从一种硬件平台转移到另一种硬件平台上运行;移植是根据用户自己选择的硬件平台来重新编译内核支持对应的硬件,使之可以在该硬件平台上运行,如果缺少相应的硬件驱动程序或其他内核模块,可以自己进行相应的开发加入到内核中一起编译最终实现对硬件的支持。
linux 内核移植是什么
所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说,主要是从一种硬件平台转移到另一种硬件平台上运行。
内核移植就是根据你自己选择的硬件平台来重新编译内核支持对应的硬件,使之可以在该硬件平台上运行,如果缺少相应的硬件驱动程序或其他内核模块,可以自己进行相应的开发加入到内核中一起编译最终实现对硬件的支持。
内核的来由
linux 是一种开源的电脑操作系统内核。主要是由 C 语言写成的,既然是开源,那参与开发和维护的人这肯定很多,Linux 发展这么快也是因为其开源的缘故,用的人多,发现的问题多,觉得不好用就被某个大神优化了。Linux 内核的主要模块(或组件)分以下几个部分:存储管理、CPU 和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
Linux 最早是由芬兰人 Linus Torvalds 设计的。当时由于 UNⅨ的商业化,Andrew Tannebaum 教授开发了 Minix 操作系统以便于不受 AT T 许可协议的约束,为教学科研提供一个操作系统。当时发布在 Internet 上,免费给全世界的学生使用。话不多说,我们直接进入主题。
如何进行内核移植
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
得出如下文件:
创建 shell 脚本,并输入如下编译命令:
给予脚本权限,直至脚本变绿,如下:
./mx6ull_nand.sh 编译程序,出现图形界面可以先不去配置,直接 exit 退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts 文件打交道的,编译之后的文件如下:
3、内核的使用
先设置交叉编译工具变量,进入顶层 Makefile 中设置如下:
使用如下命令编译 Linux:
make xxx_defconfig // 使用默认配置文件配置 Linux
make menuconfig // 启动图形化配置界面
make -j2 // 编译 Linux
到此,相信大家对“linux 内核怎么移植”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!