Linux
文章平均质量分 66
chaolumon
这个作者很懒,什么都没留下…
展开
-
zImage内核镜像解压过程详解
作者:刘洪涛,华清远见嵌入式学院讲师。在华清远见教学过程中,发现很多学员对内核镜像解压过程比较感兴趣,但网上相关的文章往往不能把关键问题讲清楚,所以写了这篇文章。本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程。内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不是那么好理解了。本文将结合部分关键代码,讲解zImag转载 2010-12-16 09:29:00 · 298 阅读 · 0 评论 -
writing an alsa driver 中文
writing-an-alsa-driver(编写一个ALSA驱动)翻译稿 第一章编写一个ALSA驱动(by Takashi Iwai)0.3.6版本翻译:creator sz111@126.com翻译这篇文章主要是为了学习ALSA驱动,因为感觉ALSA是Linux音频发展方向,所以下决心仔细看看,但是中文资料太少,就想翻译一份奉献给广大初学并且英文不好的朋友。不过自己的英文转载 2010-01-26 17:55:00 · 4211 阅读 · 2 评论 -
minicom中文手册
NAMEminicom - 友好易用的串口通信程序 总览 SYNOPSISminicom [-somMlwz8] [-c on|off] [-S script] [-d entry] [-a on|off] [-t term] [-p pty] [-C capturefile] [configuration] 描述minicom 是个通信程序,有点象共享软件 T转载 2009-11-11 15:35:00 · 201 阅读 · 0 评论 -
mount 命令的使用方法
挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式: mount [-t vfstype] [-o options] device dir 其中: 1转载 2009-11-03 15:54:00 · 305 阅读 · 0 评论 -
系统工作期间调整/home分区
原文链接:http://www.ibm.com/developerworks/cn/linux/l-tip-prompt/tip05/在这个新的技巧集中,Daniel Robbins 说明了如何在正在运行的系统上更改分区布局。同时他还介绍了几个诀窍,从而使您可将停机时间缩到最短,并可避免犯严重错误。在这篇技巧中,他将说明如何将 /home 移动到另一个分区上。/home 分区是最常移转载 2009-11-08 14:33:00 · 343 阅读 · 0 评论 -
大小端模式的整理
1.对于16位32位或64位的总线,在总线上传输的是数据的值而不是内存数据。因此总线两 端看到的数据的值是相等的,而字节顺序不一定是一样的。比如32位PCI总线,主机是le ,设备是be的情况下,有一个数据值是 0x12345678;数据在主机内存分布如下: 数据在le机器内存中的分布: |7 0|15 8|23 16|31 24|原创 2009-10-28 09:04:00 · 281 阅读 · 0 评论 -
Linux内核:slab/slob/slub
原文链接:http://www.linuxdiyf.com/bbs/viewthread.php?tid=92084 很久很久以前:一个叫做Mark Hemment的哥儿们写了Slab。在接下来的一些年里,其他人对Slab进行了完善。一年半以前,SLOB问世了。SLOB的目标是针对嵌入式系统的,主要是适用于那些内存非常有限的系统,比如32MB以下的内存,它不太注重large smp系统,转载 2009-11-06 16:39:00 · 1349 阅读 · 0 评论 -
Debian 下编译KGDB调试内核
1.需要安装 zlib1g-dev 包 ---压缩工具库,因为内核在执行时候是自解压的2.需要安装 ncurses 包 ---带颜色的终端支持3.需要安装 fakeroot 包 ---普通用户执行root权限的操作 ,如安装内核3.KGDB要加入的内核选项 CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_MAGIC_原创 2009-10-28 09:02:00 · 1512 阅读 · 0 评论 -
documention/kbuild/makefiles.txt 中文翻译
=== 目录 === 1 概述 === 2 用户与作用 === 3 Kbuild文件 --- 3.1 目标定义 --- 3.2 编译进内核 - obj-y --- 3.3 编译可装载模块 - obj-m --- 3.4 输出的符号转载 2009-10-22 21:00:00 · 534 阅读 · 0 评论 -
Linux Kernel kbuild 系统
原文链接:http://blog.chinaunix.net/u3/94283 从以上例子中可以看到,内核的编译系统kbuild是个很庞大的系统。但是,它所使用的make和我们平时用的make是一模一样的。kbuild只是通过预定义一些变量(obj-m,obj-y等等)和目标(bzImage,menuconfig等等),使内核的编译和扩展变得十分方便。我转载 2009-10-21 21:10:00 · 267 阅读 · 0 评论 -
我的vimrc文件
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime" you can find below. If you wish to change any of原创 2009-10-19 13:57:00 · 363 阅读 · 0 评论 -
二.Linux系统网络设备驱动程序
2.1 网络驱动程序的结构 所有的Linux网络驱动程序遵循通用的接口。设计时采用的是面向对象的方法。一个设备就是一个对象(device 结构),它内部有自己的数据和方法。每一个设备的方法被调用时的第一个参数都是这个设备对象本身。这样这个方法就可以存取自身的数据(类似面向对象程序设计时的this引用)。一个网络设备最基本的方法有初始化、发送和接收。 ------------原创 2009-08-21 10:08:00 · 117 阅读 · 0 评论 -
一.Linux系统设备驱动程序概述
1.1 Linux设备驱动程序分类 Linux设备驱动程序在Linux的内核源代码中占有很大的比例,源代码的长度日益增加,主要是驱动程序的增加。在Linux内核的不断升级过程中,驱动程序的结构还是相对稳定。在2.0.xx到2.2.xx的变动里,驱动程序的编写做了一些改变,但是从2.0.xx的驱动到2.2.xx的移植只需做少量的工作。 Linux系统的设备分为字符设备原创 2009-08-21 10:07:00 · 144 阅读 · 0 评论 -
linux内核的一些预定义
原文:http://article.phpfans.net/?do=Show&id=Mjc3NTkx 作者: crazytyt 时间: 2009-08-27 13:29:00所有的内核代码,基本都包含了linux/compile.h这个文件,所以它是基础,打算先分析这个文件里的代码看看,有空再分析分析其它的代码。首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个变量实际是转载 2009-11-27 15:15:00 · 594 阅读 · 0 评论 -
Linux设备驱动模型之platform总线
转自:http://blog.chinaunix.net/u2/72003/showart_1963302.html1 平台设备和驱动初识platform是一个虚拟的地址总线,相比pci,usb,它主要用于描述SOC上的片上资源,比如s3c2410上集成的控制器(lcd,watchdog,rtc等),platform所描述的资源有一个共同点,就是在cpu的总线上直接取址。平台设备会分到一个名称转载 2009-12-08 10:20:00 · 1445 阅读 · 4 评论 -
Linux man 添加函数帮助及其汉化
<br />Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。<br />Linux的man手册共有以下几个章节:<br /><br />1、Standard commands (标准命令)<br />2、System calls (系统调用)<br />3、Library functions (库函数)<br />4、Special devices (设备说明)<br />5、File formats (文件格式)<br />6、Games and toys转载 2010-10-22 18:12:00 · 425 阅读 · 0 评论 -
Linux 音频系统简析
我之所以钻研linux内核,只想是知道为什么我的系统还是没有声音……linux音频系统架构问题由来已久……远远比你想像的复杂。如果你想理清从读取音频文件到最终从你的扬声器中播放出来这一过程中所用到的技术之间的关系的话,纸上的结构图足以像炸酱面一样混乱,而你根本找不到任何头绪。这是因为,音频系统本身就比其他架构更加复杂。OSI模型每一层都有自己的作用域和功能,每一层几乎不会有任何交集,所以你绝对不会碰到任何混乱情况。但是,在linux音频系统上,却上演着这样的事情:没有明确的底层,各种音频技术各自为政。lin转载 2010-12-03 10:10:00 · 1190 阅读 · 1 评论 -
华硕主板COM口问题
或说 P5QL 主板 COM 针脚原创 2010-10-05 23:08:00 · 3027 阅读 · 1 评论 -
Bash History 命令使用技巧
Bash的使用GUN readline库来处理用户输入,所以BASH也有emacs/vi 两种模式(主要是快捷键不同)(4DOS没有)一般来说BASH缺省是emacs模式,如果想变成vi模式(如果你是vi用户)就可以了,然后你就可以用和vi一样的快捷键来编辑命令行了.(4DOS没有)set -o vi不好意思有点远了,接下来还是history命令方面Emacs and Vi history 编辑快捷键:Emacs 模式:CTRL-p 历史列表上一个.CTRL-n 历史列表下一个.CTRL-r 向上搜索历史列转载 2010-06-21 14:19:00 · 455 阅读 · 0 评论 -
Linux下时间机制
<br /> <br />一)ANSI clock函数 <br /><br />1)概述:<br />clock 函数的返回值类型是clock_t,它除以CLOCKS_PER_SEC来得出时间,一般用两次clock函数来计算进程自身运行的时间.<br />ANSI clock有三个问题:<br />1)如果超过一个小时,将要导致溢出.<br />2)函数clock没有考虑CPU被子进程使用的情况.<br />3)也不能区分用户空间和内核空间.<br />所以clock函数在linux系统上变得没有意义.<b转载 2010-06-08 11:21:00 · 1041 阅读 · 0 评论 -
Debian/ubuntu下安装tftp服务
1.创建并编辑文件 /etc/inetd.conf tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot 2. 安装 tftpapt-get install tftp原创 2010-04-21 17:56:00 · 252 阅读 · 0 评论 -
Linux下配置NFS服务
1.安装包 # apt-get install nfs-kernel-server 2.编辑配置文件 # vim /etc/exports 输入 /home/myhome/work/ *(rw,sync) 3.重启nfs服务 # /etc/init.d/nfs-kernel-ser原创 2010-04-18 21:19:00 · 253 阅读 · 0 评论 -
在vim中的使用cscope
Cscope是一个很方便的工具,但是如果使用它不需要离开你喜欢的编辑器(比如Vim)会更好。幸运的是,对Cscope的支持已经被加入到Vim中。这份指南将向你介绍Vim内建的Cscope支持,以及一套可以是搜索更加方便的映射。假定你知道使用vi风格编辑器的基础知识,但是你不必了解任何关于Vim的特殊知识(如果要用到Vim特有的特性——比如多窗口,我会简单介绍一些关于该特性的有用的知识)。你原创 2010-03-19 11:01:00 · 1779 阅读 · 0 评论 -
Linux中的延时函数及获取系统时间函数
应用层: #include 1、unsigned int sleep(unsigned int seconds); 秒级 2、int usleep(useconds_t usec); 微秒级:1/10^-6 #define _POSIX_C_SOURCE 199309 #include struct timespec {转载 2010-01-05 15:43:00 · 3415 阅读 · 0 评论 -
framebuffer 驱动笔记
1.一般显示设备有以下三种同步信号 1. 帧同步信号 2. 行同步信号 3.像素时钟 2.Linux 帧缓冲设备主设备号为29 对应 /dev/fb%d设备文件 3.一般通过将 FrameBuffer 设备映射到进程地址空间的方式使用 4.Framebuffer对应的源文件在linux/drivers/video/目录下原创 2009-12-24 14:06:00 · 1036 阅读 · 0 评论 -
Linux文件查找命令find,xargs详述
来自:http://www.linuxsir.org/main/?q=node/137#1.2摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读;目录版权声明前言:关于find命令一、find 命令格式1、find命令的一般形式为;2、find命令转载 2010-02-22 16:28:00 · 336 阅读 · 0 评论 -
framebuffer驱动全篇
在后续的几篇里面会详细介绍如何编写一个显卡的驱动程序。framebuffer device在内核里面作为显卡驱动模型,许多函数和数据结构都是特定,正是这些特定的东西为我们的编程提供了方便。要开发frame buffer device驱动,你应该阅读Source/Source/Documentation/fb下面的说明文件,三个重要文件00-INDEX,framebuffer.txt,inter转载 2009-12-11 17:53:00 · 831 阅读 · 0 评论 -
分析kernel的initcall函数
先来看看这些initcall函数的声明:/* include/linux/init.h *//* initcalls are now grouped by functionality into separate * subsections. Ordering inside the subsections is determined* by link order. * For backwards c转载 2009-08-20 16:17:00 · 228 阅读 · 0 评论 -
GRUB指南
摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows;从LinuxSir.Org 讨论区近四年的观察来看,大多初学者并不能在短时间内掌握GRUB的用法,为了解决初学者在最短时间内掌握GRUB,重写GRUB入门文档还是有必要的;本文重点介绍了GRUB的menu.lst的写法,另外通过GRUB命令行引导系统也做了详述;这些无论是对Windows版本的WINGR转载 2008-12-19 08:54:00 · 336 阅读 · 0 评论 -
autobook 中文版 (三)
5.最小的 GNU Autotools 项目本章讲述了如何用 GNU Autotools 来管理一个最小的项目。最小的项目是指能充分说明 GNU Autotools 的规则的尽可能小的项目。测过小的项目,我们可以更容易的理解。本章中的例子是一个叫做 foonly 的虚构的命令解释器。foonly 是用 C 写的,但如同大多数的解释器,使用lex 和 yacc 的词法分析器和语法分析器。转载 2009-01-12 23:07:00 · 1833 阅读 · 0 评论 -
Auto book 中文版(二)
3. 如何运行 configure 和 make使用 Autoconf 构建的软件包通常带有 ‘configure’ 脚本。要在特定的系统中构建和安装这样一个软件包,用户必须运行该脚本以使目录树按顺序排列作好准备。实际的构建过程则是使用 make 程序进行的。‘configure’ 脚本测试系统的特性。比如,它可以测试 C 函数库中是否定义了用于 time() 的数据类型 time_t转载 2009-01-12 23:05:00 · 1319 阅读 · 0 评论 -
Auto book 中文版(一)
目录1 介绍2 历史3 如何运行configure和make4 Makefile介绍5 一个最小的GNU Autotools项目6 写configure.in7 GNU Automake介绍8 启动9 一个小型GNU Autotools项目10 GNU Libtool介绍11 使用GNU Libtooll和configure.in,Makefile.am12 一个大型的GNU Autotools项转载 2009-01-12 23:01:00 · 3135 阅读 · 2 评论 -
使用AutoMake轻松生成Makefile
产生Makefile 的过程和以往自行编写的方式非常不一樣,舍弃传统自定义make 的规则,使用 Automake 只需用到一些已经定义好的宏就可以了。我们把宏及目标 (target)写在Makefile.am 文件内,Automake 读入 Makefile.am 文件后会把这一串已经定义好的宏展开并产生相对应的 Makefile.in 文件,然后再由 configure这个转载 2009-01-12 20:09:00 · 593 阅读 · 0 评论 -
RedHat 9.0+2.4.20内核 升级 2.6.23内核升级问题
错误1:ERROR: "crypto_free_tfm" [net/rxrpc/af-rxrpc.ko] undefined!ERROR: "crypto_alloc_base" [net/rxrpc/af-rxrpc.ko] undefined!make[1]: *** [__modpost] Error 1make: *** [modules] Error 2解决:在c转载 2008-11-17 23:13:00 · 1008 阅读 · 2 评论 -
zhcon 死机的解决方法
在.bashrc中加入一下加入如下命令别名: alias zhcon=zhcon --utf8 --drv=vga 最好还在grub配置文件中 kernel 的启动参数加上 vga=791 之类的,启动 framebuffer 到高分辨率 ;原创 2008-11-05 21:01:00 · 290 阅读 · 0 评论 -
Gnome 分辨率配置
先运行gtf命令 ~$:gtf 1024 768 75 # 1024×768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 81.80 MHz Modeline “1024×768_75.00″ 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync 然后进入/etc/X11/x原创 2008-11-02 20:45:00 · 782 阅读 · 0 评论 -
Debian 5.0 上安装 nvidia 驱动
1、首先下载NVIDIA-Linux-x86-169.09-pkg1.run2、apt-get install linux-image-2.6-6863、因为最新的编译要用到gcc 4.1 ,而当前的lenny 使用的是4.2.所以rm /usr/bin/gcc,ln /usr/bin/gcc4.2 /usr/bin/gcc 4、m-a a-i -i -t -f nvidia-kernel-sou转载 2008-10-12 17:23:00 · 322 阅读 · 0 评论 -
NTFS-3G的安装和配置
1. 什么是NTFS-3g;NTFS-3g是一个开源软件,它支持在Linux下面读写NTFS格式的分区。它非常的快速,同时也很安全。它支持Windows2000、XP、2003和Vista,并且支持所有的符合POSIX标准的磁盘操作。ntfs-3g的目的是为了持续的发展,各硬件平台和操作系统的用户需要可靠的互通与支持ntfs的驱动,ntfs-3g可以提供可信任的、功能丰富的高转载 2008-10-12 17:11:00 · 262 阅读 · 0 评论 -
Linux下GUI开发:GTK+ 2.0 + anjuta + glade
在Linux,可以考虑用GTK(The GIMP Toolkit)来做GUI(Graphic User interface)开发,开发工具建议使用anjuta + glade(貌似eclipse+cdt也可以),查函数用devhelp。建议:一、先学习GTK+ 2.0本身,比如用vim+gcc+gdb+make+automake+autoconf...这样对基于GTK的图形开发过程就有了基本了解,转载 2008-10-10 22:20:00 · 288 阅读 · 0 评论 -
在Debian下安装Nvidia驱动
在Debian的linux-2.6.21内核下装nvidia驱动nvidia驱动一直都是以non-free的类别存在在debian的源里边,而且debian官方提供的二进制包总是很滞后,经常需要自己编译驱动。之前说过一次关于nvidia驱动编译的问题,貌似还是被搜索最多的。那是在两年前写的,现在又出现了新的情况,安装方法又要更新了。其实如果看官方的 README.Debian,安装方法并没有变转载 2008-10-12 17:28:00 · 2555 阅读 · 0 评论