linux
可爱豆豆
这个作者很懒,什么都没留下…
展开
-
Linux stat函数讲解
Linux stat函数讲解:表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执转载 2011-12-27 14:27:37 · 465 阅读 · 0 评论 -
busybox配置telnetd的问题
<br />进入busybox源代码目录,选择telnet,telnetd.后<br />确保在ramdisk的sbin目录下存在inetd和in.telnetd或telned。<br />在ramdisk中的mnt/etc目录中,确保存在文件fstab,service,inetd.conf,passwd文件<br />确保fstab文件中存在none /dev/pts devpts mode=0622 0 0这一行<br />确保services文件中存在转载 2011-01-18 15:33:00 · 2162 阅读 · 0 评论 -
cramfs和jffs2的image制作[转]
<br />文件系统对jffs2和Cramfs的支持都已经编入内核,用户只需要<br />设置各个文件系统分配不同的flash的大小和区间就可以了。同<br />时对应的将生成的jffs2和cramfs的disk烧写的flash中相应的位<br />置就可以了。 <br />代码中相应的更改如下,参见<br />kernel/drivers/mtd/maps/s3c2410_llg.c文件第76行开始。 <br />static struct mtd_partition s3c2410_partitions转载 2011-01-20 13:48:00 · 822 阅读 · 0 评论 -
busybox 详解(一篇讲busybox很详细的文章)
BusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。本文将探索 BusyBox 的目标,它是如何工作的,以及为什么它对于内存有限的环境来说是如此重要。<br />BusyBox 的诞生<br />BusyBox 最初是由 Bruce Perens转载 2011-01-18 15:22:00 · 2500 阅读 · 0 评论 -
busybox网络配置
<br />想找一些现成的busybox配置脚本启动网络搜到的都是些介绍性质的,彼此拷来拷去的东西,没办法.自己看脚本配置,很简单,几分钟就搞定了.过程从 busybox的启动脚本:/etc/rc.d/init.d/network的启动过程终可以看到网设备的初始化过程.首先/etc /network.conf终定义了NETWORKING和网关的值,如果是yes那么从network.d中找设备的配置文件.(在linux发行版中看network配置,它地网卡配置在/etc/sysconfig目录下)<br />转载 2011-01-18 14:27:00 · 3832 阅读 · 0 评论 -
Howto: Configure Linux Virtual Local Area Network (VLAN)
<br />VLAN is an acronym for Virtual Local Area Network. Several VLANs can co-exist on a single physical switch, which are configured via software (Linux commands and configuration files) and not through hardware interface (you still need to configure swit转载 2010-11-20 10:46:00 · 1046 阅读 · 0 评论 -
[转]pthread_create函数编译时报错:undefined reference to 'pthread_c...
pthread_create函数编译时报错:undefined reference to 'pthread_create'<br /><br />pthread_create()和pthread_atfork()函数使用时应注意的问题:<br />#include <pthread.h><br /><br />void pmsg(void* p)<br />{<br /> char *msg;<br /> msg = (char*)p;<br /> printf("%s ", msg);<原创 2010-10-26 17:20:00 · 792 阅读 · 0 评论 -
strip: Unable to recognise the format of the input file
<br />Sometimes U got error while doing 'make install' :<br />strip: Unable to recognise the format of the input file<br /><br />This is because the flag "INSTALLSTRIP = -s" in file config.mak<br />will pass to 'install' application while you do "make inst转载 2010-10-21 10:13:00 · 5496 阅读 · 1 评论 -
在不同操作系统中安装SNMP代理
<br />在Windows系统中安装SNMP代理<br />在Windows XP/2000/2003上安装SNMP代理<br />在Windows NT上安装SNMP代理<br />在Linux上安装SNMP代理<br />在Solaris上安装SNMP代理<br /><br />-----------------------------------------------------------------------------------------------------------------转载 2010-10-22 13:12:00 · 833 阅读 · 0 评论 -
snmp无法启动--snmpd dead but pid file exists
<br />对于“snmpd已死,但pid仍存在”这个问题,曾经破见过,我当时绕开去了,这次又碰上,没办法绕,反而解决了,人呐,还是要逼来着的。 其实问题很简单,rpm包不匹配造成的,简单的说,系统一般情况下会安装net-snmp-libs包,如果你自己安装的net-snmp 和net-snmp-devel包版本和它不匹配就会发现这样的情况。 解决问题过程如下: 一般情况下snmp可以用yum安装 yum -y install net-snmp yum -y ins原创 2010-10-22 13:16:00 · 3090 阅读 · 0 评论 -
高手进阶 学会做嵌入式Linux操作系统
<br />高手进阶 学会做嵌入式Linux操作系统 - Linux<br />做一个嵌入式Linux系统究竟要做哪些工作 <br />做一个嵌入式Linux系统究竟需要做哪些工作?也就是本文究竟要讲述哪些内容?我先介绍一个脉络,可以做为我们后面工作的一个总的提纲: <br />第一步、建立交叉编译环境 <br />没有交叉开发经验的读者,可能一时很难接受这个概念。首先,要明白两个概念:一般我们工作的机器,称为开发机、主机;我们制作好的系统将要放到某台机器,如手机或另一台PC机,这台机我们称为目标主机。 <转载 2010-10-20 16:58:00 · 1091 阅读 · 0 评论 -
移植net-snmp(转载)
移植net-snmp1.移植所使用的环境OS:linuxArm-linux-gcc:3.4.1net-snmp:5.4.2.1硬件:EVB4020 arm72.交叉编译net-snmp 确保arm-linux-gcc安装成功并已设置好环境变量。将net-snmp解压到工程目录下,进入net-snmp源码目录下(此处是net-snmp-5.4.2.1,以下使用该目录代表源码目录),配置编译选项: 执行下列命令: ./configure --build=i686-linux --host=arm-lin转载 2010-10-20 16:30:00 · 1092 阅读 · 0 评论 -
学会做嵌入式Linux操作系统——交叉编译SNMP
交叉编译SNMP 一般系统都会有SNMP的支持,下载了net-snmp-5.1.3.1,先看看INSTALL和FAQ文档(因为以前从来没有碰过这个东东,见笑了……),按照说明,在原生主机上安装了一回,安装完成后,发现在指定安装目录下主要包括了几块文件: bin:SNMP的一些功能脚本和程序; sbin:主要的代理程序和trap程序:snmpd和snmptrap include/lib:自身兼容及第三方开发所需的头文件及库文件; share:主要是MIB文件; 然后回到安装目录下,运行./configuare转载 2010-10-20 16:23:00 · 2767 阅读 · 2 评论 -
移植NET-SNMP总结
<br />1. 移植所使用的环境<br />OS:linux<br /><br />Arm-linux-gcc:3.4.1<br />Net-snmp:v5.4.2<br />硬件:<br />Target CPU:arm 9<br /><br />2. 交叉编译net-snmp(Simple Network Management Protocol 简单网络管理协议)<br /> 确保arm-linux-gcc安装成功并已设置好环境变量。<br />将net-snmp解压到工程目录下,进入net-转载 2010-10-18 16:47:00 · 1604 阅读 · 2 评论 -
可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ")
<br />【问题】<br />用arm-linux-gcc编译出来的可执行文件clkCtl,下载到板子上,在Linux下不能运行:<br />./clkCtl: line 1: syntax error: word unexpected (expecting ")")<br /><br />【解决过程】<br />1.网上有人也遇到此问题:<br />Syntax error: word unexpected (expecting ")")<br />http://hi.baidu.com/dsfire/转载 2010-10-12 10:22:00 · 7482 阅读 · 1 评论 -
snmp启动错误
<br />[root@idcserver135 ~]# /usr/local/snmp/sbin/snmpd -c /etc/snmp/snmpd.conf<br />/usr/local/snmp/sbin/snmpd: error while loading shared libraries: libnetsnmpagent.so.15: cannot open shared object file: No such file or directory<br /> <br />ldd /usr/loc转载 2010-10-11 16:14:00 · 3836 阅读 · 0 评论 -
基于嵌入式Cramfs 的根文件系统配置新方法
摘 要:根文件系统是构建一个Linux 嵌入式系统的重要组成部分,目前嵌入式系统可以选 择的根文件系统有:Romfs、Cramfs、Ramfs、Jffs2、Ext2 等,而目前广泛使用的Cramfs 根文件系统是只读型文件系统,在实际应用中,应用程序往往需要对根文件系统进行读、写 操作的,因此,如果针对Cramfs 系统直接进行写操作就会造成系统错误。文中提出了配置 Cramfs 根文件系统的新方法,实验证明,该方法能够使Cramfs 满足应用程序的读、写要 求,并能够保障系统的正常稳定运行,同时也减小了根转载 2011-01-20 14:03:00 · 1116 阅读 · 0 评论 -
制作CRAMFS + YAFFS2文件系统
1.文件系统简述 随着32位CPU价格不断下跌,片上存储设备的容量相比越来越大,越来越多的嵌入式系统开始应用各种嵌入式操作系统。一般在嵌入式领域,只要应用到操作系统的必然会需要一个,甚至是多个文件系统。所谓文件系统,实际上就是在一个具体的存储设备上任何文件的组织和目录。这个设备可能是各种RAM、NAND FLASH、NOR FLASH等DOC设备,还有以NAND FLASH 为基础的各种存储卡等[1]。目前,针对不同的设备和应用有很多文件系统可供选择,例如EXT2、TEMPFS、RAMDISK、CRAMFS转载 2011-01-20 14:12:00 · 872 阅读 · 0 评论 -
扩大VMware虚拟机中linux硬盘空间
VMware安装linux的时候默认分配的空间是4GB,可能会不够,这个时候可以通过增加一块虚拟硬盘,将/usr或其他内容拷贝过去解决这个问题:创建虚拟硬盘 1、关闭VM中正在运行的虚拟系统; 2、在虚拟系统名称上点右键-》Virtual Machine Settings; 3、在Hardware页点“Add”-》Add a hard转载 2011-10-24 10:22:18 · 488 阅读 · 0 评论 -
yaffs文件系统在2.6内核上的移植--操作步骤(转载)
====================================================================一、简介:Yaffs(Yet Another Flash File System)文件系统是专门针对NAND 闪存设计的嵌入转载 2011-09-16 18:34:13 · 584 阅读 · 0 评论 -
mkyaffs2image工具解析
终于可以成功制作页大小为2K + 64 Bytes 的nand flash的image 文件了。令人兴奋啊 :)这两天一直苦于自己制作的yaffs2 image文件系统无法被linux-2.6.29.1内核识别,而使用FriendlyARM的mkyaffs2imag-128M转载 2011-09-16 15:02:40 · 1055 阅读 · 0 评论 -
Unable to allocate RAM for process text/data, errno 12问题解决
By Default uClinux doesn't allow Memory allocations greater than 512 kb. to allocate memory to an application which is greater than 1MB w转载 2011-08-10 15:18:29 · 883 阅读 · 0 评论 -
链路层套接字PF_PACKET简介
在linux环境中要从链路层(MAC)直接收发数据帧,可以通过libpcap与libnet两个动态库来分别完成收与发的工作。虽然它已被广泛使用,但在要求进行跨平台移植的软件中使用仍然有很多弊端。这里介绍一种更为直接地、无须安装其它库的从MAC层收发数据帧的方式,即通过定义转载 2011-08-02 11:26:01 · 1372 阅读 · 0 评论 -
mtd-utils 工具的使用
一.下载源码包。二.编译1.修改Makefile CROSS=mipsel-linux-2.make3.将编译生成的可执行文件COPY到开发板上三.命令的使用使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd*#cat /proc/mtddev: size erasesize namemtd0: 00c0转载 2011-06-22 09:30:00 · 908 阅读 · 0 评论 -
chmod函数中的mode_t参数
<br />chmod函数的定义: #include #include int chmod(const char *path, mode_t mode) 关于mode_t的定义: #ifndef __mode_t_defined typedef __mode_t mode_t; # define __mode_t_defined #endif __mode_t的定义: #define __mode_t __MODE_T_TYPE #define __MODE_T_TYPE __U32_TYPE #defin转载 2011-04-25 17:39:00 · 1359 阅读 · 0 评论 -
得到system执行后的返回值
http://techbbs.zol.com.cn/1/10_512.html###原创 2011-06-02 10:08:00 · 912 阅读 · 0 评论 -
O_RDWR O_CREAT等open函数标志位在哪里定义?(格式还要编译,答案在最后一段)
<br />man open<br />OPEN(2) Linux Programmer’s Manual OPEN(2)<br />NAME<br /> open, creat - open and possibly create a file or device<br />SYNOPSIS<br /> #include <sys/types.h><br /> #include <sys/stat转载 2011-04-07 16:30:00 · 1911 阅读 · 0 评论 -
snmp学习笔记之一——配置使用trap
一,trap的用途<br />TRAP是提供从代理进程到管理站的异步报告机制。<br />为了使管理站能够及时而又有效地对被管理设备进行监控,同时又不过分增加网络的通信负载,必须使用陷入(TRAP)制导的轮讯过程。代理进程负责在必要时 向管理站报告异常事件,得到异常事件的报告后,管理站可以查询有关的代理,以便得到更具体的信息,对事件的原因做进一步的分析二,trap的工作流程1,agent端:<br />A, 编写mib文件,确定好trap名称等信息。<br />B, 命令方式:发送各种trap命令(mana转载 2011-03-29 16:10:00 · 3163 阅读 · 0 评论 -
Proxy源代码分析--谈谈如何学习linux网络编程
<br />Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到,Linux <br />和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该是 <br />Windows的优点)相比,后者无疑在易操作性上更胜一筹。但是为什么又有那么多的 <br />爱好者钟情于Linux呢,当然自由是最吸引人的一点,另外Linux强大的功能也是一个 <br />非常重要的原因,尤其是Linux强大的网络功能更是引人注目。放眼今天的WAP业务、 <br />银行转载 2011-05-11 10:24:00 · 844 阅读 · 0 评论 -
linux make命令主要参数详解
<br />-C dir或者 --directory=DIR<br /> 在读取makefile文件前,先切换到“dir”目录下,即把dir作为当前目录。如果存在多个-C选项,make的最终当前目录是第一个目录的相对路径,如“make –C /home/leowang –C document”,等价于“make –C /home/leowang/document”<br /><br />-d<br /> make在执行时打印所有调试的信息。<br />转载 2011-03-07 15:17:00 · 816 阅读 · 0 评论 -
pthread_create用法
今天开始学习linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。<br /><br />#include <pthread.h><br /><br />int pthread_create(pthread_t *restrict tidp,<br /> const pthread_attr_t *restrict attr,<br /> void *(*start_rtn)(void),转载 2011-02-18 11:04:00 · 597 阅读 · 0 评论 -
makefile 中切换工作目录的问题
我的makefile 需要进行一些特殊处理,有的时候需要切换工作目录,我在 make中写到<br /><br />cd /tmp<br />然后再执行操作,发现工作目录仍然是原来的目录。实际并没有进行切换/<br /><br />请问这是怎么一回事? 谢谢! <br /><br /><br />你可以这么写:<br />cd /tmp && you-operation-cmds<br />记住,一行命令启动一个sub shell,所以<br />前一行命令导致环境的变化在下一行会被reset原创 2011-02-16 17:34:00 · 11556 阅读 · 0 评论 -
成功移植NET-SNMP到ARM平台(转)
<br />经过一个月的不懈努力终于将NET-SNMP成功移植到了ARM平台,网上关于NET-SNMP的资料很少,仅有的一些文章也都是轻描淡写,很容易被误导,我就是其中的受害者之一,交叉编译过程很复杂,要配置参数,路径,还有库。所以稍有插翅就会前功尽弃。而且每编译一次NET-SNMP都会耗费很多的时间。很容易挫败人的自信心。我整整啃了一个月的英文文档,边看边试。下面把详细过程贴出来,跟大家共享,希望那些也想移植NET-SNMP能够少走弯路。 <br />主机环境<br />Windows + vmware(转载 2011-01-26 16:49:00 · 1779 阅读 · 1 评论 -
Wireshark找不到网卡,NPf.SYS文件打不开的解决办法
<br />今天因为Wireshark突然找不到网卡,看网上有解决办法说是重新安装Winpcap,我没有选择这种方法而是重新下载Wireshark安装。<br />在安装Wireshark过程中,提示安装Winpcap,而Winpcap提示"无法打开C:/WINDOWS/SYSTEM32/DRIVERS/NPF.SYS",通过自己在DRIVERS文件夹搜索,只能搜到一个大小为0字节的NPF.SYS文件,显然是错误的。<br />解决办法:<br />从同学电脑拷贝NPF.SYS这个文件,放到个人的DRIVE转载 2010-11-27 15:40:00 · 10018 阅读 · 0 评论 -
举报 根文件系统中添加telnetd服务
<br />作者:曹忠明,华清远见嵌入式学院讲师。<br />使用busybox制作的一个基本根文件系统如何添加telnetd服务呢?<br />下面把本人的添加过程列出来供大家分享,如有不同意见请不吝赐教!<br />1、 添加telnet的支持(busybox中配置)<br />Networking Utilities ---> <br /> [*] telnet <br /> [*] Pass TERM type to remote host转载 2010-11-26 17:05:00 · 582 阅读 · 0 评论 -
Linux自启动设置详解
<br />前言<br /> linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。<br /> 阅读之前建议先看一下附图。<br /> 本文中假设inittab中设置的init tree为:<br /> /etc/rc.d/rc0.d<br /> /etc/rc.d/rc1.d<br /> /etc/rc.d/rc2.d<br /> /etc/rc.d/rc3.d<br /> /etc/rc.d/rc4.d<br /> /etc/rc.d/rc5转载 2010-09-02 16:31:00 · 426 阅读 · 0 评论 -
buildroot制作编译环境全过程解决
<br />在下载了最新的buildroot之后,解压后,开始了全新的编译过程:<br />crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make xconfig<br />make: *** 没有规则可以创建目标“xconfig”。 停止。<br /><br />只是想试试图形界面的配置而已,既然不能用,就懒得去折腾了,本来也就是习惯用menuconfig了。<br /><br />crifan@ubuntu904:~/develop/bu原创 2010-07-08 10:26:00 · 6338 阅读 · 1 评论 -
用buildroot创建交叉编译环境
<br />一、首先从此处http://buildroot.uclibc.org/downloads/snapshots/下载最新的buildroot <br />buildroot-snapshot.tar.bz2<br /> tar jxvf buildroot-snapshot.tar.bz2<br /> cd buildroot<br /><br />二、配置<br />对于buildroot的配置可以直接将本目录下的buildroot.config文件直接拷到buildro转载 2010-07-08 10:23:00 · 1365 阅读 · 0 评论 -
buildroot制作编译环境全过程解决 - 2
<br />上接:<br />buildroot制作编译环境全过程解决<br />http://hi.baidu.com/serial_story/blog/item/1684ef16c04a3711962b433e.html<br />------------------------------------------------------------------------------------------------------------------------<br /><br />找到最后,转载 2010-07-08 10:28:00 · 5641 阅读 · 0 评论 -
NET-SNMP安装方法(转载)
这篇文章我们主要讲解NET-SNMP的安装过程。在描述NET-SNMP安装过程之前,我们先来说一下什么是SNMP。(以下内容译自官方网站:http://www.net-snmp.org)Simple Network Management Protocol (SNMP) 是一个被广泛使用的协议,可以监控网络设备(比如路由器)、计算机设备甚至是UPS。Net-SNMP是用于实施SNMP转载 2010-05-10 17:14:00 · 1412 阅读 · 0 评论