博文

Emacs 快速指南(查看版权声明请至本文末尾)(2008-07-26 09:19:00)

摘要:此文是我从emacs自带的帮助文档中拷贝过来的,具体版权归作者所有,版权声明见本文末尾。 Emacs 快速指南.(查看版权声明请至本文末尾) 【注意:位于【】之间的内容是译注,比如本行,下同。】 Emacs 键盘命令通常包含 CONTROL 键(有时候以 CTRL 或 CTL 来标示)和
META 键(有时候用 EDIT 或 ALT 来标示)。为了避免每次都要写出全名,我们
约定使用下述缩写:  C-<chr>  表示当输入字符 <chr> 时按住 CONTROL 键。
          因此 C-f 就表示:按住 CONTROL 键再输入 f。  M-<chr>  表示当输入字符 <chr> 时按住 META(或 EDIT 或 ALT)键。
          如果你的键盘上没有 META 、EDIT 或 ALT 键,用下述方法也等效:
          先按一下 ESC 键然后放开,再输入 <chr>。我们用 <ESC> 来表示
          ESC 键。 重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。下文中左边顶
行的“>>”字样用来提示你尝试键盘命令。比如:       [本页当中特意留出一些空白是出于教学目的,请继续往后阅读]      
>> 现在输入 C-v (查看下一屏文字)移动到下一屏。
   (别紧张,在输入字符 v 的同时注意要按住 CONTROL 键)
   从现在开始,每读完当前一屏你都需要这样做一次。 值得注意的是,当你从上一屏......

阅读全文(2637) | 评论:0

Ubuntu安装后的一些配置(2008-07-23 10:33:00)

摘要: Ubuntu安装后的一些配置 ubuntu安装后root用户是禁用的,首先使用以下命令 sudo passwd root  启用 root 帐号 (也就是 设置一个口令) 使用
当你使用完毕后屏蔽 root 帐号 使用sudo passwd root命令 也可以直接使用sudo -s -H命令切换到root下,
一、安装VMware Tools
首先说明一下我的版本,vmware station6.03 ubuntu8.04,
因为这个与版本有点关系,我经过了一两的探索发现了,详细见我的另一篇日志 进入到ubuntu中,点击 vm----install vmtools ,一会vm将会自动将镜像挂载上,
使用命令cd /tmp切换到tmp目录下
cp /media/cdrom/VM******.tar.gz ./(**号那些省了)
解压:tar zxvf VM****.tar.gz
进入解压后的目录
cd vm***lib
执行脚本:
./vm**install.pl # 安装过程的画面,全部使用默认值,一直按 Enter 就对了 In which directory do you want to install the binary files?
[/usr/bin] What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc/rc.d] What is the directory that contains the init scripts?
[/etc/rc.d/init.d] In which directory do you want to install the daemon files?
[/usr/sbin] In which directory do you want to install the library files?
[/usr/lib/vmware-tools] Thepath "/usr/lib/vmware-tools" does not exist curren......

阅读全文(2291) | 评论:0

Linux 2.6.19.x 内核编译配置选项 作者:金步国(2008-07-22 12:27:00)

摘要:Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。 其他作品 本文作者十分愿意与他人共享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有作品的列表: 金步国作品列表 BUG报告,切磋与探讨 由于作者水平有限,因此不能保证作品内容准确无误,请在阅读中自行鉴别。如果你发现了作品中的错误,请您来信指出,哪怕是错别字也好,任何提高作品质量的建议我都将虚心接纳。如果你愿意就作品中的相关内容与我进行进一步切磋与探讨,也欢迎你与我联系。联系方式:MSN: csfrank122@hotmail.com Code maturity level options
代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 General setup
常规设置 Local version - append to kernel release 在内核版本后面加上自定义的版本字符串(小于64字符),可以用"uname -a"命令看到 Automatically append version information to the version string 自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持 Support for paging of anonymous memory (swap) 使用交换分区或者交换文件来做为虚拟内存 System V IPC System V进程间通信(IPC)支持,许多程序需要这个功能.必选,除非你知道自己在做什么 IPC Namespaces IPC命名空间支持,不确定可以不选 POSIX Message Queues......

