﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Welcome to ErranLi's Blog!-随笔分类-linux</title><link>http://www.cppblog.com/erran/category/14072.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Aug 2012 17:31:20 GMT</lastBuildDate><pubDate>Tue, 14 Aug 2012 17:31:20 GMT</pubDate><ttl>60</ttl><item><title>u-boot 编译</title><link>http://www.cppblog.com/erran/archive/2012/05/04/173638.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Fri, 04 May 2012 02:08:00 GMT</pubDate><guid>http://www.cppblog.com/erran/archive/2012/05/04/173638.html</guid><wfw:comment>http://www.cppblog.com/erran/comments/173638.html</wfw:comment><comments>http://www.cppblog.com/erran/archive/2012/05/04/173638.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/erran/comments/commentRss/173638.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/erran/services/trackbacks/173638.html</trackback:ping><description><![CDATA[3.设置环境变量<br />
export PATH=$PATH:/opt/CodeSourcery/Sourcery_G++_Lite/bin<br />
<br />
4.清除、重新编译:要注意的是，必须把解压后的源代码拷贝到linux分区进行编译，否则会报错<br />
make distclean CROSS_COMPILE=arm-none-linux-gnueabi-<br />
make da850_omapl138_evm_config CROSS_COMPILE=arm-none-linux-gnueabi-<br />
make all CROSS_COMPILE=arm-none-linux-gnueabi-<br />
<img src ="http://www.cppblog.com/erran/aggbug/173638.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/erran/" target="_blank">erran</a> 2012-05-04 10:08 <a href="http://www.cppblog.com/erran/archive/2012/05/04/173638.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ln: 创建符号链接 “asm”: 不支持的操作</title><link>http://www.cppblog.com/erran/archive/2012/05/04/173637.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Fri, 04 May 2012 02:06:00 GMT</pubDate><guid>http://www.cppblog.com/erran/archive/2012/05/04/173637.html</guid><wfw:comment>http://www.cppblog.com/erran/comments/173637.html</wfw:comment><comments>http://www.cppblog.com/erran/archive/2012/05/04/173637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/erran/comments/commentRss/173637.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/erran/services/trackbacks/173637.html</trackback:ping><description><![CDATA[ln: 创建符号链接 &#8220;asm&#8221;: 不支持的操作<br />
&nbsp;<br />
显示ln: 创建符号链接 &#8220;asm&#8221;: 不支持的操作<br />
<br />
原因是：在Windows分区使用此命令，Windows分区不支持linux上的链接！
<img src ="http://www.cppblog.com/erran/aggbug/173637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/erran/" target="_blank">erran</a> 2012-05-04 10:06 <a href="http://www.cppblog.com/erran/archive/2012/05/04/173637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小的Linux系统制作过程详解</title><link>http://www.cppblog.com/erran/archive/2011/07/01/149900.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Fri, 01 Jul 2011 05:52:00 GMT</pubDate><guid>http://www.cppblog.com/erran/archive/2011/07/01/149900.html</guid><wfw:comment>http://www.cppblog.com/erran/comments/149900.html</wfw:comment><comments>http://www.cppblog.com/erran/archive/2011/07/01/149900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/erran/comments/commentRss/149900.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/erran/services/trackbacks/149900.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最小的Linux系统制作过程详解 收藏 创建时间：2009年11月23日(星期一) 晚上11:41 | 分类：未分类 | 字数：26056 | 发送到我的Qzone | 				document.write('另存为...');			另存为... | 打印 最小的Linux系统制作过程详解 收藏 一,什么是BabyLinux 二,为什么要做这样一个linux 三,什么人适合读这...&nbsp;&nbsp;<a href='http://www.cppblog.com/erran/archive/2011/07/01/149900.html'>阅读全文</a><img src ="http://www.cppblog.com/erran/aggbug/149900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/erran/" target="_blank">erran</a> 2011-07-01 13:52 <a href="http://www.cppblog.com/erran/archive/2011/07/01/149900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:学习Linux编程开发必读书籍</title><link>http://www.cppblog.com/erran/archive/2010/07/01/119105.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Thu, 01 Jul 2010 12:24:00 GMT</pubDate><guid>http://www.cppblog.com/erran/archive/2010/07/01/119105.html</guid><wfw:comment>http://www.cppblog.com/erran/comments/119105.html</wfw:comment><comments>http://www.cppblog.com/erran/archive/2010/07/01/119105.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/erran/comments/commentRss/119105.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/erran/services/trackbacks/119105.html</trackback:ping><description><![CDATA[
		<div class="tit">
				<font size="2">

