Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux模块编程

Linux模块编程

在达到能直接修改linux内核的程度之前,我们写的代码都需要以模块的方式添加到内核中去运行。本节就介绍最简单的模块编写和加载方法。1、首先创建一个目录modules,以存放以后编写的模块。再在其下创建一个子目录hello,最为本节创建模块的位置。2、编写源文件hello.c,代码如下。#include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("DualBSD/...
Linux内核的学习方法

Linux内核的学习方法

经过之前的摸索,对Linux内核的学习有一些自己的看法,就列一下自己支持的学习方法:1、要选最新的内核去学。Linux内核版本变化太快了。Linux 0.11就是一个自己动手写操作系统的范例,而到Linux 2.4则发展到百万行级,被移植到各种平台。到2.6呢,Linux在这个版本停留最久,小的版本差异,整个子系统完全不同。就我所知,在2.6中,devfs被废弃,sysfs新加入,usb支持到3.0,整个内核支持内核态抢占,等等。即使你学会了2.4,那也是...
Linux内核部件分析

Linux内核部件分析

在linux内核中,有一种通用的双向循环链表,构成了各种队列的基础。链表的结构定义和相关函数均在include/linux/list.h中,下面就来全面的介绍这一链表的各种API。 structlist_head{ structlist_head*next,*prev; };这是链表的元素结构。因为是循环链表,表头和表中节点都是这一结构。有prev和next两个指针,分别指向链表中前一节点和后一节点。#defineLIST_HEAD_INIT(name){...
Linux根目录下主要目录功能说明及常用分区方案

Linux根目录下主要目录功能说明及常用分区方案

Linux文件系统的最顶端是/,称为Linux的root,所有的目录、文件、设备都在/之下。文件类型:普通文件、目录文件、链接文件和特殊文件。可以用file命令来识别。普通文件:如文本文件、c语言源代码、shell脚本等,可以用cat、less、more、vi等来查看内容,用mv来改名。目录文件:包括目录名、子目录及其指针。可以用ls列出目录文件。链接文件:指向一索引节点的那些目录条目,用ls来查看时,链接文件的标志用l开头,而文件后以->指向所链接...
Arch Linux下安装VMWare 8

Arch Linux下安装VMWare 8

安装很简单下载vmware的安装包,然后#chmod +x vmware-xxxx#./vmware-xxxx运行安装程序就可以了。因为arch没有rc*.d的配置文件,安装过程中会有提示,点确定就行了。安装完了启动遇到问题,原来是它把控制脚本安装到/etc/init.d里面了,但是又自己在rc.d里面找,直接:#cp /etc/init.d/vmware /etc/rc.d/复制过来就行了。然后在启动vmware,会自动编译模块,没报错就安装成功了。把v...
嵌入式Linux下挂载nfs出现permission denied的解决方法

嵌入式Linux下挂载nfs出现permission denied的解决方法

一直都能用mount -t nfs [hostip]:/opt/nfs /mnt将主机上的nfs挂载后来VMware8死机,导致windows死机,重启,VM中的RedHat5就坏了还好曾经snapshot了一下:)))后来在嵌入式linux下mount时,就不断报错“permission denied”搞了许久,才发现是忘了这一步“服务器端在文件/etc/exports中设定允许被访问的文件、目录以及访问的权限”so修改/etc/exports 文件,添...
Linux安装JDK出现“NoClassDefFoundError: /Object”的解决方案

Linux安装JDK出现“NoClassDefFoundError: /Object”的解决方案

在RedHat Linux上安装jdk出现了一个莫名的错误Error occurred during initialization of VMjava/lang/NoClassDefFoundError: java/lang/Object辛苦google了一个小时,终于找到了解决方案首先要确认的是环境变量的设置是否正确相信大家都是很细心的,这方面如果有错误也会很容易发现然而还有一个隐蔽的地方也会产生上述的错误就是lib和jre/lib文件夹中的rt和too...
Linux下LCD 10分钟自动关屏的问题

Linux下LCD 10分钟自动关屏的问题

Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样就永远不会关屏了Linux 2.6.34开机启动图片修改使用BusyBox制作Linux根文件系统相关资讯 Linux知识 时光总是太匆匆!Linux已经诞生23 (08/29/2...
nfs服务器配置过程——RedHat AS5环境

nfs服务器配置过程——RedHat AS5环境

nfs文件系统介绍NFS是Network File System的简写,即网络文件系统,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。在嵌入式Linux系统中有两种应用:1、通过网络把虚拟机的某个目录挂载到开发板某个目录下,实现虚拟机上修改、编译,开发板上运行、验证2、通过网络直接挂载保存在虚拟机上的嵌入式根文件系统,实现根文件系统及应用的验证及修改无论哪种用法,虚拟机或物理机上的Li...
开发板通过nfs服务挂载虚拟机指定目录

开发板通过nfs服务挂载虚拟机指定目录

经过前面的配置(见http://www.linuxidc.com/Linux/2011-10/44735.htm),nfs服务器已经可以正常工作,在开发板上挂载虚拟机目录,做以下配置即可。1、首先保证开发板跟虚拟机、windows在一个网段例如:开发板的IP:192.168.1.2windows的IP:192.168.1.3虚拟机的IP: 192.168.1.4保证开发板可以ping通虚拟机,证明网络环境正确#ping 192.168.1.4说明:如果网络...
通过nfs服务挂载根文件系统

通过nfs服务挂载根文件系统

前面我们已经完成了根文件系统的制作(见 http://www.linuxidc.com/Linux/2011-10/44733.htm),本节介绍一下如何通过nfs服务远程访问虚拟机上的根文件系统,这样可以有效提高根文件系统的制作验证在vivi和u-boot中的设置不太一样,我们分别做以下说明:1、修改vivi启动参数,从虚拟机上启动根文件系统:paramset linux_cmd_line"noinitrd root=/dev/nfs nfsroot=/...
cramfs格式根文件系统制作

cramfs格式根文件系统制作

cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统,在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本,cramfs文件系统以压缩方式存储,在运行时解压缩,不支持应用程序以XIP方式运行,所有的应用程序要求被拷到RAM里去运行。制作cramfs格式的根文件系统需要以下工...
yaffs格式根文件系统制作

yaffs格式根文件系统制作

yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。yaffs是跨平台的文件系统,除了Linux和eCos,还支持WinCE, pSOS和ThreadX等yaffs与yaffs2的主要区别在于:前者仅支持小页(512 Bytes) NAND闪存,后者则可支持大页(2KB) NAND闪存。yaffs2在内存空间占用、垃圾回...
secureCRT用串口连接mini2440方法

secureCRT用串口连接mini2440方法

第一步:双击打开secureCRT,弹出如下窗口,单击①new session②选择protocol为serial③单击下一步第二步:选择相应的串口号,波特率为115200,数据流控制什么都不要选!单击下一步第三步:给session起名:mini2440,单击完成。第四步:连接串口到开发板,打开开发板电源,出现下图(本人使用的是friendlyARM开发板,mini2440)。输入B启动操作系统,如下:串口登录开发板的linux操作系统yaffs格式根文件...
<< 471 472 473 474 475 476 477 478 479 480 >>