阅读全文(2981) | 评论:0

Linux文件与目录的权限操作(2008-07-22 09:34:00)

摘要:今天对linux整个文件与目录的操作权限有点迷糊,上网查了一上 转一下这个文章:http://linux.chinaunix.net/bbs/archiver/tid-1010377.html Linux文件与目录的权限操作

在Linux 系统中,每一个文件和目录都有相应的访问许可权限 我们可以用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为可读、可写和可执行三种,分别以rwx表示,其含义为   
              r               w                      x
        文件 可读             可写                   可执行
        目录 可列出目录        可在目录中做写操作      可以访问该目录
在文件被创建时,文件所有者可以对该文件的权限进行设置。对于一个文件来说可以将用户分成三种,并对其分别赋予不同的权限:文件所有者,与文件所有者同组用户,其他用户。每一个文件或目录的访问权限都有三组。每组用三位表示,如
d  rwx  r-x  ---   
第一部分 这里的d 代表目录 其它的有 -  代表普通文件&nb......

阅读全文(2002) | 评论:0

利用ubuntu建立嵌入式linux开发环境(2008-07-21 12:40:00)

摘要:利用ubuntu建立嵌入式linux开发环境的总结 首先说明一下,重昨天下午到今天中午的整个开发环境建立的一些事情。
我原本是在RedHat9.0下做移植工作,u-boot的移植是在redhat环境下完成的,但是下一步工作是伟大 的linux内核移植工作,准备移植2.6的内核,在redhat9.0下做此工作则需要更新一些文件,过于麻烦 ,相对来说,redhat9.0是有点过于老了,于是想到了换过新的。
在此之前的,我的虚拟机是vm5.5.3,主机redhat9.0,
现在准备装的是ubuntu7.10,
安装ubuntu7.10的整个过程很简单,在此不详细说明了,(后面我将会把整个最终开发环境的建立再讲 一次),想用ubuntu7.10做开发的详见,九哥的博客:http://blog.163.com/yuan_xihua/
上面整个开发环境的建立写得也非常详细。 我装完7.10后,再来装vrtools工具,但是这次装完vrtools工具后基本上都没配置好,共享文件 不能 用,问题多多。
想了想,并在网上查了一下,可能是vm版本过低问题,于是从网上下载了一个vm6.02下来,这次我只卸 载了vm5.53,没有将ubuntu删掉,装上vm6.0.2以后可以继续用linux,这样好处就是省下了再装linux 的麻烦,这进我把vmtools卸载掉,卸载的办法是进入到/usr/bin目录,执行脚本vmware-uninstall- tool.pl,就可以弄掉了(命令如下 :cd /usr/bin    ./vmware-uninstall-tool.pl),再来重装 vmtools,此时在整个过程中则有两个模块无法编译通过,一个是vmxnet (关于网络方面),另一个是
vmhgfs,是关于共享目录的。如果这两个都不能用的话,那整个开发就变得非常不方便,编译的错误如 下:
Building the vmxnet module. Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmxnet-only'
make -C /lib/modules/2.......

阅读全文(2102) | 评论:0

Linux下minicom的设置(2008-07-18 14:21:00)

