- 博客(17)
- 资源 (7)
- 收藏
- 关注
原创 linux内核中断分析
知识要点一、struct irq_chip、struct irq_desc[]、struct irqaction三者之间的关系二、Linux内核中中断的初始化流程、中断的注册流程、中断的执行流程三、多核cpu的中断亲和力和中断负载均衡四、中断的上半部和下半部一、struct irq_chip、struct irq_desc[]、struct irqaction三者之间的关
2016-07-07 21:31:09
1756
原创 内核挂载文件系统的几种方式
一、内核挂载文件系统的几种方式1、initramfs : (内核+cpio包编译在一起然后一起进行内核压缩) 内核文件包含了的一个cpio归档文件,该归档文件可能被外部的一个cpio包替换由initramfs里的/init 挂真实的根文件并启动init进程/sbin/init initramfs和cpio-initrd的区别, initramfs是将cpio rootfs编
2016-06-19 23:40:36
6030
原创 x86 pci初始化过程
在《PCI-E体系结构导读》+linux3.15的基础,大致过了下x86 linux pci的初始化过程=========do_initcalls完成一系列驱动初始化,包括PCI的初始化也在这个过程中=================kernel_init->kernel_init_freeable->do_basic_setup->do_initcalls==============
2015-12-21 00:10:21
2884
原创 arm 网络调试内核及文件系统(tftp下载内核,nfs挂载根文件系统)/x86下nfs挂载根文件系统
参考资料 : http://www.cnblogs.com/cjjnjust/articles/1754849.html一、uboot下的网络调试设置参数1、配置nfs根文件系统参数setenv bootargs "noinitrd console=ttySAC0,115200 mem=64M init=/linuxrc root=/dev/nfs rw nfsroot=192
2015-11-09 01:06:50
1294
原创 early_param、__setup、__tagtable分析
一、__tagtable分析,对于arm平台,解析uboot向内核传递的参数//对应文件 arch\arm\include\asm\setup.hstruct tagtable {__u32 tag;int (*parse)(const struct tag *);};#define __tag __used __attribute__(
2015-06-02 23:31:38
1018
原创 对于内核中各种xxx_initcall调用的分析———linux子系统初始化
对应内核版本 linux-2.6.32.63, 架构arm(版本较老,但已经属于2.6以后的版本了)。一、xxx_initcall是一系列子系统的初始化入口函数对应文件include/linux/init.h#define early_initcall(fn) __define_initcall("early",fn,early)#de
2015-05-17 23:09:30
2157
原创 uboot内核参数的传递与内核解析uboot传递的内核参数
一、内核参数的传递uboot将内核参数存放在内存的某一地址上,bi_boot_params存放uboot传给kernel 内核参数的首地址.int board_init (void){gd->bd->bi_arch_number = MACH_TYPE_GODBOX;//cpu id号 gd->bd->bi_boot_params = CFG_BOOT_PARAMS;/
2015-04-20 23:39:38
1707
原创 arm linux rootfs的制作
1、编译busybox, 选择静态链接还是动态链接,生成/bin /sbin /usr/bin /usr/sbin 下 busybox等命令 make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig make ARCH=arm CROSS_COMPILE=arm-linux- make install CONFIG_PREF
2015-04-19 23:55:57
1289
原创 busybox init学习及部分代码分析
busybox init学习,busybox 的init跟system V init还是有点不一样的。(现在linux所搭载的init包括system V, upstart,systemd,以及android的init,每种都有它的特点)busybox init 会解析inittab文件,对应的process是串行执行的,不像upstart/systemd等是可以做到并行执
2015-04-17 23:02:46
871
原创 uboot和内核的mtd分区保持一致
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=nand_flash:1M(boot),15M(kernel),32M(rootfs),16M(test)'mtdparts的分区可以通过uboot传给内核,内核选项要经过一定的配置就可以与uboot环境变
2015-04-16 00:20:07
1387
原创 总线设备驱动模型 ----LDD3
最近几天准备开始学习总线设备驱动模型,现在在这里开个头,后续内容继续补充,怕工作的其他事情插进来,打乱了学习计划。学习是一个循序渐进的过程,慢慢积累,厚积薄发。
2015-04-12 22:24:16
535
转载 I/O端口和IO内存
转自 http://blog.youkuaiyun.com/bugouyonggan/article/details/8282981linux中的 IO端口映射和IO内存映射(一)地址的概念1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上 (如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页
2015-04-10 15:25:34
945
原创 字符设备 -----LDD3
水平有限,若有错误亦或者不当的地方,请大家不吝值出。谢谢~字符设备创建流程1、申请字符设备设备号2、注册字符设备一、字符设备主次设备号的申请dev_t --->linux/types.hdev_t 设备号变量声明, 32 bitbit31-20 主设备号bit19- 0 次设备号1、静态申请
2015-01-11 21:56:39
562
原创 资料&&网站
/********************别人的文章****************************/linux引导内幕http://blog.chinaunix.net/uid-22111121-id-2678797.htmlx86架构下的物理内存-通过linux概述http://blog.youkuaiyun.com/dog250/article/details/62432
2014-12-23 23:14:48
731
转载 线程的堆和栈
linux下一个进程中的所有线程共享该进程的地址空间,但它们有各自独立的(私有的)栈(stack),Windows线程的缺省堆栈大小为1M。堆(heap)的分配与栈有所不同,一般是一个进程有一个C运行时堆,这个堆为本进程中所有线程共享,Windows进程还有所谓进程默认堆,用户也可以创建自己的堆。堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。
2014-10-13 22:53:46
2589
转载 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
http://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html?ca=drs-
2014-09-10 23:31:49
624
转载 x86平台linux内核编译与启动 转自(http://blog.youkuaiyun.com/xgg0602/article/details/7107006)
以前学习的基础知识都忘记了,趁放假回来好好补补基础。今天下午办完签证后,回来重新在x86平台上面配置编译了一下linux内核,并且设置启动。所有的工作是在虚拟机下面进行的。下面首先谈谈理论上编译配置内核需要用哪些步骤: 1、首先肯定是在www.linux.org上面下载自己需要的linux内核版本啊。建议到官方下载,不要下载经过别人裁剪过的内核。
2014-07-19 19:16:39
1169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人