![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式/kernel
chegxy
这个作者很懒,什么都没留下…
展开
-
Linux中的文件系统与挂载
Linux中的文件系统与挂载1. 前言2. 挂载2.1. 简介2.2. 挂载一个磁盘到某个目录下2.3. 挂载一个已有目录到某个目录下2.4. mount支持的文件系统格式3. Linux的文件系统1. 前言本文将介绍一下挂载是什么,怎么用,以及在文件系统中的作用,最后介绍了Linux的文件系统如何组织及查看方法。2. 挂载2.1. 简介在讲文件系统前,我们先了解一下挂载(mount)是什么。通俗的来说,挂载就是将一个已有的磁盘或者说设备映射到一个文件夹下,以实现通过该文件夹来访问被映射设备的空原创 2020-11-27 17:16:27 · 1781 阅读 · 0 评论 -
Linux驱动函数register_chrdev_region
Linux驱动注册有两种接口,一种是旧接口register_chrdev,另一种是新接口register_chrdev_region + cdev_init/cdev_add。register_chrdev_region函数内容如下:原创 2019-08-04 11:44:33 · 1199 阅读 · 0 评论 -
init进程启动过程梳理
init进程作为Linux内核启动后的1号进程,其将会随着系统运行一直保持运行状态直到系统关机,本文梳理了init进程从内核到根文件系统过程中init进程执行的一个流程。内核在启动结束时,其会调用kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);函数挂起kernel_init进程,虽说是进程,其实质还是一个函数,在kernel_...原创 2019-07-06 12:21:08 · 898 阅读 · 0 评论 -
kernel启动过程-汇编阶段
kernel启动过程笔记1. 程序入口2. 镜像的物理地址与虚拟地址3. 汇编启动阶段kernel镜像版本为2.6.351. 程序入口类似于bootloader代码分析一样,要找程序的入口可以先在工程中寻找lds链接文件,通过Linux的find命令可以找到一个文件vmlinux.lds.S文件,路径为kernel/arch/arm/kernel/,之所以kernel的链接脚本不是lds...原创 2019-06-30 22:56:34 · 451 阅读 · 0 评论 -
Linux应用编程之文件属性操作
Linux应用编程之文件属性操作1. stat函数及其打印内容解释之前已经谈过Linux系统中对文件内容操作的一些函数和知识,接下来本文要谈的就是怎么操作每个文件的属性,Linux系统中每个文件都有自己的属性,比如权限问题、属主以及时间戳等等,所以了解怎样操作文件属性也是很有必要的。1. stat函数及其打印内容解释我们都知道Linux系统中的ls命令,它可以打印某个文件夹下文件属性,其包...原创 2019-07-14 16:13:00 · 348 阅读 · 0 评论 -
Linux应用编程之文件IO
Linux应用编程之文件IO1. open函数与它的flags在Linux系统下,一般所有的设计都奉行一个原则,那就是一切皆是文件。无论你要访问一个硬件设备还是编写一个文档都需要操作相应目录下的文件,所以,对文件的操作可以说是Linux应用编程的基础,十分重要,本文会对Linux系统下与文件IO相关的库函数做一个介绍,并且分析文件在多进程中会被如何操作。1. open函数与它的flags在...原创 2019-07-10 12:13:01 · 372 阅读 · 0 评论 -
arch_initcall与do_initcalls
在Linux中的许多地方经常可以看到arch_initcall的使用,arch_initcall究竟是干什么用的呢?查找整个工程可以在…/kernel/linux/init.h文件中找到arch_initcall的定义:#define arch_initcall(fn) __define_initcall("3",fn,3)所以,对arch_initcall的使用就是对__define_i...原创 2019-07-03 16:22:08 · 590 阅读 · 0 评论 -
init进程笔记
在Linux内核启动到最后时,内核会调用三个进程,PID分别为0,1,2,其中就包含了init进程(PID=1)。init进程可以说是之后所有用户进程的父进程了,它自从产生便一直存在在内存空间中直到关机。在系统启动后,使用ps命令查看进程列表可以在最开始找到init进程,ps命令打印的是所有用户态下的进程,这是不是可以说明init进程就是一个用户进程呢?答案是否定的,init进程实际上最初是内核...原创 2019-07-02 17:41:19 · 297 阅读 · 0 评论 -
kernel启动过程笔记-C语言阶段
kernel启动过程-C语言阶段kernel镜像版本为2.6.35kernel内核的C语言启动过程主要由start_kernel函数负责,该函数位于…/kernel/init/main.c文件中。在该函数中调用了大量函数,体系非常庞大,但其中大部分我们可以不用关心,因为那些都涉及到一些专业知识,只有专门负责的大佬才会详细了解。按照程序流程,先执行了如下代码: smp_setup_pro...原创 2019-07-01 23:31:13 · 548 阅读 · 0 评论 -
kernel编译过程
kernel编译过程先进入kernel文件夹,使用make distclean对kernel文件夹清理。使用make x210ii_qt_defconfig命令对工程进行配置。另外需要检查Makefile文件中CROSS_COMPILE变量是否是正确的交叉工具链的路径。配置成功后如下图所示:3. 检查kernel文件夹下是否新增一个文件.config。4. 通过命令sudo apt-...原创 2019-06-09 10:46:59 · 2749 阅读 · 0 评论