定制版网站建设详细报价,东莞回收网站设计,微信平台开发公司成都,网站被入侵别人是怎么做跳转的具体实验步骤在lv13day10 实验十
一、Linux内核概述
1.1 内核与操作系统
内核 内核是一个操作系统的核心#xff0c;提供了操作系统最基本的功能#xff0c;是操作系统工作的基础#xff0c;决定着整个系统的性能和稳定性
操作系统 操作系统是在内核的基础上添…具体实验步骤在lv13day10 实验十
一、Linux内核概述
1.1 内核与操作系统
内核 内核是一个操作系统的核心提供了操作系统最基本的功能是操作系统工作的基础决定着整个系统的性能和稳定性
操作系统 操作系统是在内核的基础上添加了各种工具集、桌面管理器、库、shell、应用程序等 uboot中的shell命令是放在跟目录下的bin中开发板中的shell命令是放在根文件系统中 1.2 Linux层次结构 1.3 Linux内核特点 代码结构清晰、模块化设计 支持丰富的硬件平台 较高的稳定性 轻量化及较强的裁剪性 开放源代码 更新活跃、用户较多、资料丰富 支持丰富的网络协议 ... ...
二、Linux内核源码结构
2.1 Linux内核源码获取
Linux内核源码下载 https://www.kernel.org/
Linux内核版本命名 主版本号.次版本号.修订版本
Linux内核版本选择 支持对应的硬件平台 相对成熟的版本资料多 稳定版本(次版本号为偶数的版本一般都是稳定版) 2.2 Linux内核源码结构
平台相关代码 arch: 与CPU架构相关的源代码 上图是我们用的exynos4412的处理器的源代码
平台无关代码 block:磁盘设备的支持 crypto:加密相关 drivers:设备驱动 firmware:固件 fs:文件系统 include:头文件 init:内核初始化 ipc:进程间通信 kernel:内核核心调度机制等 lib:库 mm:内存管理 net:网络协议 scripts:工具、脚本等 security:安全 usr:打包与压缩 virt:虚拟
帮助文档、示例程序、工具等 COPYING: 版权 CREDITS: 内核贡献者 README: 说明文档 Documentation: 帮助文档 Makefile: 编译管理 samples: 示例 tools: 工具 ... ...
三、Linux内核源码配置
指定处理器架构及编译工具 在Linux内核源码顶层目录下的Makefile中指定(ARCH、CROSS_COMPILE) 导入当前处理器的默认配置 make soc_name_defconfig 注1soc_name为当前使用的处理器的名字 注2内核源码的arch/arm/configs下对各个厂商的soc都有一个默认配置文件。执行该命令后就会将对应的配置文件中的信息导入到源码顶层目录下的.config。文件中CONFIG_xxxy表示内核选中了该功能内核编译时就会将该功能对应的代码编译内核的体积也会增大。#CONFIG_xxx is not set表示内核没有选中该功能内核编译时该功能对应的代码不会被编译内核的体积也会减小。 四、Linux内核源码编译
4.1 修改配置 默认配置只能保证内核拥有最基本的功能我们需要根据自己的实际需求对内核做进一步的配置 方法1 直接修改.config文件不推荐 方法2 make menuconfig 4.2 make menuconfig
修改配置 [ ] 有两种状态 输入Y显示“*”内核中该功能被选中相关代码会被编译进内核 输入N显示“ ”内核中该功能不被选中相关代码不会被编译进内核 有三种状态 输入Y显示“*”内核中该功能被选中相关代码会被编译进内核 输入N显示“ ”内核中该功能不被选中相关代码不会被编译进内核 输入M显示“M”内核中该功能被选为模块被编译为独立的模块 注使用make menuconfig配置的本质还是修改.config文件
五、Linux编译内核模块
内核编译以下命令均在内核源码的顶层目录下执行 make uImage 编译内核编译选为“*”的选项到内核 make modules 编译内核模块编译选为“M”的选项为独立模块 make dtbs 编译设备树将设备树源文件dts编译为二进制文件dtb make clean 删除编译过程中产生的中间文件 make modules实验步骤
先在顶层目录下用make menuconfig进入图形化界面然后把DM9000选为M将会编译成模块。 保存后再回到顶层目录下用make modules命令编译模块下图可见DM9000被编译了。 .ko就是内核模块的意思我们可以把dm9000.ko单独安装到linux内核也可以单独卸载。 六、Linux编译设备树 make dtbs实验步骤 我们复制一份和我们的设备最接近的设备树再进行修改。 修改当前目录下的Makefile先搜索origen看它是怎么编译的我们把fs4412添加在它下方。 回到顶层目录后用make dtbs进行编译就会发现已经生成了fs4412的两个文件