摘要:这位兄弟总结得很好,在此谢过! 这些对我们刚入嵌入式大门的人来说是很必要的! 文章转自:http://www.linuxidc.com/Linux/2008-01/10939.htm   最近在一些嵌入式开发群里面或者论坛上看见一些朋友在讨论怎么在虚拟机里面使用minicom与开发板通讯,毕竟还有好多像我这样在虚拟机里面用Linux的朋友。下面的方法仅是本人暂时使用并且还能行得通的方法,希望大家还能找到更好的方法,不过别忘了也给小弟通知一下啊,记得开源精神哦,?   开始之前先说一下自己的系统吧,其实没什么特别的估计大家也都是用这些吧。   VMWare5.5   Redhat9 Lnux   VMWare设置   好多人说VMWare里面不能用串口通讯是因为感觉虚拟机不能利用物理主机的物理串口,开始我也是这么认为,后来发现虚拟机是可以添加串口设备的只是默认没有安装罢了,唉,以前没有注意捣鼓虚拟机,仅仅利用了最基本的一点点功能罢了。   添加方式如下:   在虚拟机开机之前先选择Edit virtual machine settings,在弹出对话框里面你会发现下面有个Add…按钮,点击这个就可以添加串口设备了。   首先会出来一个Add Hardware Wizard向导,根据这个向导选择串口设备Serial Port即可,记得要使用实际的物理设备和上电就连结上哦?,这些设置好确定完就可以使用了。   注意:有时候有些朋友会发现在打开Linux的时候说你的串口COM不能用,那你就要检查一下你有没有串口当然也不能被其他设备或软件占用哦,比如说超级终端(要关掉的),当然,你的串口也要设置正确,不要就一个串口你却选择了COM2之类的低级错误哈,?   好了,下面就进行Linux下的minicom设置吧,应该能顺利进入到Linux系统了吧,下面的步骤也都很简单,一步一步地来吧,good luck!~ ?   Linux系统的minicom设置   方法一:   在网上搜索资料在linuxeden看到einstein回答一个关于在vmware上实现minicom的问题后参照修改得已完成,下面是具体方法:   我的redhat9里面默认在/etc下面是没有minirc.dfl这个默认配置文件的,   所以在vi /etc/min......

阅读全文(3964) | 评论:1

RedHat9.0下tftp服务的安装及使用(2008-07-18 11:48:00)

