<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11289548</id><updated>2023-10-14T17:27:48.116+08:00</updated><title type='text'>Enjoy Linux, yet another niche!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>W.H.Q</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='16' src='http://static.flickr.com/32/53613926_4f3521e5fd.jpg?v=0'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11289548.post-115522710188304259</id><published>2006-08-11T00:21:00.000+08:00</published><updated>2006-08-11T00:25:02.556+08:00</updated><title type='text'>Support promiscuous mode in AODV</title><content type='html'>To add promiscuous mode to AODV, just do the following:&lt;br /&gt;1. &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;ns-mobilenode.tcl&lt;/span&gt; :    &lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;    # Special processing for AODV&lt;/span&gt;&lt;br /&gt;   &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt; set aodvonly [string first &quot;AODV&quot; [$agent info class]] &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;    if {$aodvonly != -1 } {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;        $agent if-queue [$self set ifq_(0)]   ;# ifq between LL and MAC&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;        $agent install-tap [$self set mac_(0)] ;# add this to install tap for AODV&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;2. &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;aodv.h&lt;/span&gt;:&lt;br /&gt;    &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;class AODV:public Tap, public Agent {...};&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;and overload virtual function tap(const Packet *packet)&lt;br /&gt;&lt;br /&gt;3. &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;aodv.cc&lt;/span&gt;&lt;br /&gt;     &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt; else if(argc == 3) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;        ....&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;    else if (strcasecmp(argv[1], &quot;install-tap&quot;) == 0)   // install tap for AODV&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;      mac_ = (Mac*) TclObject::lookup(argv[2]);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;      mac_-&gt;installTap(this);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;      return TCL_OK;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;finally, implement tap function in aodv is ok.&lt;br /&gt;&lt;br /&gt;I&#39;ve tested it in aodv (ns2.26).</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/115522710188304259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=115522710188304259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115522710188304259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115522710188304259'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2006/08/support-promiscuous-mode-in-aodv.html' title='Support promiscuous mode in AODV'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-115338230338134612</id><published>2006-07-20T15:54:00.000+08:00</published><updated>2006-07-20T15:58:23.810+08:00</updated><title type='text'>Troubleshooting for updating from Breeze (Ubuntu 5.04) to Dapper (Ubuntu 6.06)</title><content type='html'>After apt-get dist-upgrade, wireless card sucks. It appears work but fails to connect with AP. Finally got a clue from &lt;a href=&quot;http://www.ubuntuforums.org/showthread.php?t=150627&quot;&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;strong style=&quot;color: rgb(51, 204, 0);&quot;&gt;Re: breezy - dapper upgrade broke wireless&lt;/strong&gt;                           &lt;hr style=&quot;color: rgb(51, 204, 0);&quot; size=&quot;1&quot;&gt;    &lt;!-- / icon and title --&gt;         &lt;!-- message --&gt;   &lt;div style=&quot;color: rgb(51, 204, 0);&quot; class=&quot;ubuntu_messagebody id=&quot; post_message_1009971=&quot;&quot;&gt;I had the same problem with my lucent wlan card. The problem was, that additionally to orinoco the module hostap was loaded.&lt;br /&gt;&lt;br /&gt;I got my card working with blacklisting the hostap driver (Is AFAIK only needed if you want to emulate an AP with your prism 2 wlan card.):&lt;br /&gt;&lt;br /&gt;To blacklist hostap add the two lines:&lt;br /&gt;&lt;br /&gt;blacklist hostap&lt;br /&gt;blacklist hostap_cs&lt;br /&gt;&lt;br /&gt;to /etc/modprobe.d/blacklist&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Now wifi works fine, cheers!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/115338230338134612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=115338230338134612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115338230338134612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115338230338134612'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2006/07/troubleshooting-for-updating-from.html' title='Troubleshooting for updating from Breeze (Ubuntu 5.04) to Dapper (Ubuntu 6.06)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-115140724781318129</id><published>2006-06-27T18:46:00.000+08:00</published><updated>2007-03-25T08:27:17.316+08:00</updated><title type='text'>Extend ns2 to support multi-channle multi-interface for wireless networks</title><content type='html'>Inspired from &lt;a href=&quot;http://www.ecsl.cs.sunysb.edu/multichannel/&quot; target=&quot;_blank&quot;&gt;Hyacinth: An IEEE 802.11-based Multi-channel Wireless Mesh Network&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The following modifications can be applied to ns-2.26. It should be applicable to 2.1b8a and 2.1b9 as well, but &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;NOT&lt;/span&gt; to 2.28 and later version as I observed there is modification to the low level config of wireless channels in both tcl and c++ and I haven&#39;t figured it out.&lt;br /&gt;&lt;br /&gt;At least following files should be modified:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot; &gt;tcl/lib/&lt;/span&gt;&lt;span style=&quot;color:darkred;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-weight: bold;&quot;&gt;ns-lib.tcl&lt;/span&gt; &lt;/span&gt;: Add multiple interfaces&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### BEGIN ###########################&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc phyType  {val} { $self set phyType_  $val }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc antType  {val} { $self set antType_  $val }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc channel {val} {$self set channel_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;#WHQ IMWN: &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;Simulator instproc channel2 {val} {$self set channel2_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;Simulator instproc channel3 {val} {$self set channel3_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;Simulator instproc channel4 {val} {$self set channel4_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;Simulator instproc channel5 {val} {$self set channel5_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;#WHQ IMWN: &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc channelType {val} {$self set channelType_ $val}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc topoInstance {val} {$self set topoInstance_ $val}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc node-config args {&lt;br /&gt;$self instvar addressType_  routingAgent_ propType_  macTrace_   routerTrace_ agentTrace_ movementTrace_ channelType_ channel_ &lt;span style=&quot;color: rgb(102, 51, 102);&quot;&gt;channel2_ channel3_ channel4_ channel5_&lt;/span&gt;  chan &lt;span style=&quot;color: rgb(102, 51, 102);&quot;&gt;chan2 chan3 chan4 chan5&lt;/span&gt; topoInstance_ propInstance_ mobileIP_ rxPower_  txPower_ idlePower_ satNodeType_ eotTrace_&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;elseif {[info exists channel_]} {&lt;br /&gt;     # Multiple channel, multiple interfaces&lt;br /&gt;     set chan $channel_&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;if{[info exists &lt;span style=&quot;color:purple;&quot;&gt;channel2_&lt;/span&gt;]} {&lt;br /&gt;set chan2 &lt;span style=&quot;color:purple;&quot;&gt;$channel2_&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;if{[info exists &lt;span style=&quot;color:purple;&quot;&gt;channel3_&lt;/span&gt;]} {&lt;br /&gt;set chan2 &lt;span style=&quot;color:purple;&quot;&gt;$channel3_&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;if{[info exists &lt;span style=&quot;color:purple;&quot;&gt;channel4_&lt;/span&gt;]} {&lt;br /&gt;set chan2 &lt;span style=&quot;color:purple;&quot;&gt;$channel4_&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;if{[info exists &lt;span style=&quot;color:purple;&quot;&gt;channel5_&lt;/span&gt;]} {&lt;br /&gt;set chan2 &lt;span style=&quot;color:purple;&quot;&gt;$channel5_&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;..&lt;/span&gt; .&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Simulator instproc create-wireless-node args {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;$self instvar routingAgent_ wiredRouting_ propInstance_ llType_&lt;/span&gt; \&lt;/span&gt;&lt;br /&gt;    macType_ ifqType_ ifqlen_ phyType_ chan &lt;span style=&quot;color:purple;&quot;&gt;chan2 chan3 chan4 chan5&lt;/span&gt; antType_ energyModel_     inic_tialEnergy_ txPower_ rxPower_ idlePower_     topoInstance_ level1_ level2_ inerrProc_ outerrProc_ FECProc_&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;...&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;# Add main node interface&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;$node add-interface $chan $propInstance_ $llType_ $macType_ \&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;            $ifqType_ $ifqlen_ $phyType_ $antType_ \&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;            $inerrProc_ $outerrProc_ $FECProc_&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;$node add-interface &lt;span style=&quot;color:purple;&quot;&gt;$chan2&lt;/span&gt; $propInstance_ $llType_ $macType_         $ifqType_ $ifqlen_ $phyType_ $antType_         $inerrProc_ $outerrProc_ $FECProc_&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;$node add-interface &lt;span style=&quot;color:purple;&quot;&gt;$chan3&lt;/span&gt; $propInstance_ $llType_ $macType_         $ifqType_ $ifqlen_ $phyType_ $antType_         $inerrProc_ $outerrProc_ $FECProc_&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;$node add-interface &lt;span style=&quot;color:purple;&quot;&gt;$chan4&lt;/span&gt; $propInstance_ $llType_ $macType_         $ifqType_ $ifqlen_ $phyType_ $antType_         $inerrProc_ $outerrProc_ $FECProc_&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;$node add-interface &lt;span style=&quot;color:purple;&quot;&gt;$chan4&lt;/span&gt; $propInstance_ $llType_ $macType_         $ifqType_ $ifqlen_ $phyType_ $antType_         $inerrProc_ $outerrProc_ $FECProc_&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### END ###########################&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;tcl/lib/ns-mobilenode.tcl&lt;/span&gt;: set up hooks with trace objects&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### BEGIN ###########################&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;Node/MobileNode instproc add-target-rtagent { agent port } {&lt;br /&gt;$self instvar imep_ toraDebug_&lt;br /&gt;&lt;br /&gt;set ns [Simulator instance]&lt;br /&gt;set newapi [$ns imep-support]&lt;br /&gt;set namfp [$ns get-nam-traceall]&lt;br /&gt;&lt;br /&gt;set dmux_ [$self demux]&lt;br /&gt;set classifier_ [$self entry]&lt;br /&gt;&lt;br /&gt;# let the routing agent know about the port dmux&lt;br /&gt;$agent port-dmux $dmux_&lt;br /&gt;&lt;br /&gt;if { [Simulator set RouterTrace_] == &quot;ON&quot; } {&lt;br /&gt;#&lt;br /&gt;# Send Target&lt;br /&gt;#&lt;br /&gt;if {$newapi != &quot;&quot;} {&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#set sndT [$self mobility-trace Send &quot;RTR&quot;]&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT1 [$self mobility-trace Send &quot;RTR&quot;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT2 [$self mobility-trace Send &quot;RTR&quot;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT3 [$self mobility-trace Send &quot;RTR&quot;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT4 [$self mobility-trace Send &quot;RTR&quot;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT5 [$self mobility-trace Send &quot;RTR&quot;]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;} else {&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#set sndT [cmu-trace Send &quot;RTR&quot; $self]&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT1 [cmu-trace Send &quot;RTR&quot; $self]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT2 [cmu-trace Send &quot;RTR&quot; $self]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT3 [cmu-trace Send &quot;RTR&quot; $self]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT4 [cmu-trace Send &quot;RTR&quot; $self]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;set sndT5 [cmu-trace Send &quot;RTR&quot; $self&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;if { $namfp != &quot;&quot; } {&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#$sndT namattach $namfp&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT1 namattach $namfp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT2 namattach $namfp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT3 namattach $namfp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT4 namattach $namfp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT5 namattach $namfp&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;if { $newapi == &quot;ON&quot; } {&lt;br /&gt;$agent target $imep_(0)&lt;br /&gt;$imep_(0) sendtarget $sndT&lt;br /&gt;# second tracer to see the actual&lt;br /&gt;# types of tora packets before imep packs them&lt;br /&gt;if { [info exists toraDebug_] &amp;&amp;amp; $toraDebug_ == &quot;ON&quot;} {&lt;br /&gt;set sndT2 [$self mobility-trace Send &quot;TRP&quot;]&lt;br /&gt;$sndT2 target $imep_(0)&lt;br /&gt;$agent target $sndT2&lt;br /&gt;}&lt;br /&gt;} else {  ;#  no IMEP&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#$agent target $sndT&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-1 $sndT1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-2 $sndT2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-3 $sndT3&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-4 $sndT4&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-5 $sndT5&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#$sndT target [$self set ll_(0)]&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT1 target [$self set ll_(0)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT2 target [$self set ll_(1)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT3 target [$self set ll_(2)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT4 target [$self set ll_(3)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$sndT5 target [$self set ll_(4)]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;#&lt;br /&gt;# Recv Target&lt;br /&gt;#&lt;br /&gt;if {$newapi != &quot;&quot;} {&lt;br /&gt;set rcvT [$self mobility-trace Recv &quot;RTR&quot;]&lt;br /&gt;} else {&lt;br /&gt;set rcvT [cmu-trace Recv &quot;RTR&quot; $self]&lt;br /&gt;}&lt;br /&gt;if { $namfp != &quot;&quot; } {&lt;br /&gt;$rcvT namattach $namfp&lt;br /&gt;}&lt;br /&gt;if {$newapi == &quot;ON&quot; } {&lt;br /&gt;[$self set ll_(0)] up-target $imep_(0)&lt;br /&gt;$classifier_ defaulttarget $agent&lt;br /&gt;# need a second tracer to see the actual&lt;br /&gt;# types of tora packets after imep unpacks them&lt;br /&gt;# no need to support any hier node&lt;br /&gt;if {[info exists toraDebug_] &amp;&amp;amp; $toraDebug_ == &quot;ON&quot; } {&lt;br /&gt;set rcvT2 [$self mobility-trace Recv &quot;TRP&quot;]&lt;br /&gt;$rcvT2 target $agent&lt;br /&gt;$classifier_ defaulttarget $rcvT2&lt;br /&gt;}&lt;br /&gt;} else {&lt;br /&gt;$rcvT target $agent&lt;br /&gt;$classifier_ defaulttarget $rcvT&lt;br /&gt;$dmux_ install $port $rcvT&lt;br /&gt;}&lt;br /&gt;} else {&lt;br /&gt;#&lt;br /&gt;# Send Target&lt;br /&gt;#&lt;br /&gt;# if tora is used&lt;br /&gt;if { $newapi == &quot;ON&quot; } {&lt;br /&gt;$agent target $imep_(0)&lt;br /&gt;# second tracer to see the actual&lt;br /&gt;# types of tora packets before imep packs them&lt;br /&gt;if { [info exists toraDebug_] &amp;&amp;amp; $toraDebug_ == &quot;ON&quot;} {&lt;br /&gt;set sndT2 [$self mobility-trace Send &quot;TRP&quot;]&lt;br /&gt;$sndT2 target $imep_(0)&lt;br /&gt;$agent target $sndT2&lt;br /&gt;}&lt;br /&gt;$imep_(0) sendtarget [$self set ll_(0)]&lt;br /&gt;&lt;br /&gt;} else {  ;#  no IMEP&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;#$agent target [$self set ll_(0)]&lt;br /&gt;#puts &quot;Adding 5 targets to routing agent!\n&quot;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-1 [$self set ll_(0)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-2 [$self set ll_(1)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-3 [$self set ll_(2)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-4 [$self set ll_(3)]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;$agent down-target-5 [$self set ll_(4)]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;#Add &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;multiple interface support&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color:red;&quot;&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;#&lt;br /&gt;# Recv Target&lt;br /&gt;#&lt;br /&gt;if {$newapi == &quot;ON&quot; } {&lt;br /&gt;[$self set ll_(0)] up-target $imep_(0)&lt;br /&gt;$classifier_ defaulttarget $agent&lt;br /&gt;# need a second tracer to see the actual&lt;br /&gt;# types of tora packets after imep unpacks them&lt;br /&gt;# no need to support any hier node&lt;br /&gt;if {[info exists toraDebug_] &amp;&amp;amp; $toraDebug_ == &quot;ON&quot; } {&lt;br /&gt;set rcvT2 [$self mobility-trace Recv &quot;TRP&quot;]&lt;br /&gt;$rcvT2 target $agent&lt;br /&gt;[$self set classifier_] defaulttarget $rcvT2&lt;br /&gt;}&lt;br /&gt;} else {&lt;br /&gt;$classifier_ defaulttarget $agent&lt;br /&gt;$dmux_ install $port $agent&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### END ###########################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then in routing protocol or whereever the packet will be sent to different NIC,  define  coresponding downtarget for each interface to send out packet like (in header file):&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;NsObject *downtarget1_;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;NsObject *downtarget2_;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;NsObject *downtarget3_;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;NsObject *downtarget4_;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;NsObject *downtarget5_;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;Then get the corresponding objects from Tcl from &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;command(int argc, const char*const* argv),  &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;for example in AODV:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-weight: bold;&quot;&gt;aodv/aodv.cc&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### BEGIN ###########################&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;int&lt;br /&gt;AODV::command(int argc, const char*const* argv) {&lt;br /&gt;if(argc == 2) {&lt;br /&gt;Tcl&amp; tcl = Tcl::instance();&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;else if(argc == 3) {&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;// &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;multi-channel support&lt;/span&gt;&lt;br /&gt;       else if (strcasecmp (argv[1], &quot;down-target-1&quot;) == 0) {&lt;br /&gt;           downtarget1_ = (NsObject *) TclObject::lookup(argv[2]);&lt;br /&gt;           return TCL_OK;&lt;br /&gt;       }&lt;br /&gt;       else if (strcasecmp (argv[1], &quot;down-target-2&quot;) == 0) {&lt;br /&gt;           downtarget2_ = (NsObject *) TclObject::lookup(argv[2]);&lt;br /&gt;           return TCL_OK;&lt;br /&gt;       }&lt;br /&gt;       else if (strcasecmp (argv[1], &quot;down-target-3&quot;) == 0) {&lt;br /&gt;           downtarget3_ = (NsObject *) TclObject::lookup(argv[2]);&lt;br /&gt;           return TCL_OK;&lt;br /&gt;       }&lt;br /&gt;       else if (strcasecmp (argv[1], &quot;down-target-4&quot;) == 0) {&lt;br /&gt;           downtarget4_ = (NsObject *) TclObject::lookup(argv[2]);&lt;br /&gt;           return TCL_OK;&lt;br /&gt;       }&lt;br /&gt;       else if (strcasecmp (argv[1], &quot;down-target-5&quot;) == 0) {&lt;br /&gt;           downtarget5_ = (NsObject *) TclObject::lookup(argv[2]);&lt;br /&gt;           return TCL_OK;&lt;br /&gt;       }&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### END ###########################&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;When send out the packet to different interface, just call one of them:&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt; downtarget1_-&gt;recv(p, (Handler *)0);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt; downtarget2_-&gt;recv(p, (Handler *)0);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt; downtarget3_-&gt;recv(p, (Handler *)0);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt; downtarget4_-&gt;recv(p, (Handler *)0);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt; downtarget5_-&gt;recv(p, (Handler *)0);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, in the &lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;running script&lt;/span&gt;,  configure each node with multiple interface and channel-assign-to-interface:&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### BEGIN ###########################&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;...&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;#Creating Channel&lt;/span&gt;&lt;br /&gt;set chan_0_ [new $val(chan)]&lt;br /&gt;set chan_1_ [new $val(chan)]&lt;br /&gt;set chan_2_ [new $val(chan)]&lt;br /&gt;set chan_3_ [new $val(chan)]&lt;br /&gt;set chan_4_ [new $val(chan)]&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;$ns_ node-config -channel $chan_3_ &lt;span style=&quot;color:purple;&quot;&gt;-channel2&lt;/span&gt; $chan_11_ &lt;span style=&quot;color:purple;&quot;&gt;-channel3&lt;/span&gt; $chan_12_ &lt;span style=&quot;color:purple;&quot;&gt;-channel4&lt;/span&gt; $chan_12_ &lt;span style=&quot;color:purple;&quot;&gt;-channel5&lt;/span&gt; $chan_12_&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;################################### END ###########################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you use &lt;span style=&quot;font-style: italic;&quot;&gt;802.11 DCF MAC&lt;/span&gt;, following changes are necessary to avoid error:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;mac/mac-802_11.cc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#include &quot;arp.h&quot;&lt;br /&gt;#include &quot;ll.h&quot;&lt;br /&gt;#include &quot;mac.h&quot;&lt;br /&gt;#include &quot;mac-timers.h&quot;&lt;br /&gt;#include &quot;mac-802_11.h&quot;&lt;br /&gt;#include &quot;cmu-trace.h&quot;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;multi-interface support&lt;br /&gt;*/&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;#define NUM_NICS    5&lt;br /&gt;&lt;br /&gt;&lt;span dragover=&quot;true&quot; style=&quot;color: rgb(0, 153, 0);&quot;&gt;...&lt;br /&gt;&lt;br /&gt;int&lt;br /&gt;Mac802_11::command(int argc, const char*const* argv)&lt;br /&gt;{&lt;br /&gt; if (argc == 3) {&lt;br /&gt;     if (strcmp(argv[1], &quot;log-target&quot;) == 0) {&lt;br /&gt;         logtarget_ = (NsObject*) TclObject::lookup(argv[2]);&lt;br /&gt;         if(logtarget_ == 0)&lt;br /&gt;             return TCL_ERROR;&lt;br /&gt;         return TCL_OK;&lt;br /&gt;     } else if(strcmp(argv[1], &quot;nodes&quot;) == 0) {&lt;br /&gt;         if(cache_) return TCL_ERROR;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;/* multiple interface support&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;            cache_node_count_ = atoi(argv[2]);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt; */&lt;/span&gt;&lt;br /&gt;       &lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;  cache_node_count_ = atoi(argv[2]) * NUM_NICS;&lt;/span&gt;&lt;br /&gt;         cache_ = new Host[cache_node_count_ + 1];&lt;br /&gt;         assert(cache_);&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;void&lt;br /&gt;Mac802_11::recv_timer()&lt;br /&gt;{&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;/* multiple interface support&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;//    if(dst != (u_int32_t)index_) {&lt;/span&gt;&lt;br /&gt;  &lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;if((dst/NUM_NICS) != (u_int32_t)(index_/NUM_NICS)) {&lt;/span&gt;&lt;br /&gt;      set_nav(mh-&gt;dh_duration);&lt;br /&gt;  }&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:darkred;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/115140724781318129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=115140724781318129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115140724781318129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/115140724781318129'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2006/06/extend-ns2-to-support-multi-channle.html' title='Extend ns2 to support multi-channle multi-interface for wireless networks'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-113584784229607149</id><published>2005-12-30T01:15:00.000+08:00</published><updated>2007-02-27T06:30:26.853+08:00</updated><title type='text'>install ns2.26 in Ubuntu</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;Objective: install ns-allinone-2.26 in Ubuntu 5.10 Breezy&lt;br xmlns=&quot;http://www.w3.org/1999/xhtml&quot;/&gt;Software needed: gcc-3.3, g++-3.3 (ns2.26 cannot be compiled with gcc &amp;gt;= 4.0), build-essential, autoconf, automaken, libxt-dev(tk need it), libxmu-dev(nam need it)&lt;br/&gt;To do:&lt;br/&gt;1. &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;apt-get install build-essential&lt;/span&gt;&lt;br/&gt;2. &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;apt-get install gcc-3.3 g++-3.3 autoconf automake-1.9 libxt-dev&lt;/span&gt;&lt;br/&gt;3. go to /usr/bin, del softlink to &lt;span style=&quot;color: rgb(51, 255, 51);&quot;&gt;gcc&lt;/span&gt;, &lt;span style=&quot;color: rgb(51, 255, 51);&quot;&gt;g++&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br/&gt;4. &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;ln -s gcc-3.3 gcc&lt;/span&gt;&lt;br/&gt;5. &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;ln -s g++-3.3 g++&lt;/span&gt;&lt;br/&gt;6. vi .bash_profile and add:&lt;br/&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;export CC=gcc-3.3&lt;br/&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;export CXX=g++-3.3&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;That&#39;s all. Then compile ns as instruction.&lt;/span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/113584784229607149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=113584784229607149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/113584784229607149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/113584784229607149'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/12/install-ns226-in-ubuntu.html' title='install ns2.26 in Ubuntu'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112969996571911049</id><published>2005-10-19T21:31:00.000+08:00</published><updated>2005-10-19T13:35:11.900+08:00</updated><title type='text'>Post blog from writely</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;Just read an article &quot;&lt;a href=&quot;http://www.xyzcomputing.com/index.php?option=content&amp;amp;task=view&amp;amp;id=453&amp;amp;Itemid=26&amp;amp;limit=1&amp;amp;limitstart=0&quot; target=&quot;blank_&quot; title=&quot;flyover test&quot;&gt;Interview with Tony Bove, Author of Just Say No to Microsoft&lt;/a&gt; &lt;span id=&quot;KonaBody&quot;&gt;&lt;font size=&quot;3&quot; style=&quot;COLOR: #cc6600; FONT-STYLE: italic&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;/&gt;&lt;/font&gt;&quot;. Tony thinks Ajax-based web applications will prevail in the next few years. &lt;/span&gt;&lt;a href=&quot;http://www.writely.com&quot; target=&quot;blank_&quot; title=&quot;Writely&quot;&gt;Writely&lt;/a&gt; is mentioned as an example. So I just give it a try. I use it to edit this blog and post it with a click. So let&#39;s check it out.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112969996571911049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112969996571911049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112969996571911049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112969996571911049'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/post-blog-from-writely.html' title='Post blog from writely'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112960632119441856</id><published>2005-10-18T11:17:00.000+08:00</published><updated>2005-10-18T11:35:04.206+08:00</updated><title type='text'>Chinese display in Ubuntu 5.10 Breezy</title><content type='html'>Since utf-8 is adopted by Ubuntu by default, several popular softwares I use are impacted that cannot decide the encoding of Chinese characters. However, these softwares already build in support for configurable encoding.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(153, 0, 0);&quot;&gt;XMMS&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;option-&gt;preferences-&gt;Audio I/O plugins-&gt;MPEG layer 1/2/3..-&gt;configure-&gt;Title:&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;tick &lt;/span&gt;Override default ID3V2 encoding, &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;encoding name:&lt;/span&gt; GBK&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;vim&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;code class=&quot;example&quot;&gt;set encoding=utf-8&lt;br /&gt;set fileencoding=GBK&lt;br /&gt;&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112960632119441856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112960632119441856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112960632119441856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112960632119441856'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/chinese-display-in-ubuntu-510-breezy.html' title='Chinese display in Ubuntu 5.10 Breezy'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112945962187747200</id><published>2005-10-16T18:42:00.000+08:00</published><updated>2005-10-18T11:17:16.320+08:00</updated><title type='text'>manually set cpu frequency</title><content type='html'>If you are like me that treasure my laptop very much and hate to hear the fans soaring, you can try it.&lt;br /&gt;&lt;br /&gt;create a simple bash file like this:&lt;br /&gt;#cpulow&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;echo 1200000 &gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1200000 is the lowest availabe frequency for my cpu (P4-M). Put this file to /usr/local/bin and chmod +x. Simple?&lt;br /&gt;&lt;br /&gt;#cpuhigh&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;echo 1600000 &gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;With these two files, I can manually control how far the cpu should run. Don&#39;t forget to remove &lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;powernowd&lt;/span&gt; service from service in Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;-- update --&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;I found powernowd service cannot be just stopped since acpi modules are also loaded by this script to start the service. I think it&#39;s not difficult to modify the script to just stop powernowd deamon and exec cpulow meanwhile. To be updated later.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112945962187747200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112945962187747200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112945962187747200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112945962187747200'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/manually-set-cpu-frequency.html' title='manually set cpu frequency'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112939855980724070</id><published>2005-10-16T01:01:00.000+08:00</published><updated>2005-10-16T01:52:43.506+08:00</updated><title type='text'>Install Ubuntu 5.10 (Breezy) on Compaq N800v</title><content type='html'>There are some reasons prompting me to abandon Gentoo on my laptop, the specific optimization to the desktop by Ubuntu is one of them.&lt;br /&gt;&lt;br /&gt;The actually installation should be as smooth as stated, but I still get frustrated for quite a few hours :(&lt;br /&gt;&lt;br /&gt;So one thing that I get more confirmed is: cdrom is the last storage you should try.&lt;br /&gt;&lt;br /&gt;1. download iso image from ubuntu website, smooth&lt;br /&gt;&lt;br /&gt;2. &lt;span style=&quot;color: rgb(204, 0, 0); font-weight: bold; font-style: italic;&quot;&gt;md5 check&lt;/span&gt; passes&lt;br /&gt;&lt;br /&gt;3. &lt;span style=&quot;color: rgb(102, 102, 102);&quot;&gt;burn it into cd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. boot with cd, pcmcia wireless card auto recognized and DHCP config successfully which means I can connect to Internet&lt;br /&gt;&lt;br /&gt;5. Partition:&lt;br /&gt;40 GB hdd:&lt;br /&gt;hda1: WinXP root, fat32, primary, bootable&lt;br /&gt;hda2: shared by windows and linux, fat32, logic&lt;br /&gt;hda6: 30M, ext3, /boot, logic&lt;br /&gt;hda7: 6.7G, the root for ubuntu, reizser, /, logic&lt;br /&gt;&lt;br /&gt;6. start install, failed at base system install, pool/main/l/linux-sources/linux-image.... md5 check &lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-style: italic;&quot;&gt;failed&lt;/span&gt;&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;7. burn another 2 cds the next day and repeat previous steps, failed again! /pool/main/linux-sources/linux-head... md5 check &lt;span style=&quot;font-style: italic;font-size:130%;&quot; &gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;failed&lt;/span&gt;&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;So far, I have no confidence in cdrom any more. Since the md5 check for the downloaded iso image has no problem, it must be in the burning procedure. Since the failed parts for 2 cds are different but near, I bet it&#39;s the cdrw&#39;s step increasing speed working mode harms it. Maybe I&#39;ll have to use my cdrw for some time, but remember to burn it steadily!&lt;br /&gt;&lt;br /&gt;8. After research and experiment, finally get it clear how to install linux from image directly.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.ubuntu.org.cn/download/installformharddisk/grldr&quot;&gt;grub &lt;/a&gt;is needed to load bootable environment. Fortunately, even installation failed, ubuntu still gives you all the options for the installation which allow me to directly jump to the grub installation. And it recognizes WinXP installed and configures it automatically.&lt;br /&gt;&lt;br /&gt;9. To start bootable environment, two files are needed:&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt; initrd.gz&lt;/span&gt;    and &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;vmlinuz &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(or &lt;/span&gt;linux&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; for netboot version)&lt;/span&gt;&lt;/span&gt;. However, there are several versions of them.&lt;br /&gt;&lt;br /&gt;First, in the cdrom, under &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;install&lt;/span&gt;, that two are for cdrom install which means the environment is set to insall linux from linux.&lt;br /&gt;&lt;br /&gt;In &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;install/netboot/ubuntu-installer/i386&lt;/span&gt;, the two are for network install. Using them, no cd and no image are needed for the whole install, only network!&lt;br /&gt;&lt;br /&gt;However, what I needed cannot be found in the image itself. The version for install from harddisk image can be downloaded at any ubuntu mirror, under directory &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;ubuntu/dists/breezy(the version)/main/installer-i386/current/images/&lt;span style=&quot;font-style: italic; font-weight: bold;&quot;&gt;hd-media&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;(surely I get information from the name)&lt;br /&gt;&lt;br /&gt;To summarize, these two files are programs that guild linux install procedure after enter the bootable environment. Since for different method of install, specific procedure should be provided, the more important issue I guess is to keep these files as small as possible to be fit into any pc. So different versions instead of one versatile with different interfaces are provided.&lt;br /&gt;&lt;br /&gt;10. copy these two files to the first primary partition which is also a bootable partition, the grub can get it then. &lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;/dev/hda1&lt;/span&gt; is the one for my laptop. Then put the iso image file under the top directory in any of your partitions (but its file system must be recognized by the bootable environment, ubuntu in this case, fat32, ext3, reizser..)&lt;br /&gt;&lt;br /&gt;11.  reboot laptop, upon promtion by grub, press &lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;c&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;then input three commands:&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;grub&gt; kernel (hd0,0)/vmlinuz root=/dev/ram ramdisk_size=20000 devfs=mount,dall&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;grub&gt; initrd (hd0,0)/initrd.gz&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;grub&gt; boot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s not difficult to understand the commands. (hd0,0) indicates the hdd devise and the partion that store the files.&lt;br /&gt;&lt;br /&gt;12. laptop reboot now and you&#39;ll be lead into the harddisk install program now which is slightly different from the one by cdrom install. It will search all reconizable partitions and find the right iso image and the following procedures are just as smooth as it should be. Huhu~~, finally get Ubuntu on my laptop!&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:180%;&quot;&gt;Reference:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://wiki.ubuntu.com/Installation/FromWindows&quot;&gt;ubuntu wiki&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://marc.herbert.free.fr/linux/win2linstall.html&quot;&gt;Install GNU/Linux without any CD, floppy, USB-key, nor any other removable media&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112939855980724070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112939855980724070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112939855980724070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112939855980724070'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/install-ubuntu-510-breezy-on-compaq.html' title='Install Ubuntu 5.10 (Breezy) on Compaq N800v'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112884624903887927</id><published>2005-10-09T15:57:00.000+08:00</published><updated>2005-10-09T16:24:09.046+08:00</updated><title type='text'>Auto backup</title><content type='html'>using &lt;a href=&quot;http://email.cleancode.org&quot;&gt;email&lt;/a&gt; &amp; &lt;a href=&quot;ftp://ftp.isc.org/isc/cron&quot;&gt;crontab&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. edit configure files under &lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;/etc/email/&lt;/span&gt; to set up the email account used to store the backup files.&lt;br /&gt;&lt;br /&gt;2. write a shell script like this:&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;#! /bin/sh&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;# commands to set up backup files, e. g, grab &lt;/span&gt;&lt;a style=&quot;color: rgb(0, 102, 0);&quot; href=&quot;http://del.icio.us&quot;&gt;del.icio.us&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt; posts&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;curl --user &lt;span style=&quot;color: rgb(204, 51, 204);&quot;&gt;username&lt;/span&gt;:&lt;span style=&quot;color: rgb(204, 51, 204);&quot;&gt;password&lt;/span&gt; -o &quot;$MYPATH/myDelicious.xml&quot; -O &#39;http://del.icio.us/api/posts/all&#39;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;# mail it to my gmail account&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;# get the date &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;DATE=&quot;$(date)&quot;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;email -s &quot;delicious backup @ $DATE&quot; email@gmail.com -b --attach &quot;$MYPATH/myDelicious.xml&quot;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;-b&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;means blank email,&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;--attach&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;followed by the attached files.&lt;br /&gt;&lt;br /&gt;3. set cron to run the script everyday in the night&lt;br /&gt;edit your crontab file&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 0, 0);&quot;&gt; #  crontab -e&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then input:&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 102, 0);&quot;&gt;30 2 * * * /usr/local/bin/myBackup&lt;/span&gt;&lt;br /&gt;means to exec the script everyday at 2:30 am.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112884624903887927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112884624903887927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112884624903887927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112884624903887927'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/auto-backup.html' title='Auto backup'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112873469333547076</id><published>2005-10-08T09:22:00.000+08:00</published><updated>2005-10-14T15:11:26.393+08:00</updated><title type='text'>mount bin/cue &amp; disc image conversion</title><content type='html'>&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:130%;&quot; &gt;Directly mount .bin image:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;$:&gt;emerge &lt;/span&gt;&lt;a style=&quot;color: rgb(153, 0, 0);&quot; href=&quot;http://www.cdemu.org/&quot;&gt;cdemu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;$:&gt;modprobe cdemu&lt;br /&gt;&lt;br /&gt;$:&gt;cdemu 0 [image.cue]&lt;br /&gt;&lt;br /&gt;$:&gt;mount -t iso9660 /dev/cdemu/0 /mnt/cdrom&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;However, I still cannot find any method to directly mount Alcohoc .img file in Linux. A feasible way is to convert it to iso image first. (&lt;a href=&quot;https://wiki.ubuntu.com/ManageDiscImages&quot;&gt;Ubuntu wiki&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;# emerge &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;ccd2iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;usage:  &lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;ccd2iso &lt;.img filename&gt; &lt;.iso filename&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:130%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:130%;&quot; &gt;Also find how to convert .bin image to iso image:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;# emerge bchunk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;usage: &lt;/span&gt;bchunk myimage.bin myimage.cue myimage&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;Convert DMG(compressed z-lib) to ISO:&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;download perl script &lt;a href=&quot;http://vu1tur.eu.org/tools/&quot;&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;usage: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(102, 0, 0);&quot;&gt;dmg2iso.pl &lt;filename.dmg&gt; &lt;filename.iso&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;h3 id=&quot;head-541785e26430692ef54726fee2989444235a16bf-3&quot;&gt;&lt;br /&gt;&lt;/h3&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112873469333547076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112873469333547076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112873469333547076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112873469333547076'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/mount-bincue-disc-image-conversion.html' title='mount bin/cue &amp; disc image conversion'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112870652213542470</id><published>2005-10-08T01:13:00.000+08:00</published><updated>2005-10-08T12:29:33.930+08:00</updated><title type='text'>Wine configure for Chinese Display</title><content type='html'>Wine has cancel the use of &lt;span style=&quot;color: rgb(102, 0, 0);&quot;&gt;config &lt;/span&gt;file after 20050628 and use registry to store the user setting. So I try to solve two problems after I installed Wine and try to run SourceInsight.&lt;br /&gt;&lt;br /&gt;1. the fonts look vague&lt;br /&gt;2. Chinese display&lt;br /&gt;&lt;br /&gt;Got a &lt;a href=&quot;http://moto.debian.org.tw/viewtopic.php?t=7164&quot;&gt;solution&lt;/a&gt; from a Taiwan forum:&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;~/.wine/user.reg&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 51, 204);&quot;&gt;//to mirror windows common fonts to my favorite in Linux&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[Software\\Wine\\Fonts\\Replacements]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;System&quot;=&quot;SimSun&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Arial&quot;=&quot;Bitstream Vera Sans&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Fixedsys&quot;=&quot;SinSun&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Microsoft Sans Serif&quot;=&quot;Bitstream Vera Sans&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;MS UI Gothic&quot;=&quot;Bitstream Vera Sans&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Tahoma&quot;=&quot;Tahoma&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Terminal&quot;=&quot;Bitstream Vera Sans&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;MingLiU&quot;=&quot;MingLiU&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;PmingLiU&quot;=&quot;PMingLiU&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;// set default browser&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[Software\\Wine\\WineBrowser]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;Browsers&quot;=&quot;firefox-bin&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;// if you feel not comfortable for the vague fonts, set it&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[Software\\Wine\\X11 Driver] 1128697012&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&quot;ClientSideAntiAliasWithRender&quot;=&quot;N&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(102, 0, 0);&quot; class=&quot;postbody&quot;&gt;~/.wine/system.reg&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;//change dialogue window font size&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; [System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;&quot;LogPixels&quot;=dword:00000082&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot; class=&quot;postbody&quot;&gt;~/.wine/driver_c/windows/win.ini&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 51, 153);&quot;&gt;//change other font size&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-family:宋体;&quot; &gt; [Desktop]&lt;br /&gt;menufontsize=13&lt;br /&gt;messagefontsize=13&lt;br /&gt;statusfontsize=13&lt;br /&gt;IconTitleSize=13&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 51, 0);&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;However, I found above modifications become invalid after running wine. All reg files are rolled back. Actually the valid method is run &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;regedit &lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;and modify it in accordance with the above metioned. \\ seperate the tree branches in register table as in Windows. Finally I find the modifications reflect on the reg files. &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;(now I confirm the changes are discarded because there is still a wine instance running, so make sure no wine is running before try to modify .reg files)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Finally I found still not so satifacotry with the display effect, the English fonts in the dialogue window look twisted and vague. So I tried to copy all fonts under my Linux to&lt;/span&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;driver_c/windows/fonts&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;now it looks almost exactly as it is in Windows.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112870652213542470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112870652213542470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112870652213542470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112870652213542470'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/10/wine-configure-for-chinese-display.html' title='Wine configure for Chinese Display'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112657572939188239</id><published>2005-09-13T09:34:00.000+08:00</published><updated>2005-09-13T09:49:03.623+08:00</updated><title type='text'>Operate Creative Zen Micro in Linux! Cool!</title><content type='html'>Glad to find my Zen Micro supported in Linux!!&lt;br /&gt;&lt;br /&gt;Check it &lt;a href=&quot;http://gnomad2.sourceforge.net/&quot;&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;You can also find it in gentoo, a simple emerge will do all the works, thanks to gentoo!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working Devices:&lt;/b&gt;&lt;br /&gt;Creative Nomad Jukebox 1 (aka D.A.P.)&lt;br /&gt;Creative Nomad Jukebox 2&lt;br /&gt;Creative Nomad Jukebox 3&lt;br /&gt;Creative Nomad Jukebox Zen&lt;br /&gt;Creative Nomad Jukebox Zen USB 2.0&lt;br /&gt;Creative Nomad Jukebox Zen NX&lt;br /&gt;Creative Nomad Jukebox Zen Xtra&lt;br /&gt;Dell Digital Jukebox (&quot;Dell DJ&quot;)&lt;br /&gt;Creative Nomad Jukebox Zen Touch&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 255, 51); font-weight: bold;&quot;&gt; Creative Nomad Jukebox Zen Micro&lt;/span&gt;&lt;br /&gt;(Without the 2.x MTP/PlaysForSure upgrade!)&lt;br /&gt;Second Generation Dell DJ&lt;br /&gt;(Without the MTP/PlaysForSure upgrade!)&lt;br /&gt;Dell Pocket DJ&lt;br /&gt;(Without the MTP/PlaysForSure upgrade!)&lt;br /&gt;&lt;br /&gt;It&#39;s also a surprise that I find file transfer rate is more than 2MB using gnomad, and it&#39;s faster than I transfer files using either WMP10 or Creative origin software as I always complain such a USB 2.0-support device.&lt;br /&gt;&lt;br /&gt;Yet still some bugs exist, one biggest problem is when I try to delete one or several songs from the device, a window pops up prompting for confirm, after I click yes, it just freezes there and I have to kill the process. The device may still appear to be in Docked mode for which I have to remove the battery to reset it. Anyway, deletion operation can be easily performed from the device itself. This bug has been reported several times and I expect it to be solved soon.</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112657572939188239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112657572939188239' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112657572939188239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112657572939188239'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/09/operate-creative-zen-micro-in-linux.html' title='Operate Creative Zen Micro in Linux! Cool!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112573301975468365</id><published>2005-09-03T15:31:00.000+08:00</published><updated>2005-09-03T15:36:59.760+08:00</updated><title type='text'>package operation in Gentoo</title><content type='html'>search software with keyword:&lt;br /&gt; Gentoo: emerge -s &lt;keyword&gt; &lt;br /&gt;Debian: apt-cache search &lt;keyword&gt;&lt;br /&gt; FreeBSD: make search name=&lt;keyword&gt; 或&lt;br /&gt; ports_glob &lt;keyword&gt; -- need portupgrade &lt;br /&gt; &lt;br /&gt;  Install software:&lt;br /&gt; Gentoo: emerge &lt;package&gt;&lt;br /&gt; Debian: apt-get install &lt;package&gt;&lt;br /&gt; FreeBSD: portinstall &lt;package&gt; &lt;br /&gt; &lt;need&gt; &lt;br /&gt; &lt;br /&gt;remove package:&lt;br /&gt; Gentoo: emerge unmerge &lt;package&gt;&lt;br /&gt; Debian: apt-get remove &lt;package&gt;&lt;br /&gt; FreeBSD: pkg_deinstall &lt;package&gt; &lt;br /&gt; &lt;need&gt; &lt;br /&gt; &lt;br /&gt;  Update single package:&lt;br /&gt; Gentoo: emerge -u &lt;package&gt;&lt;br /&gt; Debian: ?&lt;br /&gt; FreeBSD: portupgrade &lt;package&gt; &lt;br /&gt; &lt;need&gt; &lt;br /&gt; &lt;br /&gt;  check what packages will be impacted by updating all installed packages:&lt;br /&gt; Gentoo: emerge -puDv world&lt;br /&gt; Debian: apt-get -u dist-upgrade&lt;br /&gt; FreeBSD: portupgrade -arnv&lt;br /&gt; &lt;br /&gt;update the system:&lt;br /&gt; Gentoo: emerge -u --deep world&lt;br /&gt; Debian: apt-get dist-upgrade&lt;br /&gt; FreeBSD: make world ; portupgrade -ar &lt;br /&gt; &lt;need&gt; &lt;br /&gt; &lt;br /&gt;query  installed packages:&lt;br /&gt; Gentoo: emerge -pe world 或 qpkg -I -v&lt;br /&gt; Debian: dpkg --get-selections&lt;br /&gt; FreeBSD: pkg_info &lt;br /&gt; &lt;br /&gt;  check the dependency of package:&lt;br /&gt; Gentoo: qpkg -f &lt;filename&gt; &lt;br /&gt; (need gentoolkit)&lt;br /&gt; Debian: dpkg -S &lt;filename&gt;&lt;br /&gt; FreeBSD: pkg_info -W &lt;filename&gt; &lt;br /&gt; &lt;br /&gt;  check the components of a package:&lt;br /&gt; Gentoo: qpkg -l &lt;pkg&gt;&lt;br /&gt; Debian: ?&lt;br /&gt; FreeBSD: pkg_info -L &lt;pkg&gt; &lt;br /&gt; &lt;br /&gt;   check the components of a package with keyword&lt;br /&gt; Gentoo: qpkg -I | grep &lt;keyword&gt; (qpkg  -v to check version) &lt;br /&gt; Debian: &lt;br /&gt; FreeBSD: pkg_info | grep &lt;keyword&gt; &lt;br /&gt; &lt;br /&gt;  query the introduction to package with keyword&lt;br /&gt; Gentoo: emerge -S &lt;keyword&gt; &lt;br /&gt;Debian: ? &lt;br /&gt; FreeBSD: make search key=&lt;filename&gt; &lt;br /&gt; &lt;br /&gt;remove package without dependency:&lt;br /&gt; Gentoo: emerge -C &lt;pkg&gt; &lt;br /&gt; Debian: &lt;br /&gt; FreeBSD: pkg_delete -f &lt;pkg&gt;&lt;br /&gt; &lt;br /&gt;rebuild the system:&lt;br /&gt; Gentoo: emerge -e world&lt;br /&gt; Debian: ?&lt;br /&gt; FreeBSD: make world ; portupgrade -arf &lt;br /&gt; &lt;need&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112573301975468365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112573301975468365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112573301975468365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112573301975468365'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/09/package-operation-in-gentoo.html' title='package operation in Gentoo'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-112168922760911173</id><published>2005-07-18T20:19:00.000+08:00</published><updated>2005-07-18T20:20:27.616+08:00</updated><title type='text'>Play ape in xmms</title><content type='html'>wget &lt;a href=&quot;http://membres.lycos.fr/mazzaru/libmacinput.so.gz&quot; target=&quot;_blank&quot;&gt;http://membres.lycos.fr/mazzaru/libmacinput.so.gz&lt;/a&gt;&lt;br /&gt; chmod 755 libmacinput.so&lt;br /&gt; mv libmacinput.so ~/.&lt;span style=&quot;color: rgb(255, 163, 79);&quot;&gt;&lt;b&gt;xmms&lt;/b&gt;&lt;/span&gt;/Plugins/</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/112168922760911173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=112168922760911173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112168922760911173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/112168922760911173'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/07/play-ape-in-xmms.html' title='Play ape in xmms'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111467354303183157</id><published>2005-04-28T15:27:00.000+08:00</published><updated>2005-10-18T19:30:11.436+08:00</updated><title type='text'>mount and umount</title><content type='html'>USB harddisk is becoming a necessity for file transfer. In linux, I&#39;ll be likely to encounter a problem, when I try to umount the usb disk, a message will pop up said the device is busy.&lt;br /&gt;What you must do before remove it is to make sure all the process using this device has quitted. To check which process is still using this device, you can use command fuser:&lt;br /&gt;#fuser -m /USB (/USB is the directory I mount my usb disk into)&lt;br /&gt;The process number accordingly will be listed, then you can just close the program belongs to it or give it a simple kill.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;---update---&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# sync&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;before kill any process so all content will be flushed and no data is lost.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111467354303183157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111467354303183157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111467354303183157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111467354303183157'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/04/mount-and-umount.html' title='mount and umount'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111391707310380049</id><published>2005-04-19T21:21:00.000+08:00</published><updated>2005-04-19T21:24:33.103+08:00</updated><title type='text'>File Sharing between Linux/Win</title><content type='html'>A easy way is to install samba in Linux and start samba service if to share files on Linux.&lt;br /&gt;&lt;br /&gt;To access the files shared by samba in Linux, it&#39;s simple as using \\hostname\sharefolder in windows.&lt;br /&gt;&lt;br /&gt;To access files shard by Linux through samba or Windows file sharing, can use smbmount to mount a remote directory to a local mount point.</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111391707310380049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111391707310380049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111391707310380049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111391707310380049'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/04/file-sharing-between-linuxwin.html' title='File Sharing between Linux/Win'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111225176904498962</id><published>2005-03-31T14:19:00.000+08:00</published><updated>2005-03-31T14:49:29.046+08:00</updated><title type='text'>VNC with SSH</title><content type='html'>Want to connect to Linux in your Win OS without tedious config? Try Vnc. Try to use without compromising your security principle, VNC + SSH may be an option.&lt;br /&gt;&lt;br /&gt;1. Install vnc&lt;br /&gt;There are several free distributions: &lt;a href=&quot;http://www.tightvnc.com/&quot;&gt;Tightvnc, Realvnc.&lt;/a&gt;&lt;br /&gt;Follow the installation guilde and config &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;~/.vnc/xstartup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;xrdb $HOME/.Xresources&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#xsetroot -solid grey&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#xterm -geometry 80x24+10+10 -ls -title &quot;$VNCDESKTOP Desktop&quot; &amp;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#twm &amp;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;unset SESSION_MANAGER&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;gnome-session &amp;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#startkde &amp; ( for kde)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. In Win OS, use &lt;a href=&quot;www.vandyke.com/products/securecrt&quot;&gt;SecureCRT&lt;/a&gt; to tunnel vnc request from local host (Win) to secure port in remote host (Linux).&lt;br /&gt;Install SecureCRT with commandline support and add it to PATH. Then write a script to establish the secure tunnel&lt;br /&gt;&lt;span style=&quot;font-size:-1;&quot;&gt;&lt;span style=&quot;color:#008000;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;secureCRT /SSH2 /L greenw /I &quot;D:/id_rsa.pub&quot; /P 22 /Z 5 /LOCAL 5901:xxx.xxx.xxx.xxx:5908 xxx.xxx.xxx.xxx&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;You can check secureCRT options about the command line above.&lt;br /&gt;/I    the path store the public key&lt;br /&gt;/P   the SSH listenning port number in remote host, 22 is default in Linux&lt;br /&gt;/Z   compression level&lt;br /&gt;/LOCAL map the local port 5901 to remote host port 5908&lt;br /&gt;&lt;br /&gt;3. vncserver use port number starting from 5900, if you start vncserver with &lt;span style=&quot;color: rgb(102, 0, 0);&quot;&gt;vncserver:8&lt;/span&gt;, then vncserver will listen to port 5908; for local vncviewer, you should use &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;localhost:1&lt;/span&gt;&lt;br /&gt;and you can see the remote desktop in a secure way.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111225176904498962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111225176904498962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111225176904498962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111225176904498962'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/vnc-with-ssh.html' title='VNC with SSH'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111218923627286786</id><published>2005-03-30T21:18:00.000+08:00</published><updated>2005-03-30T21:27:16.273+08:00</updated><title type='text'>How to use Gnome desktop in Win XP</title><content type='html'>In Win XP, a X Server is needed such as &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;Xmanager&lt;/span&gt; (&lt;a href=&quot;http://www.netsarang.com&quot;&gt;http://www.netsarang.com&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;In Linux host (Gentoo in this article), follow these procedures to set up XDMCP:&lt;br /&gt;1. edit &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/etc/inittab&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;id:5:initdefault&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. edit &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/etc/X11/gdm/gdm.conf&lt;/span&gt;&lt;br /&gt;in [xdmcp] section&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Enable=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. set up iptables to allow connections to x client to be passed&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport telnet -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport ssh -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport login -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport exec -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport shell -j ACCEPT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport 7100 -j ACCEPT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, restart linux and Xmanager should be able to connect to Gnome in Linux. Comes the beautiful desktop.. Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111218923627286786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111218923627286786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111218923627286786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111218923627286786'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/how-to-use-gnome-desktop-in-win-xp.html' title='How to use Gnome desktop in Win XP'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111209589141821752</id><published>2005-03-29T19:29:00.000+08:00</published><updated>2005-03-29T19:31:31.420+08:00</updated><title type='text'>Start vncserver with Gnome</title><content type='html'>edit &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;~/.vnc/xstartup&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;xrdb $HOME/.Xresources&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;unset SESSION_MANAGER &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(if you can only see a gray plate and a cursor after loginning with vncviewer, you may need to try this)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;gnome-session &amp;amp;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111209589141821752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111209589141821752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111209589141821752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111209589141821752'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/start-vncserver-with-gnome.html' title='Start vncserver with Gnome'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111167239660210938</id><published>2005-03-24T21:35:00.000+08:00</published><updated>2005-03-25T15:15:10.146+08:00</updated><title type='text'>Gentoo Installation from Stage 1 using Knoppix - Install Gentoo Base System</title><content type='html'>1. Copy DNS Info&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. &lt;/span&gt;Mounting the proc Filesystem (from knoppix)&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;mount -o bind /proc /mnt/gentoo/proc&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt; 3. Entering the new Environment&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;chroot /mnt/gentoo /bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;env-update&lt;/span&gt;&lt;br /&gt;* Caching service dependencies...&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;source /etc/profile&lt;/span&gt;&lt;/pre&gt; 4. Updating the Portage tree&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;emerge --sync&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. &lt;/span&gt;Configuring the USE variable in /etc/make.conf&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;USE=&quot;gtk gnome qt -kde -dvd alsa -cdr cjk nls zh_CN zh_TW ldap X&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. Optional: GLIBC Locales&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;mkdir /etc/portage&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;echo &quot;sys-libs/glibc userlocales&quot; &gt;&gt; /etc/portage/package.use&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;nano -w /etc/locales.build&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;en_US/ISO-8859-1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;en_US.UTF-8/UTF-8&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;en_HK/ISO-8859-1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;en_PH/ISO-8859-1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;zh_CN/GB2312&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;zh_CN/GB18030&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;zh_CN/GBK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7. &lt;/span&gt;Progressing from Stage1 to Stage2 -&lt;span class=&quot;input&quot;&gt; &lt;/span&gt;Bootstrapping the System&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;cd /usr/portage&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;scripts/bootstrap.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8. &lt;/span&gt;Building the System&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot; class=&quot;input&quot;&gt;emerge system&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111167239660210938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111167239660210938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111167239660210938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111167239660210938'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/gentoo-installation-from-stage-1-using_24.html' title='Gentoo Installation from Stage 1 using Knoppix - Install Gentoo Base System'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111167125092158371</id><published>2005-03-24T20:53:00.000+08:00</published><updated>2005-03-24T22:01:07.416+08:00</updated><title type='text'>Gentoo Installation from Stage 1 using Knoppix - Preparation</title><content type='html'>&lt;p&gt;Preface:&lt;br /&gt;After the windows XP declined my login request unreasonablly after I reinstalled SP1 in my Compaq N800v laptop which has the autherized Windows XP Professional installed, I&#39;m tired of Windows finally. It&#39;s time to get power from Linux!&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Partitions in my hdd:&lt;/p&gt; &lt;p&gt;hda1 fat32 WinXP 6448.62 MB&lt;br /&gt;hda5 fat32 Data 26398.32 MB&lt;br /&gt;hda6 ext3 /boot 30 MB&lt;br /&gt;hda7 ReiserFS / 6448.62 MB&lt;br /&gt;hda8 Linux Swap 727.7 MB&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;1. Boot with Knoppix&lt;br /&gt;By default Knoppix boots into a KDE 3.0 desktop. The first thing I did was open a konsole and typed &lt;span class=&quot;code&quot;&gt;sudo passwd root&lt;/span&gt;. This lets you set the root password for Knoppix. &lt;/p&gt;    &lt;p&gt; Next, I &lt;span class=&quot;code&quot;&gt;su&lt;/span&gt; to root and typed &lt;span class=&quot;code&quot;&gt;usermod -d /root -m root&lt;/span&gt;. This sets user roots home directory to /root (the Gentoo way) from /home/root (the Knoppix way). If you do not do this, then you will receive errors when emerging about &quot;/home/root: not found&quot; or something to that effect. &lt;/p&gt;    I then typed &lt;span class=&quot;code&quot;&gt;exit&lt;/span&gt; and then &lt;span class=&quot;code&quot;&gt;su&lt;/span&gt; back into root. This loads the change that was made with the usermod command. Now create the &lt;span class=&quot;path&quot;&gt;/mnt/gentoo&lt;/span&gt; mountpoint using &lt;span class=&quot;code&quot;&gt;mkdir&lt;br /&gt;&lt;br /&gt;2. download stage1 tarball&lt;br /&gt;&lt;/span&gt; &lt;pre&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;tar -xvjpf stage?-*.tar.bz2&lt;/span&gt;&lt;br /&gt;3. Install Portage&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;input&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;tar -xvjf /mnt/gentoo/portage-20041202.tar.bz2 -C /mnt/gentoo/usr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Edit &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;/mnt/gentoo/etc/make.conf&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# These settings were set by the catalyst build script that automatically built this stage&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Please consult /etc/make.conf.example for a more detailed example&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;CFLAGS=&quot;-O3 -march=pentium4 -fomit-frame-pointer -pipe&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;CHOST=&quot;i686-pc-linux-gnu&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;CXXFLAGS=&quot;${CFLAGS}&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#LDFLAGS=&quot;-Wl,-O1&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;ACCEPT_KEYWORDS=&quot;~x86&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;GENTOO_MIRRORS=&quot;http://mirror.averse.net/pub/gentoo&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#PORTAGE_BINHOST=&quot;http://mirror.averse.net/pub/gentoo&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;USE=&quot;gtk gnome qt -kde -dvd alsa -cdr cjk nls zh_CN zh_TW ldap X&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111167125092158371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111167125092158371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111167125092158371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111167125092158371'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/gentoo-installation-from-stage-1-using.html' title='Gentoo Installation from Stage 1 using Knoppix - Preparation'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111070176194534645</id><published>2005-03-13T16:16:00.000+08:00</published><updated>2005-03-13T16:30:15.726+08:00</updated><title type='text'>A snapshot of my desktop (post from Hello)</title><content type='html'>&lt;a href=&quot;http://photos1.blogger.com/img/61/4093/640/Screenshot-1.jpg&quot;&gt;&lt;img style=&quot;border: 1px solid rgb(0, 0, 0); margin: 2px;&quot; src=&quot;http://photos1.blogger.com/img/61/4093/320/Screenshot-1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Post photo from Hello</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111070176194534645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111070176194534645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111070176194534645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111070176194534645'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/snapshot-of-my-desktop-post-from-hello.html' title='A snapshot of my desktop (post from Hello)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111063209860790372</id><published>2005-03-12T20:42:00.000+08:00</published><updated>2005-03-12T20:54:58.616+08:00</updated><title type='text'>Set up your security rules</title><content type='html'>Security is the one of the most desirable characters of OS, especially you have been tired of keeping patching your WIN..&lt;br /&gt;In the new kernel of Linux, such feature is integrated so that packet filtering can be performed at the kernel level.&lt;br /&gt;&lt;br /&gt;1.To define the rules of defendance, you need to install iptables first.&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;#emerge iptables&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Then add it to system starting service&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;#rc_update add iptables default&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. edit config file contain rules&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;#/ect/init.d/iptables save&lt;/span&gt;&lt;br /&gt;you&#39;ll get a default config file in &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/var/lib/iptables/rules-save&lt;/span&gt;&lt;br /&gt;I&#39;ll define my security rules in this file&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Generated by iptables-save v1.2.11 on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;*nat&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:PREROUTING ACCEPT [80:11499]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:POSTROUTING ACCEPT [4:240]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:OUTPUT ACCEPT [0:0]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;COMMIT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Completed on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Generated by iptables-save v1.2.11 on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;*mangle&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:PREROUTING ACCEPT [100:12984]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:INPUT ACCEPT [23:2505]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:FORWARD ACCEPT [0:0]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:OUTPUT ACCEPT [16:1184]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:POSTROUTING ACCEPT [16:1184]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;COMMIT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Completed on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Generated by iptables-save v1.2.11 on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;*filter&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:INPUT ACCEPT [1:28]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:FORWARD ACCEPT [0:0]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:OUTPUT ACCEPT [16:1184]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;:RH-Lokkit-0-50-INPUT - [0:0]&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[23:2505] -A INPUT -j RH-Lokkit-0-50-INPUT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A FORWARD -j RH-Lokkit-0-50-INPUT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 23 -j ACCEPT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[8:480] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[6:1293] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 445 --tcp-flags SYN,RST,ACK SYN -j ACCEPT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -i eth0 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[0:0] -A RH-Lokkit-0-50-INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;[8:704] -A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT &lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;COMMIT&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;# Completed on Sat Mar 12 20:34:16 2005&lt;/span&gt;&lt;br /&gt;It will reject all tcp &amp; udp request destined to all system ports in my pc (0~1023) and allow telnet request to pass through port 23.&lt;br /&gt;Also remember the rules should be defined in a sequence as you desire. So accept tcp request from port 23 must be defined before rejecting all requests to port from 0 to 1023..&lt;br /&gt;&lt;br /&gt;4. start iptables service&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;#/etc/init.d/iptables start&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111063209860790372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111063209860790372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111063209860790372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111063209860790372'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/set-up-your-security-rules.html' title='Set up your security rules'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111060573970771090</id><published>2005-03-12T13:32:00.000+08:00</published><updated>2005-03-12T13:35:57.066+08:00</updated><title type='text'>/etc/samba/smb.conf</title><content type='html'>[global]&lt;br /&gt;&lt;br /&gt;   netbios name = greenw&lt;br /&gt;# workgroup = NT-Domain-Name or Workgroup-Name&lt;br /&gt;   workgroup = mygroup&lt;br /&gt;&lt;br /&gt;# server string is the equivalent of the NT Description field&lt;br /&gt;   server string = greenw&lt;br /&gt;&lt;br /&gt;   client code page = 936&lt;br /&gt;&lt;br /&gt;   printcap name = /etc/printcap&lt;br /&gt;   load printers = yes&lt;br /&gt;&lt;br /&gt;   unix charset = &quot;gbk&quot;&lt;br /&gt;   dos charset = &quot;gbk&quot;&lt;br /&gt;   display charset = &quot;gbk&quot;&lt;br /&gt;&lt;br /&gt;   printing = cups&lt;br /&gt;&lt;br /&gt;   log file = /var/log/samba/%m.log&lt;br /&gt;&lt;br /&gt;   encrypt passwords = yes&lt;br /&gt;   smb passwd file = /etc/samba/smbpasswd&lt;br /&gt;&lt;br /&gt;   unix password sync = Yes&lt;br /&gt;   passwd program = /usr/bin/passwd %u&lt;br /&gt;passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*&lt;br /&gt;&lt;br /&gt;   pam password change = yes&lt;br /&gt;&lt;br /&gt;   obey pam restrictions = yes&lt;br /&gt;&lt;br /&gt;   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;&lt;br /&gt;   username map = /etc/samba/smbusers&lt;br /&gt;   guest ok = yes&lt;br /&gt;   dns proxy = no&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;   comment = Home Directories&lt;br /&gt;   browseable = yes&lt;br /&gt;   valid users = %S&lt;br /&gt;   create mode = 0664&lt;br /&gt;   writable = yes&lt;br /&gt;   directory mode = 0775&lt;br /&gt;[RH]&lt;br /&gt;      path = /RH/home/greenw&lt;br /&gt;      writeable = yes</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111060573970771090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111060573970771090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111060573970771090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111060573970771090'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/etcsambasmbconf.html' title='/etc/samba/smb.conf'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11289548.post-111059781853663158</id><published>2005-03-12T11:13:00.000+08:00</published><updated>2005-03-12T11:46:48.433+08:00</updated><title type='text'>How to set up cvs server</title><content type='html'>1. set up a seperate user to perform cvs operation&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;#groupadd cvs &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt; #useradd cvsroot -g cvs &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt; #passwd cvsroot&lt;/span&gt;&lt;br /&gt;and give user cvs with shell &quot;/bin/false&quot;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;#mkdir /home/cvsroot&lt;/span&gt;&lt;br /&gt;2. use xinetd to start cvsserver service&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;#emerge xinetd&lt;/span&gt; (if xinetd is not installed)&lt;br /&gt;in &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/etc/xinetd.conf&lt;/span&gt;, comment out &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;line only_from      = localhost&lt;/span&gt; if you want to provide services also to other users except this host&lt;br /&gt;edit &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/etc/xinetd.d/cvspserver&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;service cvspserver &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; { &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; disable = no &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; flags = REUSE &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; socket_type = stream &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; wait = no &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; user = root &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; server = /usr/bin/cvs &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; server_args = -f --allow-root=/home/cvsroot pserver &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; log_on_success += USERID &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; log_on_failure += USERID &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; }&lt;/span&gt;&lt;br /&gt;3. init cvs (which will create CVSROOT directory in /home/cvsroot)&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#cvs -d /home/cvsroot init&lt;/span&gt;&lt;br /&gt;4. add xinetd in init.d&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; #rc-update add xinetd default&lt;/span&gt;&lt;br /&gt;and start xinetd:&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt; #/etc/init.d/xinetd start&lt;/span&gt;&lt;br /&gt;5. check whether cvs server is running now&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;#netstat -l | grep cvspserver&lt;/span&gt;&lt;br /&gt;if &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;tcp 0 0 *:cvspserver *:* LISTEN&lt;/span&gt; appears, then congratulations!&lt;br /&gt;&lt;br /&gt;btw:&lt;br /&gt;1. check your service port setting (&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/etc/service&lt;/span&gt;) and firewall setting if encountering  any problem&lt;br /&gt;2. if local user encounter  failed to create lock directory error, edit &lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;/home/cvsroot/CVSROOT/config&lt;/span&gt; and modify the location of lock file which give current user the writting privilege</content><link rel='replies' type='application/atom+xml' href='http://greenw.blogspot.com/feeds/111059781853663158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11289548&amp;postID=111059781853663158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111059781853663158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11289548/posts/default/111059781853663158'/><link rel='alternate' type='text/html' href='http://greenw.blogspot.com/2005/03/how-to-set-up-cvs-server.html' title='How to set up cvs server'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09333376586201341474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>