Linux
挣扎中前行
这个作者很懒,什么都没留下…
展开
-
isolinux引导
用SYSLINUX或ISOLINUX制作启动光盘 一、引导程序概述 任何一个操作系统在任何一个硬件平台上的运行都需要一个引导的过程,即,初始化软件环境、把内核从存储介质放到内存当中去,并开始运行。当然对于某些简单软硬件系统,这个过程可能及其简单,而对于 PC 就要略微复杂一些了。PC 的引导程序上承 BIOS,下接内核的初始化代码,虽然开一次机只运行一次后就不留痕迹了,不过还是相当重要的原创 2012-01-19 10:21:22 · 3263 阅读 · 0 评论 -
三、vim使用手册--找到 tag:1/3 或更多
我们在vim中加载了ctag+taglist+winmanager后我们在关联一个函数或者一个变量定义的时候,经常有多处地方定义了相同名字,需要定位正确的定义地方。:ts 或 tselect 查看有相同地方的定义:tn或tnext 查找下一个定义地方。:tp 查找上一个地方。:tfirst 到第一个匹配:tlast 到最后一个匹配转载 2013-09-23 18:05:37 · 996 阅读 · 0 评论 -
win7的vmware中安装ubuntu 13.04看不到共享目录
问题:vmware 9.0.2下新装ubuntu 13.04,安装完成后按照惯例添加共享目录。重启ubuntu 13.04,在/mnt/hgfs目录下看不到共享目录的名称。解决办法:1. 反复确定设定共享文件夹,并重启虚拟机多次,都不能在/mnt/hgfs目录下看到任何内容;2. 放狗搜,看到"小卷儿2008"给出的方案是:试一下1.转载 2013-09-27 13:16:23 · 1772 阅读 · 0 评论 -
VmWare Tools 安装提示 “The path "" is not a valid path to the.......”
First, make sure install build-essiontial and linux-headers.$ sudo apt-get install build-essential linux-headers-$(uname -r)And then,$ sudo -i# cd /lib/modules/ 'uname -r' /build/include原创 2013-10-22 14:45:31 · 1268 阅读 · 0 评论 -
linux下ls,pwd,cp等源代码的下载
找到想看源码的命令属于哪个包:$ dpkg -S `which cp`coreutils: /bin/cp下载源码:$ apt-get -d source "coreutils"Reading package lists... DoneBuilding dependency tree Reading state转载 2014-02-14 09:34:53 · 4248 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题及交叉编译for arm
Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所转载 2014-03-28 14:22:21 · 5609 阅读 · 0 评论 -
container_of使用分析
1.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2>接口:container_of(ptr, type, member) ptr:表示结构体中member的地址 type:表示结构体类型 membe转载 2014-04-08 15:50:06 · 622 阅读 · 0 评论 -
platform_device与platform_driver
做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 platform_driver。 (1)platform_devic转载 2014-09-19 14:08:49 · 537 阅读 · 0 评论 -
/dev/mem
/dev/mem是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。有几个论据倾向于用户空间编程,有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择,用户空间驱动的好处在于:[html] view plainc转载 2014-12-02 17:13:03 · 1066 阅读 · 0 评论 -
ubuntu deb包制作例程
下面是使用 dpkg包管理系统制作deb包的过程(站在前人的肩膀上做的修改,已在ubuntu 12.10下验正)1、新建一个工作目录mkdir deb2、新建我们程序的目录mkdir hellodebcd hellodeb3、编写我们的程序hellodeb.c代码如下#include int main(int argc, char* argv[]){原创 2013-04-21 16:32:48 · 2119 阅读 · 0 评论 -
内核源码树目录下的Kconfig和Makefile。
分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。上面的内容说明:Kconfig转载 2013-02-25 09:18:30 · 871 阅读 · 0 评论 -
如何阅读Linux源码
Linux内核的配置系统由三个部分组成,分别是: Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界转载 2012-07-24 10:24:38 · 574 阅读 · 0 评论 -
bus, device, driver之间关系
总线、设备、驱动,也就是bus、device、driver,在内核里都会有它们自己专属的结构,在include/linux/device.h 里定义。首先是总线,bus_type.struct bus_type {const char * name;struct subsystem subsys; //代表自身struct kset drivers;转载 2012-08-15 17:16:10 · 772 阅读 · 0 评论 -
刚学习shell,碰到问题.执行时总出错:unexpected operato
用的是ubuntu 12.04.跟这学习鸟哥的私房菜到了shell script那一节,脚本如下:#!/bin/bash# Program:# This program shows the user's choice# History:# 2005/08/25 VBird First releasePATH=/bin:/sbin:/usr/bin:/转载 2012-08-22 13:12:10 · 1941 阅读 · 0 评论 -
SQLite header and source version mismatch ubuntu下解决方法
ubuntu使用源码包安装完sqlite后运行时出现SQLite header and source version mismatch,网上查找了资料没解决。自己尝试将源码包里产生的sqlite3可执行程序覆盖掉make install安装完成产生的sqlite3程序,再次运行即可。原创 2012-09-17 11:26:23 · 2928 阅读 · 0 评论 -
Ubuntu下Eclipse CDT 代码悬浮提示窗口背景黑色设置方法
在Ubuntu 下使用eclipse cdt 时,代码悬浮提示窗口(即鼠标移动到代码元素上时弹出的代码预览窗口)的背景颜色会按系统默认方案显示为黑色,这将直接导致黑色的代码文本无法被看到(虽然可以通过鼠标框选高量的方式阅读)。很多人遇到这个问题都是在系统默认值里更改。其实,在eclipse里直接可以设置,修改该颜色的配置选项位于:菜单栏 Window->preferences-原创 2012-11-28 13:09:18 · 1606 阅读 · 0 评论 -
svn 使用错误
Server certificate verification faild: certificate issued for a different hostname, issuer is not trusted 这句话的意思就是证书检验失败。可以在终端里来解决1、打开终端,在终端中输入如下命令(注意url更换成你的url地址):svn ls https://your svn原创 2013-01-17 14:13:00 · 478 阅读 · 0 评论 -
Makefile典型模板
一般应用程序的Makefile PRGM = zztest CC = gcc CPPFLAGS = LDFLAGS = -lrt -lz CFLAGS = -Wall -ggdb3 COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c LINKCC = $(CC) $(LDFLAG转载 2013-02-01 17:15:27 · 798 阅读 · 0 评论 -
Linux下网络IP地址的转换函数(点分式--长整型转换)
网络IP地址本是用32位二进制来表示的,为了记忆的方便可以用点分十进制来表示IP地址,同时,网络IP地址在网络传输和计算机内部的存储方式也不同,需要用函数来进行转换。1.将点分十进制字符串转换成十进制长整型数:in_addr_t inet_addr(const char *cp); in_addr_t 即long型,参数cp表示一个点分十进制字符串,返回值是十进制长转载 2013-02-05 14:01:15 · 10860 阅读 · 1 评论 -
pthread_cond_wait() 使用
1. 首先pthread_cond_wait 的定义是这样的The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are called with mutex locked by the calling thread or und转载 2015-12-25 13:59:12 · 545 阅读 · 0 评论