摘要:  安装,对于RedHat9.0,tftp 的RPM包在安装光盘的第三张盘下,可以用mount /dev/cdrom mnt/cdrom 将其挂载后,拷贝到/home/work目录下 安装 rpm -ivh tftp-server-0.32******** rpm -ivh tftp-0.32*******(这个包是客户端登陆tftp服务器所需要的) 安装完后,进行配置及开启服务 在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。 切换到cd /etc目录下 打开tftp服务的配置文件 命令为emacs xinedt.d/tftp 修改后的文件如下: service tftp {     socket_type            =dgram        protocol                  =udp        wait                        =yes        user                        =root &nbs......

阅读全文(2899) | 评论:0

ifconfig命令(2008-07-18 10:35:00)

摘要:前边移植好的u-boot 使用tftp服务时,我一直是在windows下建立tftp服务,然后下载内核及文件系统。今天 突然间想把它放到linux下去做这些操作,麻烦主要有,第一,我的使用的是虚拟机,网络采用的是桥连方式,由于在windows下的IP地址是采用动态DHCP分配,学校需要进行客户端认证才能得到IP,所以我就不能在linux下获得能进行与外网连接的IP地址。不过局域网内(所指是同一网段内)的部分IP你也是可以设置的。只不过是浏览不了外面的网而已。这些只是对于redhat9.0而言,这网上称好像是一个bug。以前用过debian的linux时,你在windows下将桥连的网络IP设为自动的话,在虚拟机下是能获得与windows相同的IP地址的,并且你能够与外网连接。第二,你得保证在虚拟机下的串口与tftp服务能正常开启。关于串口,在redhat下有minicom,这个不是问题。而对tftp服务的开启,你得上网上去下载相关的RPM包,这个等会我弄好了再详细说。 现在我先在linux下测试一下网络,使用ifconfig命令 终端显示的是ifconfig: command not found 再用whereis ifconfig查询一下ifconfig所在的路径, 显示/sbin/ifconfig 知道信息可以知道是路径没设 解决方法 1、你可以切换到cd /sbin目录下去执行 ./ifconfig 2、添加路径 export PATH=$PATH:/sbin不过这样只是对当前终端有效,并且机器重启后就无效了,要想让其以后还有效,你可以在bashrc中添加路径 emacs  /etc/bashrc 在后面添加export PATH=$PATH:/sbin 相信这些问题对老手来说都是一些鸡毛蒜皮的事,可对新手来说仍是问题,在此贴出来,供大家参考指正。我也是新手,呵呵!......

阅读全文(2223) | 评论:0

u-boot命令详解(2008-07-17 18:49:00)

摘要:文章转自:http://www.xxlinux.com/linux/article/development/embed/20070411/8154.html 对一些常用的命令了解还是有必要的   U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。 1、bootmdKNLinux联盟
bootm [addr [arg ...]]     - boot application image stored in memory           passing arguments 'arg ...'; when booting a Linux kernel,           'arg' can be the address of an initrd image bootm命令可以引导启动存储在内存中的程序映像。这些内存包括RAM和可以永久保存的Flash。 第1个参数addr是程序映像的地址,这个程序映像必须转换成U-Boot的格式。 第2个参数对于引导Linux内核有用,通常作为U-Boot格式的RAMDISK映像存储地址;也可以是传递给Linux内核的参数(缺省情况下传递bootargs环境变量给内核)。 dKNLinux联盟
2、bootp bootp [loadAddress] [bootfilename] bootp命令通过bootp请求,要求DHCP服务器分配IP地址,然后通过TFTP协议下载指定的文件到内存。 第1个参数是下载文件存放的内存地址。 第2个参数是要下载的文件名称,这个文件应该在开发主机上准备好。   3、cmp cmp [.b, .w, .l] addr1 addr2 count      - compare memory cmp命令可以比较2块内存中的内容。.b以......

阅读全文(3665) | 评论:0

JFFS2 文件系统及新特性介绍(2008-07-17 11:54:00)

摘要: 本文转自http://www-128.ibm.com/developerworks/cn/linux/l-jffs2/ 如有侵权,请告知,将立即删除。   JFFS2 文件系统及新特性介绍    未显示需要 JavaScript 的文档选项
级别: 初级 生 赵复 (forrest.zhao@intel.com), 软件工程师,开源技术中心(OTC), Intel(China) Software Center
2005 年 12 月 22 日 JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。这篇文章首先分析了在闪存上使用 JFFS2 的必要性,然后详细的阐述了 JFFS2 实现的内部机制,包括日志结构的文件系统,关键的数据结构,挂载过程和垃圾收集机制。同时也指出了 JFFS2 的局限性,并介绍了最新的针对 JFFS2 的不足进行改进的补丁程序。最后对 JFFS3 的设计思想和现在的开发状况给予了简单的介绍。 1. 为什么需要 JFFS2 这一小节首先介绍了闪存相对于磁盘介质的特别之处,然后分析了将磁盘文件系统运行在闪存上的不足,同时也给出了我们使用 JFFS2 的理由。 1.1 闪存(Flash Memory) 的特性和限制 这里所介绍的闪存的特性和限制都是从上层的文件系统的角度来看的,而不会涉及到具体的物理特性。总的来说,有两种类型的 flash memory: NOR flash 和 NAND flash. 先介绍一下这两种闪存所具有的共同特性。 A) 闪存的最小寻址单位是字节(byte),而不是磁盘上的扇区(sector)。这意味着我们可以从一块闪存的任意偏移(offset)读数据,但并不表明对闪存写操作也是以字节为单位进行的。我们会在下面的阐述中找到答案。 B) 当一块闪存处在干净的状态时(被擦写过,但是还没有写操作发生),在这块flash上的每一位(bit)都是逻辑1。 C) 闪存上的每一位(bit)可以被写操作置成逻辑0。 可是把逻辑 0 置成逻辑 1......

阅读全文(1710) | 评论:0