（转）学习Linux编程开发必读书籍</font>
		</div>
		<div class="date">
				<font size="2">2010-06-25  15:07</font>
		</div>
		<div id="blog_text" class="cnt">
				<div class="article">
						<div class="resizeimg">
								<div class="resizeimg2">
										<div class="resizeimg3">
												<div class="resizeimg4">
														<p>
																<font size="2">假设你是计算机科班出身，计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过<br />
我想大概可以分为4个阶段，水平从低到高<br />
从安装使用=&gt;linux常用命令=&gt;linux系统编程=&gt;内核开发阅读内核源码<br />
其中学习linux常用命令时就要学会自己编译内核，优化系统，调整参数<br />
安装和常用命令书太多了，找本稍微详细点的就ok，其间需要学会正则表达式<br />
系统编程推荐《高级unix环境编程》，黑话叫APUE<br />
还有《unix网络编程》<br />
这时候大概还需要看资料理解elf文件格式，连接器和加载器，cmu的一本教材中文名为《深入理解计算机系统》比较好<br />
内核开发阅读内核源码阶段，从写驱动入手逐渐深入linux内核开发<br />
参考书如下《linux device drivers》，黑话叫ldd<br />
《linux kernel development》，黑话叫lkd<br />
《understading the linux kernel》，黑话叫utlk<br />
《linux源码情景分析》<br />
这四本书为搞内核的必读书籍<br />
最后，第三阶段和第四阶段最重动手，空言无益，光看书也不罩，不动手那些东西理解不了<br />
学习linux/unix编程方法的建议<br />
建议学习路径：<br />
首先先学学编辑器，vim, emacs什么的都行。<br />
然后学make file文件，只要知道一点就行，这样就可以准备编程序了。<br />
然后看看《C程序设计语言》K&amp;R，这样呢，基本上就可以进行一般的编程了，顺便找本数据结构的书来看。<br />
如果想学习UNIX/LINUX的编程，《APUE》绝对经典的教材，加深一下功底，学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。<br />
然后再看Douglus E.
Comer的《用TCP/IP进行网际互连》第一卷，学习一下网络的知识，再看《UNP》的第一卷，不仅学习网络编程，而且对系统编程的一些常用的技巧就
很熟悉了，如果继续网络编程，建议看《TCP/IP进行网际互连》的第三卷，里面有很多关于应用协议telnet、ftp等协议的编程。<br />
如果想写设备驱动程序，首先您的系统编程的接口比如文件、IPC等必须要熟知了，再学习《LDD》2。<br />
对于几本经典教材的评价：<br />
《The C Programing Language》K&amp;R
经典的C语言程序设计教材，作者是C语言的发明者，教材内容深入浅出。虽然有点老，但是必备的一本手册，现在有时候我还常翻翻。篇幅比较小，但是每看一
遍，就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。<br />
《Advanced Programing in Unix Envirement》 W.Richard
Stevens：也是非常经典的书（废话，Stevens的书哪有不经典的！），虽然初学者就可以看，但是事实上它是《Unix Network
Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样，现在有影印版，直接读英文比读中文来得容易。<br />
《Unix Network Programing》W.Richard Stevens：第一卷讲BSD
Socket网络编程接口和另外一种网络编程接口的，不过现在一般都用BSD
Socket，所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西，主要讲进程间通讯和Posix线程。所以看了《APUE》以后，就可以
看它了，基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后，您就会知道系统编程的绝大部分编程技巧，即使卷一是讲网络编
程的。国内是清华翻译得《Unix网络编程》，翻译者得功底也比较高，翻译地比较好。所以建议还是看中文版。<br />
《TCP/IP祥解》一共三卷，卷一讲协议，卷二讲实现，卷三讲编程应用。我没有怎么看过。，但是据说也很经典的，因为我没有时间看卷二，所以不便评价。<br />
《用TCP/IP进行网际互连》Douglus.E.Comer
一共三卷，卷一讲原理，卷二讲实现，卷三讲高级协议。感觉上这一套要比Stevens的那一套要好，就连Stevens也不得不承认它的第一卷非常经典。
事实上，第一卷即使你没有一点网络的知识，看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用，因为作者本身就是一位教师，
并且卷一是国外研究生的教材。习题并没有答案，留给读者思考，因为问题得答案可以让你成为一个中级的Hacker，这些问题的答案可以象Douglus索
取，不过只有他只给教师卷二我没有怎么看，卷三可以作为参考手册，其中地例子也很经典。如果您看过Qterm的源代码，就会知道Qterm的telnet
实现部分大多数就是从这本书的源代码过来的。对于网络原理的书，我推荐它，而不是Stevens的《TCP/IP祥解》。<br />
《Operating System - Design and
Implement》这个是讲操作系统的书，用Minix做的例子。作者母语不是英文，所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》，我
没看过中文版，因为翻译者是尤晋元，他翻译的《APUE》已经让我失望头顶了。读了这本书，对操作系统的底层怎么工作的就会<br />
有一个清晰的认识。<br />
《Linux Device Driver》2e
，为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱，如果您没有一些写驱动的经验，初次看会有些摸不着南北。国内翻译的是《Linux设备
驱动程序》第二版，第一版，第二版的译者我都有很深的接触，不过总体上来说，虽然第二版翻译的有些不尽人意，但是相比第一版来说已经超出了一大截。要读这
一本书，至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读，至少应该对硬件和计算机的工作过程有一些了解。</font>
														</p>
														<p>
																<font size="2">本文来自CSDN博客，转载请标明出处：<a target="_blank" href="http://student.csdn.net/link.php?url=http://blog.csdn.net%2Fwanxiao009%2Farchive%2F2009%2F11%2F13%2F4808778.aspx">http://blog.csdn.net/wanxiao009/archive/2009/11/13/4808778.aspx</a></font>
														</p>
												</div>
										</div>
								</div>
						</div>
				</div>
		</div>
