Linux Kernel
timequark
热爱开源,都是开源惹的火;
EMail: widespread@sina.com;
WeChat: 15800678981
展开
-
解惑—Linux中的地址空间
解惑—Linux中的地址空间(一)有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的?先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的“代转载 2009-12-12 17:32:00 · 1569 阅读 · 0 评论 -
u-boot移植到mini2440,u-boot版本2008.10 (转)
这篇文章写于2008.12.28日,主要记录了我移植u-boot-2008.10的过程,并附上了移植好的patch文件。移植好的u-boot-2008.10适用友善公司的mini2440和阳初公司的yc2410。其它的开发板,可能要根据相应的电路配置做稍许修改。我的移植是使用非nand-leagcy方法的,移植好的u-boot-2008.10功能除了基本功能外,加上了yaffs1映像的写入功能,加转载 2009-10-09 13:48:00 · 3135 阅读 · 0 评论 -
uboot官方FTP下载地址
ftp://ftp.denx.de/pub/u-boot/转载 2009-10-09 15:08:00 · 70142 阅读 · 10 评论 -
“##”之作用
##可以把字符串连接成一个语意,比如: #define a(num) a##num int a1,a2; main() { a(1)=1; a(2)=2; } 其中a(1)=1 经过预处理变成:a1=1; a和1是被##连接到一起的.原创 2009-09-27 13:12:00 · 947 阅读 · 0 评论 -
从__init说起
在kernel中有很多__init,这个东东到底是何方神圣捏?且听小生我一一道来。下面是其定义:file:/include/linux/init.h 43 #define __init __attribute__ ((__section__ (".init.text"))) __cold 44 #define __initdata __attribute__ ((__section_转载 2009-07-10 09:49:00 · 1309 阅读 · 0 评论 -
Linux系统调用-- mmap/munmap函数详解【转】
【 mmap/munmap系统调用】 功能描述: mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。 基 于文件的映射,在mmap和munmap执行过程的任何时刻,被映射文件的st_atime可能被更新。如果st_atime字段在前述的情况下没有得到更新,首次转载 2009-09-04 20:19:00 · 1432 阅读 · 0 评论 -
Linux 文件系统属性更改
/usr/local/bin/apps # dfFilesystem 1k-blocks Used Available Use% Mounted on/dev/mtdblock2 9828 9828 0 100% /mdev 20948 0 20948原创 2009-08-05 14:59:00 · 4446 阅读 · 0 评论 -
ARM Linux平台qt-2.3.10+qtopia-free-2.1.1+tslib移植
目录结构e2fsprogs: /root/arm-qt/e2fsprogsjpeg-6b: /root/arm-qt/jpeg-6bqt-2.3.10: /root/arm-qt/qt-2.3.10qt-2.3.2: /root/arm-qt/qt-2.3.2 //PC版本QT, 未用到qtopia-free-2.1.1: /root/arm-qt/qtopia-free-2.1.1q原创 2009-05-21 18:36:00 · 2588 阅读 · 0 评论 -
ARM Linux平台QTE+tslib移植后感
前言:此时此刻的心情可以用兴奋与悲哀一同的形容。兴奋,是因为经过两周“不懈努力”、“执着”地追求,终于达到了预期的目标;悲哀,是因为作为一个“IT打工仔”只能整天默默地为资本家们做着贡默。时逢金融风暴,做好份内的事,也许是最好不过了……想说的话太多,只是无处抒发而已。:)不说了,现在让我们开始移植之旅吧。Here we go!1。开发环境PC+VMWARE+RED FLAG+交叉编译器原创 2009-05-19 09:57:00 · 6933 阅读 · 3 评论 -
U-Boot在S3C2410上的移植 (转)
引言 U-Boot是用于初始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操作系统装载、引导和运行的固件程序。它能够将系统的软硬件紧密衔接在一起。S3C2410是三星公司的一款基于ARM920T核的嵌入式通用处理器。本文将详细介绍U-Boot在S3C2410开发板上的移植与运行。 U-BOOT简介 U-Boot支持ARM、 PowerPC等多种架构的处理器,也支转载 2009-10-10 14:55:00 · 2623 阅读 · 0 评论 -
Linux 内核编译步骤 (转)
下载新内核以后,先把Linux-2.6.18.2.tar.bz2 复制到/usr/src/ 的下面 tar –jxvf Linux-2.6.18.2.tar.bz2 cd Linux-2.6.18.2 make mrproper 把原来编译产生的垃圾删除 配置内核可以根据需要与爱好使用下面命令中的一个: #make config (基于文本的最为传统的配置界面) #make menuconfig转载 2009-10-19 21:56:00 · 658 阅读 · 0 评论 -
u-boot 1.3.1移植,调试心得 (转)
公司的项目用的是扬创的2440开发板。此板仅有u-boot.bin提供,而没有u-boot的源码,我依照开发板提供的电路图,根据公司项目的要求,对其电路进行了修改,添加,并重新绘制了印制板,用的是扬创的核心板加自已的底板的构架。硬件调试完毕后,问题来了,我需要在硬件一启动时,就要对某些口线进行初始化,可是因为扬创没有提供U-boot的源码,只好自已动手去移植一套源码了。移植过程主要是根据网上一转载 2009-10-23 23:28:00 · 982 阅读 · 0 评论 -
FriendlyARM Suppervivi + linux-2.6.29.1 + rootfs_busybox-1.13.3
最近一直在琢磨mini2440开发板上移植bootloader、linux kernel以及rootfs这三者的“内幕”。其过程可谓艰辛啊,万事开头难吗,但我们不可知难而退。也就是这个学习的过程,会使你自己受益非浅,进而鼓励自己朝着感兴趣的方向一直前进。。。下面针对移植工作一些简单的总结,当然这期间也参考了网上大量的BLOG信息,以及相关书籍。不多说了,进入主题。PS:以下的移植过程均是基原创 2009-11-08 09:16:00 · 1668 阅读 · 0 评论 -
Linux "dd" command
dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number mif=file输入文件名,缺省为标准输入。of=file输出文件名,缺省为标准输出。ibs=bytes一次读入 bytes 个字节(即一个块大小原创 2009-11-06 13:48:00 · 1966 阅读 · 0 评论 -
用mkfs.jffs2 命令制作jffs2镜像文件 (转)
下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2或者使用命令:apt-get install mtd-utils命令使用实例:mkfs.jffs2 -s 0x1000 -e 0x40000 -p 0x500000 -d rootfs/ -o jffs2.img说明:页大小0x1000 4k块大小0x40000转载 2009-11-06 11:43:00 · 36348 阅读 · 1 评论 -
Linux 启动参数 (转)
一般的系统是先启动/sbin/init,但是也可通过启动参数指定init=来确定,如:我的系统就是制定的init=/linuxrc,因为文件系统是采用busybox的,而linuxrc也是一个指向busybox的文件,不过不确认它指向具体哪个指令。不过可能是/sbin/init。init进程的主要任务是按照inittab文件所提供的信息创建进程,由于进行系统初始化的那些进程都由init创建,所以转载 2009-11-06 10:53:00 · 3439 阅读 · 0 评论 -
eclipse for linux
http://www.91linux.com/html/article/program/java/20071108/8094.html原创 2009-10-27 21:34:00 · 728 阅读 · 0 评论 -
Linux NFS安装与配置
NFS的安装与配置: 1.以root的身份在控制台输入setup,在系统服务选项中选中 nfs portmap 服务选项portmap服务对NFS 是必须的,因为它是NFS 的动态端口分配守护进程,如果portmap不启动,NFS就启动不了的。如果Linux上系统服务上没有这个配置选项,可以到网上搜索一些相关的软件包。 2.编辑 /etc/exports 文件 exports文件是原创 2009-11-05 20:05:00 · 671 阅读 · 0 评论 -
使用busybox-1.13.3 创建Linux根文件系统
首先我使用的busybox是1.13.3版本!此制作过程也是参考网络上各位高手的文章,加上自己的摸索与尝试,在此留下必要的札记。1:配置Busybox进入解压后的目录,配置Busybox[~busybox-1.13.3]#make menuconfig############################################################### Bu原创 2009-11-05 16:17:00 · 5724 阅读 · 1 评论 -
使作Busybox创建文件系统 (转)
编译busybox的组合:busybox-1.0.0 arm-linux-gcc-2.95.3 (sbc2410等开发板)busybox-1.1.3 arm-linux-gcc-3.3.2 buxybox-1.7.3 arm-linux-gcc-3.4.1 经典参考:http://busybox.net/downloads/ 下载busyboxhttp://husab转载 2009-11-05 12:52:00 · 1587 阅读 · 0 评论 -
tslib的环境变量、配置文件等进行简要的分析 转
1. 环境变量为了实现Tslib的正确运行,需要对如下的Tslib的环境变量进行配置:TSLIB_TSDEVICE //触摸屏设备文件名。Default (no inputapi): /dev/touchscreen/ucb1x00Default (inputapi): /dev/input/event0TSLIB_CALIBFILE //校准的数据文件,由ts_cali原创 2009-05-15 20:11:00 · 6736 阅读 · 0 评论 -
Linux 信号signal处理机制
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和原创 2009-05-03 15:18:00 · 983 阅读 · 0 评论 -
Linux 信号signal处理函数
alarm(设置信号传送闹钟)相关函数 signal,sleep表头文件 #include定义函数 unsigned int alarm(unsigned int seconds);函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。返回值返回之前闹原创 2009-05-03 15:17:00 · 2118 阅读 · 0 评论 -
uClinux操作系统移植 转
-------------------------------------------------------------------------------- 来源:BIPLIP.com 作者:沈沙 (复旦大学电子工程系沈沙,欢迎转载,转载时请保留此行作者信息) l uClinux简介 l 硬件体系结构简介 l 编译环境和编译工具。 l uClinux启动过程 l 系统源码的修改 1. uCli原创 2009-05-03 13:50:00 · 707 阅读 · 0 评论 -
Qtopia安装简要入门 转
Qtopia安装简要入门 注:2006年06月02日,因为Qtopia PDA GPL的最新版本为2.2.0,Qtopia Phone的最新版本为4.1.2,所以本文内容已经比较陈旧了,希望大家参考以下文档,谢谢。 Qtopia PDA 2.2.0(GPL)安装指南Qtopia Phone 2.2.0安装指南 最近开始学习Qtopia了,发现这个东西的安装还是比较麻烦的原创 2009-05-03 14:53:00 · 1859 阅读 · 1 评论 -
Qt/Embedded嵌入式开发环境的建立 转
一. 开发环境(1) Red Hat Linux 9(2) Linux Kernel 2.6.14(3) (Qt开发包)qt-x11-2.3.2.tar.gz (4) (Qt/Embedded开发包)qt-embedded-2.3.10-free.tar.gz (5) (自动创建Makefile文件的工具)tma原创 2009-05-03 14:48:00 · 856 阅读 · 0 评论 -
QT+QTOPIA在linux上的移植 转
-- 目录 --1. 简介2. 准备工作 2.1 目标 2.2 软件包 2.3 环境的建立3. PC平台编译 3.1 编译QT 3.2 编译QTOPIA 3.3 测试QTOPIA4. 目标平台交叉编译 4.1 交叉编译QT 4.2 交叉编译QTOPIA5. 移植QT中的相关设备接口 5.1 鼠标 5.2 触摸屏6. 移植QTOP原创 2009-05-03 14:46:00 · 907 阅读 · 0 评论 -
嵌入式图形用户界面uc/gui在nios II上的移植
uc/gui是一个优秀的嵌入式图形用户界面,这几天的工作就是将它移植到nios II系统上。前人也做了一些工作,不过大部分都是针对其他硬核处理器,针对nios II软核处理器的移植资料那简直是凤毛麟角。在阅读了相关文档后,我决定自己亲自动手实践,这下面的很多过程都是自己摸索出来的,并通过了实验的验证。这只是一个初步的移植,也许在以后的更复杂的应用中,还需要对其进行调整。但对目前我的应用而言,原创 2009-05-03 14:27:00 · 7272 阅读 · 11 评论 -
Useful Uses Of netcat 转
Version 1.0 Author: Falko Timme Last edited 11/28/2008This short article shows some useful netcat commands. netcat is known as the TCP/IP swiss army knife. From the netcat man page: netcat is a sim原创 2009-05-03 14:03:00 · 564 阅读 · 0 评论 -
重新编译内核指南 转
摘要:Linux的一个重要的特点就是其源代码的公开性,全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显的好处就是Linux修补漏洞的快速以及对最新软件技术的利用。而Linux的内核则是这些特点的最直接的代表。 Linux的一个重要的特点就是其源代码的公开性,全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显的好处就是Linux修原创 2009-05-03 14:23:00 · 870 阅读 · 0 评论 -
Linux内核编译过程详解(kernel2.6.7) 转
花了几天才编译成功kernel2.6.7,其过程真可谓艰辛.古语有云:"苦尽甘来!"现在终于可以乐上一阵了.由于许多朋友对操作的顺序及某些重要的配置知之甚少或知之不详,往往病急乱投医.加之网上的信息多且烦杂,使得编译内核成功率不高,甚至造成原来的系统崩溃的也不在少数.我就是其中一个。 其实,编译内核并不是一件难事.如果能按照正确的方法来操作,最多花上一个半小时就能搞定.是不是很受原创 2009-05-03 14:13:00 · 779 阅读 · 0 评论 -
Linux环境下一步Socket编程(一)
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输原创 2009-05-03 13:56:00 · 590 阅读 · 0 评论 -
Linux中Socket的select
select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是Socket句柄,还是其他 文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪一Socket或文件可读,下面具体解释:int select(nf原创 2009-05-03 13:59:00 · 3315 阅读 · 0 评论 -
Linux编译内核详解 转
内核简介 ??内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 ??Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显原创 2009-05-03 14:10:00 · 596 阅读 · 0 评论 -
Embedded QT 开发环境的建立 转
本文主要内容为编译器的安装,安装与建立Qt 桌面运行环境,Qt/E 的交叉编译,建立本机Qtopia 虚拟平台。 预备:编译器安装 编译器: arm-linux-gcc-3.4.1.tar.bz2 一. 安装与建立Qt 桌面运行环境软件:PC 机操作系统FC2+MINICOM + ARM-LINUX 开发环境tmake-1.13.tar.gz qt-embedded-2.3.10-fr原创 2009-05-03 14:32:00 · 902 阅读 · 0 评论 -
linux下jdk的安装与配置 转
一、、安装JDK 从sun网站上直接下载JDK:http://java.sun.com/j2se/1.4.2/download.html 提供了两个下载: 1、RPM in self-extracting file (j2sdk-1_4_2_04-linux-i586.bin, 32.77 MB) 这个是自解压的文件,在linux上安装如下: # chmod原创 2009-05-03 14:24:00 · 600 阅读 · 0 评论 -
Linux IP配置
1:IP配置(1)先用 ifconfig命令查看网络连接名用IP相关信息(2)用ifconifg eth0 x.x.x.x netmask x.x.x.x,来配置IP与相关设置原创 2009-05-03 14:11:00 · 402 阅读 · 0 评论 -
鸟哥linux的简单sh程序设计 转
干嘛学习 Scripts 这个问题可有趣的很了,我为什么要学习 scripts 呢?不要学可不可以呀!?呵呵!如果您只想要『会用』 Linux 就好的话,那么这一个部分确实可以先跳过去不看也没关系,不过,如果您想要更加的了解与控制 Linux ,使 Linux 运作更顺畅之外,还可以高枕无忧的让你的 Linux Server 在 Internet 上面提供相关服务的话,那么 script原创 2009-05-03 14:09:00 · 1993 阅读 · 0 评论 -
Linux下Socket常用函数
计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需要进行转换。 我们要讨论的第一个结构类型是:struct sockaddr,该类型是用来保存socket信息的: struct sockaddr { unsigne原创 2009-05-03 13:58:00 · 1487 阅读 · 0 评论 -
Linux环境下一步Socket编程(二)转
无名套接口套接口并不总是需要有一个地址。例如, socketpair函数创建了两个彼此相连的两个套接口,但是却没有地址。实际上,他们是无名套接口。想像一下冷战期间美国总统与苏联之间的红色电话。 他们任何一端并不需要电话号码,因为他们是直接相连的。同样,socketpair函数也是直接相连的,也并不需要地址。匿名调用有时在实际上,连接中的两个套接口中的一个也没有地址。对于要连接的远程套接口,他原创 2009-05-03 13:57:00 · 627 阅读 · 0 评论