
linux基础
文章平均质量分 82
kevin_wz
莫愁前路无知己,天下谁人不识君!
展开
-
偏爱的vim配置
在linux/android开发过程中,鼎鼎大名的vim的使用必不可少,所谓“工欲善其事,必先利其器”,这里谈谈自己偏爱的vim配置。对于vim配置,我主张实用即可,同时要考虑兼容性,最好是用官方给定的一些包,不必过分追求华丽,虽然我心里也喜欢那些华丽的配置。 1、语言编码设置"===============1: file encodeing===============set encodin原创 2016-05-29 22:31:31 · 425 阅读 · 0 评论 -
虚拟根文件系统与真实根文件系统
引言:根文件系统的noinitramfs已经分析,继续上文未完的initramfs和Android根文件系统分析,这两者有什么关系?1.initramfs对于initramfs,kernel 2.5开始引入,其实质是在内核镜像中附加一个cpio包(cpio一个用于备份、还原的工具,主要用于cpio和tar文件),在该cpio包中包含了一个小型的文件系统。当内核启动时,会尝试解开这人 cpio包,并且原创 2016-05-05 09:21:21 · 3776 阅读 · 0 评论 -
根文件系统(rootfs)梳理
引言:在linux系统中,一直对根文件系统理解得模棱两可,是时候彻底梳理一下了,包括根文件系统是什么 、如何初始化、如何应用及Android系统中的根文件系统等问题。首先要弄清楚根文件系统是什么?以下英文部分摘自 Kernel_2.3.6\Documentation\filesystemsramfs-rootfs-initramfs.txtWhat is rootfs? Rootfs is a原创 2016-05-04 14:23:44 · 11026 阅读 · 0 评论 -
Android系统内核引导流程梳理
引言:原创 2016-04-24 23:09:41 · 1104 阅读 · 0 评论 -
x86 linux系统内核引导流程梳理
引言:在上节提到双系统关键技术之一关于系统启动问题,即在执行内核代码前做了些什么?是怎样从汇编代码过渡到c代码执行?arm芯片和x86芯片启动有什么不同?ram, sram, rom,prom, flash, nor flash, nand flash, fastboot,xloader, bootloader,uboot等有什么区别和联系?结合这些问题去研究,这里推荐赵炯的《Linux内核完全注原创 2016-04-24 16:18:36 · 2707 阅读 · 1 评论 -
内核态到用户态切换分析(一)
引言:本文主要分析从内核态到用户态的切换,同时理清内核线程、用户空间进行之间的关系。内核进行一系统初始化后,会进入到rest_init,首先会产生一个kernel_init的内核线程,最终切换到用户空间的init进程,从而开始了用户空间初始化流程。先看下rest_init函数,static noinline void __init_refok rest_init(void) __releas原创 2016-05-15 23:56:41 · 5333 阅读 · 0 评论 -
Android/Linux根目录下常见目录作用
当adb shell进入Android系统内部后,ls会看到根目录下出现不少目录,如dev、sys、mnt等目录,对于这些目录的作用常常让人模棱两可,有必要对其学习了解。首先要明白目录也是一种文件,根目录下的这些文件属于根文件系统的范畴,每个文件都要其重要的作用。/bin 包含基本的命令,通常该目录下的文件都是可执行的,也有可能是一个busyboxr的软链接。主要用于系统初始化,常见的有cp、m原创 2016-06-04 00:22:58 · 3205 阅读 · 0 评论 -
内核态到用户态切换(二)
引言:(一)分析了0号进程(任务0)、内核线程、用户线程相关问题,有了这个铺垫,开始本文的分析。3)如何从内核空间切换到用户空间去的?假设1号进程(内核态)init中已ramdisk_execute_command已传入,毕竟是要分析android系统的。static int __init kernel_init(void * unused) { if (!ramdisk_execute_原创 2016-05-22 16:20:18 · 4128 阅读 · 1 评论