<img src ="http://www.cppblog.com/erran/aggbug/119105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/erran/" target="_blank">erran</a> 2010-07-01 20:24 <a href="http://www.cppblog.com/erran/archive/2010/07/01/119105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> root默认密码忘记后的解决方法</title><link>http://www.cppblog.com/erran/archive/2010/06/17/118055.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Thu, 17 Jun 2010 02:40:00 GMT</pubDate><guid>http://www.cppblog.com/erran/archive/2010/06/17/118055.html</guid><wfw:comment>http://www.cppblog.com/erran/comments/118055.html</wfw:comment><comments>http://www.cppblog.com/erran/archive/2010/06/17/118055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/erran/comments/commentRss/118055.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/erran/services/trackbacks/118055.html</trackback:ping><description><![CDATA[
		<p style="TEXT-INDENT: 2em">
				<b>一. lilo引导</b>
		</p>
		<p style="TEXT-INDENT: 2em">1. 在出现 lilo: 提示时键入 linux single </p>
		<p style="TEXT-INDENT: 2em">Boot: linux single </p>
		<p style="TEXT-INDENT: 2em">2. 回车可直接进入linux单用户模式 </p>
		<p style="TEXT-INDENT: 2em">3. vi /etc/passwd </p>
		<p style="TEXT-INDENT: 2em">删除root项中的密码 </p>
		<p style="TEXT-INDENT: 2em">(这里也可以直接使用passwd命令重新设置root的密码) </p>
		<p style="TEXT-INDENT: 2em">4. reboot重启，root密码为空 </p>
		<p style="TEXT-INDENT: 2em">
				<b>二. grub引导</b>
		</p>
		<p style="TEXT-INDENT: 2em">1. 在出现grub画面时，选择linux引导项，然后按e键 </p>
		<p style="TEXT-INDENT: 2em">
				<span id="ad">2. 选择以kernel开头的一行，再按e 键，在此行的末尾，按空格键后输入single，以回车键来退出<a class="vLink9999" id="vad_3" onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout(hideTO);showTitle(event, this, 3,'');}" title="" style="FONT-SIZE: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" href="http://action.utops.cc/click.jsp?adsId=412&amp;adsLeagueId=5&amp;adsUserId=1&amp;siteId=657&amp;siteLeagueId=5&amp;siteUserId=564&amp;scId=2&amp;adsType=98&amp;prices=1.51&amp;checkCode=d2bdf13ee9d8c17e047efcdff7d7a4c9_222.73.161.245&amp;click=1&amp;url=http%3A//www.foho.cc/totole/index.html&amp;v=0&amp;keyword=%u7F16%u8F91&amp;s=http%3A//www.linuxidc.com/Linux/2007-03/2789.htm&amp;rn=604818---2010-6-17-10:27:26" target="_blank">编辑</a>模式； </span>
		</p>
		<p style="TEXT-INDENT: 2em">
				<span id="ad">3. 回车返回，然后按b键<a class="vLink9999" id="vad_2" onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout(hideTO);showTitle(event, this, 2,'');}" title="%u9E21%u7CBE%u5347%u7EA7%u7248 @utops.cc" style="FONT-SIZE: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" href="http://action.utops.cc/click.jsp?adsId=426&amp;adsLeagueId=5&amp;adsUserId=1&amp;siteId=657&amp;siteLeagueId=5&amp;siteUserId=564&amp;scId=2&amp;adsType=98&amp;prices=1.51&amp;checkCode=4028d89b967eab8c643fd3ec95287239_222.73.161.245&amp;click=1&amp;url=http%3A//www.totole.com.cn&amp;v=0&amp;keyword=%u542F%u52A8&amp;s=http%3A//www.linuxidc.com/Linux/2007-03/2789.htm&amp;rn=682334---2010-6-17-10:27:26" target="_blank">启动</a>，即可直接进入linux单用户模式 </span>
		</p>
		<p style="TEXT-INDENT: 2em">4. vi /etc/passwd </p>
		<p style="TEXT-INDENT: 2em">删除root项中的密码 </p>
		<p style="TEXT-INDENT: 2em">(这里也可以直接使用passwd命令重新设置root的密码) </p>
		<p style="TEXT-INDENT: 2em">5、reboot重启，root密码为空 </p>
		<p style="TEXT-INDENT: 2em">
				<b>三、可以使用linux启动软盘引导</b>
		</p>
		<p style="TEXT-INDENT: 2em">出现boot后，输入linux single </p>
		<p style="TEXT-INDENT: 2em">可进入单用户模式； </p>
		<p style="TEXT-INDENT: 2em">修改或删除root密码；<br /></p>
		<p style="TEXT-INDENT: 2em">
				<b>四、使用Linux 系统安装盘 </b>
		</p>
		<p style="TEXT-INDENT: 2em">
				<span id="ad">如果你既没做系统启动软盘，同时多系统的引导LILO 和GRUB 又被删除，那么只能<a class="vLink9999" id="vad_0" onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout(hideTO);showTitle(event, this, 0,'');}" title="%u9C9C%u8D1D%u9732 @utops.cc" style="FONT-SIZE: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" href="http://action.utops.cc/click.jsp?adsId=428&amp;adsLeagueId=5&amp;adsUserId=1&amp;siteId=657&amp;siteLeagueId=5&amp;siteUserId=564&amp;scId=2&amp;adsType=98&amp;prices=1.51&amp;checkCode=9d06b3d8ec57221f7c3a81014b765b3b_222.73.161.245&amp;click=1&amp;url=http%3A//www.totole.com.cn&amp;v=0&amp;keyword=%u4F7F%u7528&amp;s=http%3A//www.linuxidc.com/Linux/2007-03/2789p2.htm&amp;rn=994363---2010-6-17-10:38:9" target="_blank">使用</a>Linux 系统安装盘来恢复root的密码。 </span>
		</p>
		<p style="TEXT-INDENT: 2em">用第一张Linux 系统安装盘启动，出现boot 提示符后输入： </p>
		<p style="TEXT-INDENT: 2em">oot: linux rescue </p>
		<p style="TEXT-INDENT: 2em">此时系统进入救援模式，然后根据提示完成： </p>
		<p style="TEXT-INDENT: 2em">1.选择语言和键盘格式； </p>
		<p style="TEXT-INDENT: 2em">2.选择是否配置网卡，一般系统因网络不需要，所以可以选择否跳过网卡配置； </p>
		<p style="TEXT-INDENT: 2em">3.选择是否让系统查找硬盘上的<a title="RedHat" href="http://www.linuxidc.com/topicnews.aspx?tid=10">RedHat</a> Linux 系统，选择继续； </p>
		<p style="TEXT-INDENT: 2em">4.系统显示硬盘上的系统已经被找到，并挂载在/mnt/sysimage 下； </p>
		<p style="TEXT-INDENT: 2em">5.进入拯救状态，可重新设置root 的密码： </p>
		<p style="TEXT-INDENT: 2em"># chroot/mnt/sysimage (让系统成为根环境) </p>
		<p style="TEXT-INDENT: 2em"># cd /mnt/sysimage </p>
		<p style="TEXT-INDENT: 2em"># passwd root </p>
		<p style="TEXT-INDENT: 2em">
				<b>五、卸下硬盘挂到别的机器上更改</b>
		</p>
		<p style="TEXT-INDENT: 2em">如果不怕麻烦的话，还可以把安装linux的硬盘卸下后挂到其他系统环境下同样是去修改/etc/passwd文件，修改过后保存即可； </p>
		<p style="TEXT-INDENT: 2em">注： </p>
		<p style="TEXT-INDENT: 2em">1、在不同的linux系统下输入single的方式和方法可能有区别，希望能自己去尝试； </p>
		<p style="TEXT-INDENT: 2em">2、除了需要修改/etc/passwd文件外，可能也需要修改/etc/shadow文件，这是/etc/passwd密码文件的投影文件。</p>
<img src ="http://www.cppblog.com/erran/aggbug/118055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/erran/" target="_blank">erran</a> 2010-06-17 10:40 <a href="http://www.cppblog.com/erran/archive/2010/06/17/118055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>