树莓派内核开发准备(内核源码获取、启动过程、源码目录树)
目录
- 1.交叉编译工具的安装
- 2.内核源码获取
- 3.嵌入式设备带操作系统的启动过程扫盲
- 4.Linux内核源码树扫盲
- 1.内核源码简介
- 2.Linux内核源代码目录树结构
- tree指令查看
- 内核源码目录树
1.交叉编译工具的安装
参照我之前的笔记
2.内核源码获取
下载哪个版本取决于树莓派的版本,用命令查看
uname -r
官网是外网下载慢,这里是提前下载好的树莓派源内核码资源
链接: https://pan.baidu.com/s/1d8KgnJIc8QoDlZMyt4ITDw
提取码: f3d4
官网下载方式(方便以后下载树莓派其他内核版本):
官网地址:https://github.com/raspberrypi/
3.嵌入式设备带操作系统的启动过程扫盲
4.Linux内核源码树扫盲
1.内核源码简介
2.Linux内核源代码目录树结构
tree指令查看
通过安装tree指令方便看内核源码树目录。
树状显示当前文件夹下包络的文件。做第三方工具安装的时候,可用于检查包里的内容是否完整。
- 安装
sudo apt-get install tree
- 使用
tree
内核源码目录树
arch
包含和硬件体系结构相关的代码,每种平台占一个相应的目录。
每个平台中比较重要的包括:
- kernel(内核核心部分)
- mm(内存管理)
- math-emu(浮点单元仿真)
- lib(硬件相关工具函数)
- boot(引导程序)
- pci(PCI总线)
- power(CPU相关状态)
block
部分块设备(内存之类的存储介质等)驱动程序。
crypto
常用加密和散列算法(如AES、SHA等)(形成了一个标准,不需要自己去写这些算法),还有一些压缩和CRC校验算法。
Documentation
关于内核各部分的通用解释和注释。(大多看不懂)
drivers
设备驱动程序,每个不同的驱动占用一个子目录。
fs
各种支持的文件系统,如ext、fat、ntfs等。
include
头文件。其中,和系统相关的头文件被放置在linux子目录下。
init
内核初始化代码(注意不是系统引导代码)。
ipc
进程间通信的代码。
kernel
内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放在arch/*/kernel目录下。
lib
库文件代码
mm
内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。
net
网络相关代码,实现了各种常见的网络协议。
scripts
用于配置内核文件的脚本文件。
security
主要是一个SELinux的模块。
sound
常用音频设备的驱动程序等。
usr
实现了一个cpio。
内核源码目录树详细结构介绍,参照博文:https://www.cnblogs.com/senior-engineer/p/4929703.html
树莓派内核开发准备(内核源码获取、启动过程、源码目录树)相关推荐
- Android内核开发:图解Android系统的启动过程
本文是<Android内核开发>系列的第六篇文章,前面的几篇文章介绍了Android内核开发相关的基础知识,包括:Android源码的下载.版本和分支介绍.编译和烧写等等,从本文起就要开始 ...
- Android内核开发:学会分析系统的启动log
本文是<Android内核开发>系列的第八篇文章,本文主要关注如何分析Android系统的启动log,学会通过搜索重要的TAG标签,找到Android启动过程中的重要节点. 要学会分析系统 ...
- php 框架获取服务器,Thinkphp 框架基础之源码获取、环境要求与目录结构分析
本文实例讲述了Thinkphp 框架基础之源码获取.环境要求与目录结构.分享给大家供大家参考,具体如下: 获取ThinkPHP 获取ThinkPHP的方式很多,官方网站(http://thinkphp ...
- golang源码分析-启动过程概述
golang源码分析-启动过程概述 golang语言作为根据CSP模型实现的一种强类型的语言,本文主要就是通过简单的实例来分析一下golang语言的启动流程,为深入了解与学习做铺垫. golang代码 ...
- ARM树莓派高级开发——linux内核源码、树莓派源码编译、SD卡挂载
文章目录 linux内核开发基础(linux内核源码.树莓派源码编译.SD卡挂载) 树莓派等芯片带操作系统的启动过程 linux内核源码树 Linux内核源代码目录树结构: 树莓派Linux源码配置 ...
- 网易严选php版本小程序,Thinkphp5.0内核开发仿网易严选微信小程序商城源码 电商小程序源码...
仿网易严选微信小程序商城源码 电商小程序源码 安装环境:php5.3及以上+mysql,开启https Thinkphp5.0内核开发的电商类小程序源码整站后端+前台仿网易严选商城化妆品电商小程序,完 ...
- Linux 内核开发 - Eclipse内核开发环境搭建
翻译这篇文章的时候,我也想过可能会有高手说,内核开发用vi就足够了,还用什么eclipse,当然对于内核中函数特别了解的人确实如此,但是对于新 手,每使用一个函数,就要去查找一下函数的定义,实在是非常 ...
- linux eclipse 关联源码,获取Hadoop的源码和通过Eclipse关联Hadoop的源码
一.获取Hadoop的源码 首先通过官网下载hadoop-2.5.2-src.tar.gz的软件包,下载好之后解压发现出现了一些错误,无法解压缩, 因此有部分源码我们无法解压 ,因此在这里我讲述一下如 ...
- 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )
文章目录 一.启动应用源码分析 1.HomeActivity 启动应用点击方法 2.HomePresenterImpl 启动应用方法 3.VirtualCore 启动插件应用最终方法 一.启动应用源码 ...
- linux加载内核后如何运行app,Android app启动过程
Native进程的运行过程 一般程序的启动步骤,可以用下图描述.程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行. 通常,native进程是由shell或者init启 ...
最新文章
- 气氛拉满!高校补办2020届毕业典礼,这些专属礼物太戳心......
- 小猿圈之git 的几个好用自定义命令
- POJ 3784.Running Median
- 关于python的一些好的书籍推荐-推荐几本对于Python初学者比较好的书籍(内含PDF)...
- UML建模之时序图(Sequence Diagram)教程
- Python组织文件 实践:查找大文件、 用Mb、kb显示文件尺寸 、计算程序运行时间
- linux下gem卸载,gem 安装卸载pod
- 通俗地讲清楚fit_transform()和transform()的区别
- RabbitMq如何确保消息不丢失
- 2020年中职学计算机有前途吗,2020年南昌中专计算机专业都学什么
- C语言求一个文件的长度,求二进制文件的长度
- 倒计时1天 | 一年学遍吴恩达、李飞飞、周志华等17大精品课!(ML、CV、NLP一应俱全)...
- BUGKU 多次 手动注入+脚本盲注
- 聚类:Python遗传算法
- 使用CSF对kitti的点云数据过滤出地面点云,结合PCL使用,C++实现
- 查找国外硕士博士论文
- Android Activity 生命周期和重要的相关函数(基础一)
- yujin_ocs/yocs_velocity_smoother速度平滑velocity_smoother_nodelet源码解读
- 09 | I/O优化(上):开发工程师必备的I/O优化知识
- 模4补码(也称为变形补码)详解