linux
文章平均质量分 93
ITsenlin
这个作者很懒,什么都没留下…
展开
-
linux 不启动图形界面
找到/etc/inittab这个文件,然后打开,找到这么一行: id:5:initdefault. 把5改成3保存,重新启动原创 2011-07-25 00:25:04 · 1791 阅读 · 0 评论 -
linux设备驱动程序学习笔记--第一个有用的驱动
在上一章中通过一个helloworld把我们带入了linux内核驱动的世界,但是只是为了简单说明编写内核驱动的方法,helloworld驱动没有任何功能,而本章则是在helloworld的基础上增加一些“有用的”功能,(为了保持与书中例子一致,helloworld改名为scull,为了便于理解,scull只实现了一个设备,并且内存只有一块。)首先要让内核“认识”到有一个hellowor原创 2015-01-22 00:09:18 · 1626 阅读 · 0 评论 -
linux第一个用户进程init--upstart
大家在使用ubuntu时,会发现系统中没有文件 /etc/inittab,而这个文件 对于通过sysvinit来启动的系统是非常重要的文件,如果不存在可能会导致系统启动不起来,从这一点来看ubuntu应该是通过另外一种方式启动的系统了,这就是本文所要介绍的主题upstart。upstart是一种基于事件通知机制启动相应服务的init进程。主要是为了解决sysvinit机制不能并行启动服务的问题原创 2015-01-02 01:10:22 · 2415 阅读 · 0 评论 -
linux第一个用户进程init--sysvinit
在《linux系统启动》一文中介绍了计算机从按开机键到系统启动的流程,在流程启动的最后一步就是启动系统的第一个用户态进程init进程,其进程ID永为1(其实还有一个id为0的进程swap,即有名的idle进程,当cpu没有进程可以运行时就会自动运行此进程,严格意义上来讲此进程才是内核创建的第一个进程)。本文介绍一下init进程启动之后以及操作系统运行过程中都做了什么操作,以及担当什么样的角色。原创 2014-12-28 01:20:25 · 6132 阅读 · 0 评论 -
linux设备驱动程序学习笔记--helloworld
linux内核是以模块化的方式实现的,例如磁盘驱动,光盘驱动,键盘驱动等等,这些都是一个个的模块可以加载也可以动态的卸载。这样非常有利于驱动的开发调试,也可以保持内核的最小化运行(只加载需要运行的驱动或者模块)。本系列文章就通过《linux设备驱动程序》一书学习一下内核模块的编写,编译,运行等知识,对文中主要内容记录以便后面理解使用。在这里统一使用“驱动”来表示内核模块。首先从应用层来讲一原创 2015-01-14 00:38:41 · 1686 阅读 · 0 评论 -
linux设备驱动学习笔记--内核调试方法之proc
/proc 文件系统是 GNU/Linux 特有的。它是一个虚拟的文件系统,因此在该目录中的所有文件都不会消耗磁盘空间。通过它能够非常简便地了解系统信息,尤其是其中的大部分文件是人类可阅读的(不过还是需要一些帮助)。许多程序实际上只是从 /proc 的文件中收集信息,然后按照它们自己的格式组织后显示出来。有一些显示进程信息的程序(top、ps 等)就是这么作的。/proc 还是了解您系统硬件的原创 2015-02-01 22:04:59 · 6690 阅读 · 0 评论 -
linux设备驱动学习笔记--内核调试方法之proc(补充seq_file)
上一节中的proc实现对于开关文件,控制文件,以及显示很少信息的文件来说还是比较简单的,但是对于需要输出大量信息像meminfo,或者结构化的信息像cpuinfo等时就会显得很笨拙,并且代码也很不好理解与维护。内核为了简化这种proc文件的实现提供了另外一种方案----seq_file接口。set_file 接口假定你在创建一个虚拟文件, 它涉及一系列的必须返回给用户空间的项. 为使用 seq原创 2015-02-01 23:11:06 · 5831 阅读 · 0 评论 -
linux设备驱动学习笔记--内核调试方法之printk
1,printk类似于用户态的printf函数,但是比printf函数多了一个日志级别,内核中最常见的日志输出都是通过调用printk来实现的,其打印级别有8种可能的记录字串, 在头文件 里定义:KERN_EMERG 0用于紧急消息, 常常是那些崩溃前的消息.KERN_ALERT 1需要立刻动作的情形.KERN_CRIT 2严重情况, 常常与严重的硬件或者软件失效有关.KERN_原创 2015-01-27 23:43:42 · 6706 阅读 · 0 评论 -
linux系统启动
本文简单介绍一下从我们按开机原创 2014-11-18 23:53:31 · 1387 阅读 · 0 评论 -
sed基本用法二:常用命令
不同的sed版本的命令实现有可能有微改动,但是用法基本不变,这里的事例都是在以下环境中实验:环境:centos 6.4 sed版本:sed-4.2.1-10.el6.x86_64sed命令语法格式:[address] commandaddress在“sed基本用法一”中已经讲过,这里不再赘述还有一种写法,因为在脚本程序中不常用,所以在这里只是了解一下即可ad原创 2014-03-09 05:12:17 · 2494 阅读 · 0 评论 -
VFS:Cannot open root device "sda"
根据《手把手教你构建自己的linux系统》一书原创 2014-09-08 01:17:20 · 4719 阅读 · 0 评论 -
sed基本用法一:概念介绍
环境:centos 6.4sed版本:sed-4.2.1-10.el6.x86_64【简介】sed是一个面向字符流的“非交互式”编辑器,vi编译中手工对文本的操作动作大部分都可以通过sed命令来完成,这样就方便在linux下编译程序批量自动处理文件,例如分析日志文件,修改配置文件等等。命令格式如下:sed [options] script filename其中opt原创 2014-03-08 17:29:15 · 6338 阅读 · 0 评论 -
sed高级用法:模式空间(pattern space)和保持空间(hold space)
环境:centos 6.4 sed版本:sed-4.2.1-10.el6.x86_64前面的基本用法已经可以满足90%的需要,人个认为想要真正掌握sed,还需要学习一下sed的高级用法,本节就详细讲解一下sed的模式空间和保持空间前面基本用法中也有提到模式空间,即为处理文件中一行内容的一个临时缓冲区。处理完一行之后就会把模式空间中的内容打印到标准输出,然后自动清空缓存。原创 2014-03-13 00:54:09 · 18803 阅读 · 5 评论 -
linux系统忘root密码怎么办?
linux系统忘root密码怎么办?这个问题其实很常见的,有的客户要求安全性就把root密码改的很安全,并且开了一些普通帐户使用,很少使用root帐户,但是时间一长root密码就很容易忘记这里有一个方法,可以不用输入密码直接登录系统,然后修改一下root密码即可解决先说一下原理:linux系统默认启动的第一个用户态进程是/sbin/init(也即进程号1的进原创 2013-06-15 13:05:27 · 1542 阅读 · 0 评论 -
linux系统登录不了?单用户试试
有时候系统进不去,或者磁盘有问题,可以试试单用户进去查看一下是什么问题说一下图形界面进入单用户的方法(这里用suse 11 sp1,其他系统都差不多,主要是修改grub选项)(runlevel=5)(字符界面和图形界面基本一样,可能会用到grub命令,help查一下即可)1,重启系统到下面的grub启动界面,按上下键(即不让系统自动启动)2,先中要启原创 2013-06-15 12:48:23 · 1296 阅读 · 0 评论 -
gdb查看脚本挂在哪一行了
运行过程中脚本挂住一直不退出,并且从日志中也看不出来脚本运行到哪儿了,这时可以用gdb来进行查看,方法如下:1. gdb attach 2. (gdb) p line_number就会输出脚本挂在了哪一行,然后分析脚本相应行即可原创 2013-03-27 19:54:59 · 3078 阅读 · 0 评论 -
container_of()宏详细说明
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer转载 2011-12-05 22:17:31 · 654 阅读 · 0 评论 -
菜鸟编译Linux内核
菜鸟编译Linux内核 双眼皮的猪 菜鸟俺,最近研究了一下Linux内核的编译,有些许心得,望同大家分享一下,故有此文…我们这里要谈的不涉及到源码,只是一些内核编译的步骤及相关知识…因为本人是菜鸟。所以,也就转载 2011-08-10 23:46:37 · 989 阅读 · 0 评论 -
linux第一个用户进程init--systemd
本文是对文章《浅析 Linux 初始化 init 系统,第 3 部分: Systemd》的总结以及网上对systemd的评论,做为学习systemd的第一步,只介绍systemd实现的原理及使用的技术。systemd的目标:1,启动更少的程序,程序在使用的时候再启动(很像内核的写时拷贝)2,在必须启动的程序中,做到最大的并行化从实现目标来看upstart与systemd是一样的,所原创 2015-01-05 00:18:11 · 4197 阅读 · 0 评论