linux内核2.6.33
文章平均质量分 82
chungle2011
这个作者很懒,什么都没留下…
展开
-
Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)(centos6.5符合,centos7以后有变化)
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。转载 2024-04-06 13:55:52 · 251 阅读 · 0 评论 -
源码中查看Linux内核版本
内核版本信息在顶层Makefile文件中lemon@ubuntu:~/Develop/OrangePi_Lite2/lichee/linux-3.10$ vim MakefileVERSION = 3PATCHLEVEL = 10SUBLEVEL = 65EXTRAVERSION =NAME = TOSSUG Baby Fish...转载 2020-03-25 16:46:14 · 1041 阅读 · 0 评论 -
GDT,LDT,GDTR,LDTR 详解,包你理解透彻
http://www.techbulo.com/708.html一、引入保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成段描述符寄存器: 存储段描述符选择器:存储段描述符的索引段寄存器PS:原先实模式下的各个段寄存器作为保护模式下的段选择器,80486中有6个(即CS,SS,DS,ES,FS,GS)80位的段寄存器。由选择器CS对应表示的段仍为代码段,选择器SS对应表示的...转载 2018-04-24 20:03:06 · 5158 阅读 · 0 评论 -
Linux内核同步机制之(二):Per-CPU变量
转自:http://www.wowotech.net/linux_kenrel/per-cpu.html一、源由:为何引入Per-CPU变量?1、lock bus带来的性能问题在ARM平台上,ARMv6之前,SWP和SWPB指令被用来支持对shared memory的访问:SWP <Rt>, <Rt2>, [<Rn>]Rn中保存了SWP指令要操作的内存地址,通过...转载 2018-03-30 16:59:33 · 263 阅读 · 0 评论 -
early_printk函数及 在Linux中的调试使用技巧(转+原创)
http://blog.csdn.net/fengel_cs/article/details/50468912 分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过printk函数了,但是这个时候的printk函数只是将打印信息放在缓存区中,并没有打印到控制台上,因为这个时候控制台还没有被初始化。 只有在start_kernel函数中的console_...原创 2018-03-02 18:22:40 · 879 阅读 · 0 评论 -
内核日志及printk结构浅析
http://blog.chinaunix.net/uid-20543672-id-3211832.html 这段时间复习了一下内核调试系统,注意看了一下printk的实现以及内核日志的相关知识,这里做一下总结。一、printk概述 对于做Linux内核开发的人来说,printk实在是再熟悉不过了。内核启动时显示的各种信息大部分都是通过她来实现的,在做内核驱动调试的时候大部分时候使用她就足矣...转载 2018-03-02 15:30:48 · 205 阅读 · 0 评论 -
ARM linux kernel启动流程 head.S(一)
http://blog.csdn.net/tommy_wxie/article/details/72387481. kernel运行的史前时期和内存布局在arm平台下,zImage.bin压缩镜像是由bootloader加载到物理内存,然后跳到zImage.bin里一段程序,它专门于将被压缩的kernel解压缩到KERNEL_RAM_PADDR开始的一段内存中,接着跳进真正的kernel去执行。该...转载 2018-02-28 23:52:06 · 312 阅读 · 0 评论 -
ARM Linux启动流程分析——内核自解压阶段
http://blog.csdn.net/luckyapple1028/article/details/44726131本文整理了ARM Linxu启动流程的第一阶段——内核自解压,内核版本为3.12.35。我以手上的树莓派b(ARM11)为平台示例来分析uboot跳转到Linux内核运行后做了哪些初始化动作,以及如何转入真正的内核开始运行。内核版本:Linux-3.12.35分析文件:linux...转载 2018-02-27 20:56:39 · 909 阅读 · 0 评论 -
嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
http://home.eeworld.com.cn/my/space-uid-448015-blogid-120832.html嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpf转载 2018-01-21 20:40:13 · 573 阅读 · 0 评论 -
linux内核启动时几个关键地址
linux内核启动时几个关键地址 1、名词解释 ZTEXTADDR 解压代码运行的开始地址。没有物理地址和虚拟地址之分,因为此时MMU处于关闭状态。这个地址不一定时RAM的地址,可以是支持读写寻址的flash等存储中介。 ZRELADDR 内核启动在RAM中的物理地址。压缩的内核映像被解压到这个地址,然后执行。 This is the addre转载 2018-01-04 10:24:21 · 1073 阅读 · 0 评论 -
u-boot-2016.03 在mini2440上移植之nandflash 硬件ecc
http://www.cnblogs.com/jetli-/p/5350849.htmlMINI2440 开发板使用的是8bit,256M blocksize= 128k,pagesize =2k的nandflash。宽带为8bit ,由S3C2440 datasheet 可知硬件生产的ecc为4byte。S3C2440 硬件ecc 操作流程:1.先读出转载 2017-10-18 20:05:50 · 351 阅读 · 0 评论 -
Linux系统启动过程分析
http://blog.chinaunix.net/uid-23069658-id-3142047.html经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。 本人在综合了现有网上大家智慧的基础上,结合转载 2016-08-04 14:53:06 · 257 阅读 · 0 评论 -
ARM 指令集版本和ARM 版本
作者:Sam(甄峰) sam_code@hotmail.com常常能看到ARM7,ARM9,ARM11,以及armv6k等不同的表达。且在GCC编译中,常常要用到 -march, -mcpu等。他们分别表达什么涵义呢?Sam自己也不很清楚,只是大概有个模糊的概念。今天就仔细研究一下。 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业。转载 2015-11-20 12:34:01 · 465 阅读 · 0 评论 -
MSB与LSB
Most Significant Bit, Last(Least) Significant Bit最高有效位(MSB) 指二进制中最高值的比特。在16比特的数字音频中,其第1个比特便对16bit的字的数值有最大的影响。例如,在十进制的15,389这一数字中,相当于万数那1行(1)的数字便对数值的影响最大。比较与之相反的“最低有效位”(LSB)。MSB高位前导,LSB低位前导。转载 2015-11-19 15:13:08 · 2063 阅读 · 0 评论 -
乱序执行和内存屏障
最近写的一些关于在驱动程序开发中会遇到的关于乱序执行问题的短文,都是些通用的技术,贴上来share。另外,禁止转载。ps:这玩意原本是用Docbook写得,转过来还真是麻烦~~处理器的乱序和并发执行目前的高级处理器,为了提高内部逻辑元件的利用率以提高运行速度,通常会采用多指令发射、乱序执行等各种措施。现在普遍使用的一些超标量处理器通常能够在一个指令周期内并发执行多条指令转载 2012-09-07 14:59:46 · 810 阅读 · 0 评论