linux内核
文章平均质量分 75
y296144646q
别人笑我太疯癫,我笑他人看不穿; 不见五陵豪杰墓,无花无酒锄作田。
展开
-
Linux/Unix shell脚本全面学习
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash转载 2011-08-10 16:59:38 · 782 阅读 · 0 评论 -
3G 华为ET128在TQ2440上的移植和使用(二)
开启开发板(内核就是TQ的基础上+上前面的配置,文件系统直接用TQ的)进入文件系统:(1) /etc/init.d/rcSmount -a mkdir -p /dev/ptsmkdir /var/run mount -t devpts devpts /dev/pts原创 2011-03-21 21:23:00 · 3201 阅读 · 1 评论 -
3G 华为ET128在TQ2440上的移植和使用(一)
ttp://www.findthatfile.com/index.php?q=modeswitch下载usb-modeswitch-1.1.3.tar.bz2http://sourceforge.net/projects/libusb/files/libusb-0.1%20%28LEGACY%29/0.1.12/libusb-0.1.12.tar.gz/download下载libusb-0.1.12.tar.gzhttp://www.sfr-fresh.com/linux/misc/ppp-2.4.5.ta原创 2011-03-21 21:18:00 · 3110 阅读 · 0 评论 -
高级名字与地址转换————getaddrinfo()函数详解
<br /><br />getaddrinfo()函数详解<br /> <br />1. 概述<br /><br />IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrinfo的结构(转载 2011-03-18 19:56:00 · 987 阅读 · 0 评论 -
[webkit] htmlparser 部分
[webkit] htmlparser 部分作者:hustyiyuan 2009-09-11 00:54 星期五 晴 获取一个网页数据之后会调用 HTMLTokenizer::write这个函数, 传入的str即为 html 文档数据。<br /> HTMLTokenizer::write主要是解析html 文档,并构建对应的dom tree[node tree], 这个由htmlparser的insertNode函数中的addChild()语句来实现, 但之后会调用node->attach()这转载 2011-01-05 15:59:00 · 1444 阅读 · 0 评论 -
ppp拨号上网(1)
由于一个嵌入式平台上项目开发的需要,在arm平台上实施ppp拨号上网。说起这个Linux平台的ppp拨号上网,也许很多人觉很简单,网上的成功的例子很多!不错,你说的对,但是我还要给点我的看法,就是这个简单的ppp拨号折腾了我的时间之长,我都不好意思讲。但是,现在看来这个过程学到了好多的东西,得到很多分析能力的锻炼。现在成功移植到arm开发板上。特写日志于此,分享我的这段时间以来的总结:timeout set to 15 secondsabort on (/nBUSY/r)abort on (/nNO ANS转载 2010-12-28 19:01:00 · 2121 阅读 · 0 评论 -
linux ppp上网
<br />本文将说明如何在Linux下用CDMA modem完成拨号上网的工作。首先,读者需要对PPP协议有初步的了解,比如,读者至少应该知道LCP和NCP是什么,以及PAP和CHAP是做什么的;其次,读者可能需要安装pppd和chat两个工具,通常系统中默认都是安装了这两个程序的。如果没有安装pppd,可以到http://ppp.samba.org/下载最新版本。本文中作者所用的pppd版本为2.4.1,chat版本为1.22。<br />本文所使用的是联通掌中宽带包月2G流量CDMA上网卡。连接所需的转载 2010-12-28 19:42:00 · 2049 阅读 · 0 评论 -
关于pppd移植和3g功能
<br />1. 内核配置支持pppd拨号:<br />make menuconfig<br /> Device Drivers-><br /> ->Network Device Support-><br /> <*> PPP (point-to-point protocol) support<br /> [*] PPP multilink support<br /> <*> PPP support for async serial ports<br /转载 2010-12-28 19:16:00 · 11449 阅读 · 1 评论 -
3G卡片在开发板上的详细解决方法(适用于大多数3G卡片)
<br />3G卡片在开发板上的详细解决方法(适用于大多数3G卡片)<br />Anson Luo(罗国辉)<br />一. 环境<br />1. 开发板内核:linux kernel 2.6.14<br />2. 3G卡片:HUAWEI E1750<br />二. 相关工具与库文件下载<br />1. usb_modeswitch-1.0.6.tar.bz2(http://www.draisberghof.de/usb_modeswitch/)<br />建议下载较新版本,如果怕麻烦就下载与我一样的版本,转载 2010-12-28 18:57:00 · 1230 阅读 · 0 评论 -
lsusb arm 移植
lsusb ARM 移植<br /> <br />1.下载源码:<br /> 1)wget http://dist.momonga-linux.org/pub/momonga/2/SOURCES/libusb-0.1.10.tar.gz; <br /> 2)wget http://www.sfr-fresh.com/linux/misc/usbutils-0.86.tar.gz. <br />2.解压: <br /> 1)tar xvf usbutils-0.86.tar.gz <br />原创 2010-11-01 16:07:00 · 3533 阅读 · 1 评论 -
利用udev在/dev下动态生成/移除设备文件
udev 2007年09月26日 星期三 20:26问题: 在sbc-2410x开发板上插入U盘,在/dev/下无法找到相应的设备文件。利用udev在/dev下动态生成/移除设备文件----------------------------------------- udev是硬件平台无关的,属于user space的进程,它脱离驱动层的关联而建立在操作系统之上,基于这种设计实现,转载 2011-06-04 20:16:00 · 1480 阅读 · 0 评论 -
FreeBSD虚拟内存系统的启动
摘要本报告介绍FreeBSD虚拟内存子系统的启动过程。FreeBSD虚拟内存子系统是许多其他子系统的基础,譬如文件子系统、设备子系统、进程子系统等等,而且它与系统设备、体系结构密切相关,特别是从实模式到保护模式下的映射,需要完成大量的工作。因此吸引我对从BootLoader到系统转载 2011-07-17 19:11:29 · 1047 阅读 · 0 评论 -
FreeBSD编译内核详解
我所用的FreeBSD是5.2.1版,现在是比较新的了,我一看我的内核文件大小: # ls -l /boot/kernel/kernel -r-xr-xr-x 1 root wheel 5940286 Feb 24 2004 /boot/kernel.bak/kernel转载 2011-07-17 19:09:52 · 1502 阅读 · 0 评论 -
WebKit简介
一、WebKit简介WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTML和KJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCore和JSCore)进行网页排版。二、WebKit目录结构Android平台的WebKit模转载 2011-04-27 09:50:00 · 924 阅读 · 0 评论 -
configure、pkg-config、pkg_config_path三者的关系
简述configure、pkg-config、pkg_config_path三者的关系<br />学习┊工作相关Mar 8th, 2010easylife<br />一、什么是configure<br /> 源码安装过程中大多会用到configure这个程序,一般的configure都是一个script,执行时可以传入必要参数告知配置项目。<br /> configure程序它会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所需的Makefile文件供程序Make读转载 2011-04-25 09:35:00 · 666 阅读 · 0 评论 -
DirectFB移植(GUI arm linux DirectFB GTK tslib)
DirectFB移植1 前言<br /> 数年前,曾经开发过一个嵌入式的产品,如今市场依然存在,但由于电子产品的升级换代很快,许多元器件都采购不到了,为了延续产品的生命周期,计划在linux平台上开发新的版本。而在linux上的GUI上成了大问题,最开始有用Minigui的打算,也同飞漫公司联系过,但费用我这里无法承受。(Minigui作为国产优秀的嵌入式GUI,如果不是费用的问题,应该是最优的选择。) QT我也看了下,也是收费的,没有仔细研究。最开始我打算用MicroWindow的,但后来发现这转载 2011-04-23 15:58:00 · 3773 阅读 · 0 评论 -
DirectFB+GTK交叉编译
<br />编译平台:x86、VMware上Ubuntu-10.04<br />目标平台:SOC3210<br />交叉编译工具链:gcc-3.4.6(mipsel)<br /> <br /> <br />一、所需软件包:<br /> <br />1、zlib-1.2.5.tar.bz2 <br />2、freetype‐2.3.5.tar.bz2<br />3、libpng-1.2.40.tar.bz2<br />4、jpegsrc.v6b.tar.gz<br />5、DirectFB-1.3.0.tar转载 2011-04-19 19:56:00 · 3351 阅读 · 3 评论 -
从零开始基于ARM 交叉编译开源浏览器webkit
<br />从零开始基于ARM 交叉编译开源浏览器webkit 收藏<br />出发点: 我想看免费的国内外网络电视,所以基于ARM板DIY一个Internet TV, 需要做的工作主要有:<br /> 1) 编译浏览器webkit<br /> 2) 移植clutter webkit实现类似apple界面<br /> 3) 移植Morphine.tv<br />实践过程:目前网络上交叉编译webkit的方法主要是基于QT,D转载 2011-04-21 20:52:00 · 2600 阅读 · 1 评论 -
directfb+gtk+webkit在arm上的移植
directfb+gtk+webkit在arm上的移植最近在tcc8900(arm11)平台上移植了一下webkit浏览器(gtk),花了近两天时间,大部分时间都给编译各种依赖的库给耗费了,特记录一下,以备后来者参考。<br />atk-1.30.0 fontconfig-2.8.0 gtk+-2.16.0 libsoup-2.30.2 pango-1.28.0 webkit-1.3.3 zlib-1.2.3 DirectFB-1.4.5 freetype-2.3.9 jpeg-转载 2011-04-19 19:53:00 · 3735 阅读 · 0 评论 -
嵌入式Linux下3G模块的驱动和应用
嵌入式Linux下3G模块的驱动和应用技术2010-09-25 13:25:13阅读108评论0 字号:大中小 订阅嵌入式Linux下3G模块的驱动和应用1、 开发资源1.1、硬件资源:ZTE-mf637u(中国联通)ZTE-mu351(中国移动)1.2、软件资源:1.2.1、usb-modeswitch-1.1.3 libusb-0.1.12.tar.gz usb-modeswitch-1.1.3.tar.bz21.2.2、ppp-2.4.4 libpcap-0.9.转载 2010-11-01 14:11:00 · 5534 阅读 · 4 评论 -
Qt WebKit可以做什么
Qt WebKit可以做什么2010-07-13 23:14<br /> <br />欢迎看看我的另一个小窝,可能会有意外的惊喜哦^_^ www.devres.info<br />From:http://software.intel.com/zh-cn/blogs/2010/06/08/qt-webkit-qt-webkit/Author:Dawei Cheng程大伟(Intel)这个命题不太好回答,因为Qt的库一直在更新,KDE中webkit的项目也在有新版本release出来。就据我了解的和大家分享一下原创 2010-10-31 19:06:00 · 7026 阅读 · 0 评论 -
Haiwei ET128 Linux
Haiwei ET128 Linux2009年09月01日 星期二 18:09<br /><br />everest0.6 安装 HuaWei ET128 3G上网卡<br />前天去移动办了个随e行G3上网卡,回来一看,只有windows驱动和软件,但我平时多数时间在linux下,用google扒啦了一下,还真有配置方法~,现简化一下,共享之~~<br /><br />上网卡型号:HUAWEI ET128<br /><br />系统版本:Qomo 0.6 GCC44 (2.6.29.4-40)<br />原创 2010-11-01 13:38:00 · 1309 阅读 · 0 评论 -
BootLoader与Linux内核的参数传递
BootLoader与Linux内核的参数传递在嵌入式系统中,BootLoader 是用来初始化硬件,加载内核,传递参数。因为嵌入式系统的硬件环境各不相同,所以嵌入式系统的BootLoader 也各不相同,其中比较通用的是U-Boot,它支持不同的体系结构,如ARM,PowerPC,X86,MIPS 等。本文着重介BootLoader与内核之间参数传递这一基本功能。本文的硬件平台是基于AT91RM9200 处理器系统,软件平台是Linux-2.6.19.2 内核。内核映像文件为zImage。<br /><b转载 2010-06-21 09:41:00 · 706 阅读 · 0 评论 -
linux内核启动过程——zImage自解压
linux内核启动过程——基于S3C2410(1)zImage自解压linux内核启动过程——基于S3C2410 (1)zImage自解压本文以流行的Samsung公司的S3C2410,mini2440平台和linux-2.6.29为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何引导内核有所熟悉。下面原创 2010-06-21 09:39:00 · 4068 阅读 · 0 评论 -
arm linux 从入口到start_kernel 代码分析——head.S分析——7end
arm linux 从入口到start_kernel 代码分析 - 7(end)(2008-07-30 16:08:30)转载标签:it分类:kernel<br /> <br />6. 切换数据<br /> 在 arch/arm/kernel/head-common.S 中:<br />00014: .type __switch_data, %object<br />00015: __switch_data:<br />00016: .long __mmap_switched<br />0转载 2010-06-21 09:23:00 · 1451 阅读 · 0 评论 -
arm linux 从入口到start_kernel 代码分析——head.S分析——6
arm linux 从入口到start_kernel 代码分析 - 6(2008-07-30 16:07:15)转载标签:it分类:kernel<br /> <br />5. 开启mmu<br /> 开启mmu是又函数 __enable_mmu 实现的.<br /> <br /> 在进入 __enable_mmu 的时候, r0中已经存放了控制寄存器c1的一些配置(在上一步中进行的设置), 但是并没有真正的打开mmu,<br /> 在 __enable_转载 2010-06-21 09:22:00 · 1147 阅读 · 0 评论 -
arm linux 从入口到start_kernel 代码分析——head.S分析——5
arm linux 从入口到start_kernel 代码分析 - 5(2008-07-30 16:06:09)转载标签:it分类:kernel<br /> <br />4. 调用平台特定的 __cpu_flush 函数<br />当 __create_page_tables 返回之后<br />此时,一些特定寄存器的值如下所示:<br />r4 = pgtbl (page table 的物理基地址)<br />r8 = machine info (struct mac转载 2010-06-21 09:21:00 · 1307 阅读 · 0 评论 -
arm linux 从入口到start_kernel 代码分析——head.S分析——1
<br />本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数.<br />我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照.<br />例:<br />在文件init/main.c中:<br />00478: asmlinkage void __init start_kernel(void)<br />前面的"00478:" 表示478行,冒号后面的内容就是源码了.<br />在分转载 2010-06-21 09:11:00 · 2384 阅读 · 0 评论 -
为sourceinsight添加makefile和kconfig文件支持
<br />原文地址::<br />http://blog.chinaunix.net/u3/99423/showart_2207081.html<br />大家用source insight看linux源码的时候都遇到这么一个麻烦,makefile和kconfig中的文字在搜索的时候不能找到,这是因为source insight默认是不选makefile的,也没有konfig这种类型的文件。下面就讲一下<br /> <br />如何添加makefile:<br />打开Source Insight,在新建原创 2010-06-21 08:58:00 · 551 阅读 · 0 评论 -
linux2.6 内核Makefile 详解
<br />linux2.6 内核Makefile 详解 [转]<br />http://forum.eepw.com.cn/forum/main?url=http%3A%2F%2Fbbs.edw.com.cn%2Fthread%2F1287<br />30%2F1<br />熟悉内核的Makefile 对开发设备驱动、理解内核代码结构都是非常重要的<br />linux2.6 内核Makefile 的许多特性和2.4 内核差别很大, 在内核目录的<br />documention/kbuild/makef转载 2010-07-31 10:08:00 · 719 阅读 · 0 评论 -
读kernel感悟-kbuild系统-make bzImage的过程
<br /> <br />内核的编译系统kbuild是个很庞大的系统 ,但是,它所使用的make和我们平时用的make是一模一样的。kbuild只是通过预定义一些变量(obj-m,obj-y等等)和目标(bzImage ,menuconfig等等),使内核的编译和扩展变得十分方便。我们不妨yy一下kbuild的一些功能:<br />1.考虑到Linux能够方便地移植到各个硬件平台,kbuild也必须很容易添加对某个新的平台的支持,同时上层的Makefile不需要做大的改动。<br />2.Linux下有众多原创 2010-07-31 12:35:00 · 770 阅读 · 0 评论 -
基于ARM 的Linux 的启动分析报告——ARM+Linux的启动分析(1)
<br />基于ARM 的Linux 的启动分析报告<br />摘要:本文主要分析基于ARM 的Linux-2.2.26 内核启动过程。将首先从/<br />arch/arm/Makefile着手,介绍三种不同的启动方案,再剖析典型的压缩内核<br />zImage启动方案的代码结构,最后将详细分析这种方案的启动过程,直到调用<br />start_kernel()为止。<br />1、Linux 内核的启动方案:<br />由/arch/arm/Makefile的代码可以看出,主要有三种启动方案,分别是:原创 2010-06-21 10:18:00 · 830 阅读 · 0 评论 -
基于ARM 的Linux 的启动分析报告——ARM+Linux的启动分析(2)
<br />3、zImage 的启动过程<br />1. Linux 内核的一般启动过程:<br />1)对于ARM 系列处理器来说,zImage 的入口程序即为 arch/arm/boot/<br />compressed/head.S。它依次完成以下工作:开启 MMU 和 Cache,调用<br />decompress_kernel()解压内核,最后通过调用 call_kernel()进入非压缩内核<br />Image 的启动。<br />Linux 非压缩内核的入口位于文件/arch/arm/ke原创 2010-06-21 10:20:00 · 1167 阅读 · 0 评论 -
运行移植的wvdial出错
<br />移植wvdial后在ARM开发板上运行时出现下列错误:<br />wvdial: utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion<br /> `getcontext(&get_stack_return) == 0' failed<br /> Aborted<br /> <br />解决办法:修改代码<br /> <br />--- include/wvtask.h.orig Mon Jul 14 13:11:35 2008<br原创 2010-12-16 14:34:00 · 1736 阅读 · 0 评论 -
嵌入式系统终端分析
<br />嵌入式系统终端分析<br /> <br /> <br /> <br />------------------------------------<br />本文系本站原创,欢迎转载!<br />转载请注明出处:http://sjj0412.cublog.cn/<br />------------------------------------------ <br />当我们打开机器或一个嵌入式系统时,我们可能都适应了它会显示信息,我们也理所当然?<br />娜衔馐怯Ω茫撬蛹扑慊型ü原创 2010-10-11 09:18:00 · 934 阅读 · 0 评论 -
container_of
<br />container_of 理解 收藏 <br /> <br />问题:如何通过结构中的某个变量获取结构本身的指针???<br />关于container_of见kernel.h中:<br />/**<br />* container_of - cast a member of a structure out to the containing structure<br />* @ptr: the pointer to the member.<br />* @type: the t原创 2010-10-02 09:44:00 · 393 阅读 · 0 评论 -
linux根文件系统与initrd
<br /> linux根文件系统与initrd 收藏 <br />1 根文件系统<br />简单来说,(根文件系统)就是系统第一个mount的文件系统 <br />Filesystem Handling <br />Like every traditional Unix system, Linux makes use of a system 's root filesystem : it is the filesystem that is原创 2010-09-08 13:28:00 · 553 阅读 · 0 评论 -
制作一个简单的文件系统
<br />三.制作一个简单的文件系统<br />0 BusyBox简介<br />什么是Busybox呢?<br /> 从名字上直接理解,Busybox是一个“繁忙的盒子”,其实,Busybox可以理解为一个Linux的命令集合,我们在进行Linux操作时所需要的常用命令,都可以在Busybox里找到,但Busybox又不是简单的将所有的命令集合在一起,它采用了一种非常巧妙的方式,即“使用一个程序完成所有的事”。<br /> 平时我们用ls、vi等命令,都要用到glibc的相关调用,所以原创 2010-09-08 13:31:00 · 1050 阅读 · 0 评论 -
ARM-LINUX交叉编译链制作
ARM Linux 交叉编译 工具链 制作攻略2007-06-25 20:04<br />0、制作之前确保你的机子上有如下几个工具:bison flex build-essential。<br />build-essential 主要是用于提供GCC、GLIBC等必要的编译资源,一般做开发的人员机子上应该都会有的。如果没有,对于UBUNTU用户:sudo apt-get install build-essential bison flex,其它用户自己看着办,呵原创 2010-08-17 20:44:00 · 456 阅读 · 0 评论 -
基于ARM 的Linux 的启动分析报告——ARM+Linux的启动分析(5)
//调用宏pgtbl,r4=0xc0024000:页表基址/** Clear the 16K level 1 swapper page table*/mov r0, r4 //r0=0xc0024000mov r3, #0add r6, r0, #0x4000 //r6=0xc00280001: str r3, [r0], #4str r3, [r0], #4str r3, [r0], #4str r3, [r0], #4teq r0, r6bne 1b //将地址0xc0024000~0xc0028000原创 2010-06-21 10:48:00 · 759 阅读 · 0 评论