<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jui-Nan Lin's Blog</title>
	<atom:link href="http://en.jnlin.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://en.jnlin.org</link>
	<description>My Mumuring in English, about Un*x, FreeBSD, Network in Taiwan</description>
	<lastBuildDate>Sat, 28 May 2011 14:28:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>NodeBalancer in Linode.com</title>
		<link>http://en.jnlin.org/2011/05/28/32/</link>
		<comments>http://en.jnlin.org/2011/05/28/32/#comments</comments>
		<pubDate>Sat, 28 May 2011 14:28:55 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linode]]></category>
		<category><![CDATA[SLB]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2011/05/28/32/</guid>
		<description><![CDATA[Just be notified from gslin’s post: Linode 也推出 Load balancer 服務… (剛開始 beta), so let’s try it out: (The official announcement post is here by Linode.com.) You can choose TCP or HTTP Protocol to balance, but no HTTPS yet. You can strict the session by table or HTTP cookie. Because Linode provides TCP, HTTP Valid [...]]]></description>
			<content:encoded><![CDATA[<p>Just be notified from <a href="http://blog.gslin.org/">gslin</a>’s post: <a href="http://blog.gslin.org/archives/2011/05/28/2664/linode-%e4%b9%9f%e6%8e%a8%e5%87%ba-load-balancer-%e6%9c%8d%e5%8b%99-%e5%89%9b%e9%96%8b%e5%a7%8b-beta/">Linode 也推出 Load balancer 服務… (剛開始 beta)</a>, so let’s try it out: (<a href="http://forum.linode.com/viewtopic.php?t=7169">The official announcement post is here</a> by <a href="http://linode.com/">Linode.com</a>.)</p>
<p> <a href="http://jnlin.pixnet.net/album/photo/115897880"><img src="http://pic.pimg.tw/jnlin/1306589069-3199bac838a12a97849a2e89022aead2_m.png" /></a>
<p>You can choose TCP or HTTP Protocol to balance, but no HTTPS yet. You can strict the session by table or HTTP cookie.</p>
<p>Because Linode provides TCP, HTTP Valid Status and HTTP Body Regex as healthy checking methods, you can check if the generated HTML page is correct (for example, there is “&lt;/html&gt;” tag in the response body). You can not specify <code>Host:</code> header in the healthy checker now, so you must configure your virtual host listen on different port if you want to run several websites on the same backend.</p>
<p>The screenshot after set a “Port” up:    <br /><a href="http://jnlin.pixnet.net/album/photo/115897882"><img src="http://pic.pimg.tw/jnlin/1306589071-06eb8e9636cace0353f0000927b11011_m.png" /></a>     </p>
<p><a href="http://jnlin.pixnet.net/album/photo/115897884"><img src="http://pic.pimg.tw/jnlin/1306589072-a2d438deb607cd68e922972a856cc632_m.png" /></a></p>
<p>Add some nodes to it:</p>
<p> <a href="http://jnlin.pixnet.net/album/photo/115897886"><img src="http://pic.pimg.tw/jnlin/1306589073-7dad75fbe09de4bee9d6362d0daf529f_m.png" /></a>
<p>You can not specify other values except 192.168.*.* or <a href="http://en.wikipedia.org/wiki/Link-local_address#IPv6">IPv6 Link Local Address</a> in the node address.</p>
<p> <a href="http://jnlin.pixnet.net/album/photo/115898838"><img src="http://pic.pimg.tw/jnlin/1306589996-660b50d604bd17f97948bd1faab9d26e_m.png" /></a>
<p>The post on the official forum said that IPv6 is supported, but I can not specify the IPv6 link local address into the field successfully:</p>
<p> <a href="http://jnlin.pixnet.net/album/photo/115897888"><img src="http://pic.pimg.tw/jnlin/1306589074-6b85e1a119a6a548d57761730482425a_m.png" /></a>
<p>After do some experiment, the IPv6 support works fine. And the header <a href="http://en.wikipedia.org/wiki/X-Forwarded-For">X-Forwarded-For</a> is supported, too.</p>
<p> <a href="http://jnlin.pixnet.net/album/photo/115896392"><img src="http://pic.pimg.tw/jnlin/1306576810-8182304bcd847da9db948440bc0f5add_m.png" /></a>
<p>Two problems in production usage:</p>
<ol>
<li>You can not make sure the <code>X-Forwarded-For</code> header is provided by the NodeBalancer. i.e. If someone is in the same private LAN with you, he/she can make a forged <code>X-Forwarded-For</code> header in a HTTP request. The <a href="http://aws.amazon.com/elasticloadbalancing/">Elastic Load Balancer (ELB)</a> by AWS <a href="http://aws.typepad.com/aws/2011/05/elastic-load-balancing-ipv6-zone-apex-support-additional-security.html">solved the problem by a special security group</a> (Firewall), but NodeBalancer is still suffered by the problem. </li>
<li>The UP/Down healthy status was not updated. I added a new node at 17:00 (Taipei Time) but the status of that node is still “Unknown” until 21:30… </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2011/05/28/32/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I don&#8217;t like iOS&#8217;s (or Apple&#8217;s) development environment</title>
		<link>http://en.jnlin.org/2011/04/17/28/</link>
		<comments>http://en.jnlin.org/2011/04/17/28/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 08:34:09 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2011/04/17/28/</guid>
		<description><![CDATA[I am an Android fan, but I use iPod/iPad too. I also own an Apple Mac. But after some trail on developing iOS Apps, I found some terrible experience on it. Develop on a Mac only. It’s weird. Since Mac is a good platform for daily usage, but I would also like to use Linux [...]]]></description>
			<content:encoded><![CDATA[<p>I am an Android fan, but I use iPod/iPad too. I also own an Apple Mac. But after some trail on developing iOS Apps, I found some terrible experience on it.</p>
<ol>
<li>Develop on a Mac only.<br />
It’s weird. Since Mac is a good platform for daily usage, but I would also like to use Linux or Microsoft Windows to develop applications. We can have a very powerful (8GB RAM, Intel E8xxx CPU) PC below USD$500 (and $0 for ubuntu), but not in Mac’s world.</li>
<li>Provision<br />
What’s that? Why can’t I run my SELF-WRITTEN application on my OWN device in a easy copy-and-run approach?</li>
<li>Yearly Developer Program Fee<br />
I must make money from my application to pay for the developer program fee yearly. (But Microsoft and Amazon adopted the policy too…)</li>
<li>DRM, or License issue<br />
I can not opt-out Apple’s DRM if I would like distribute to my app in App Store. Therefore I can not use any GPLed libraries (or codebase) in my application.</li>
<li>iTunes<br />
Speed matters. iTunes is so slow in both Mac and Windows.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2011/04/17/28/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bind an outgoing IP address while using jumpgate</title>
		<link>http://en.jnlin.org/2009/10/20/22/</link>
		<comments>http://en.jnlin.org/2009/10/20/22/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 06:59:31 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/10/20/22/</guid>
		<description><![CDATA[jumpgate is a simple TCP proxy for lazy people like me. This is my patch. You can use it freely under the 2 clause BSD license. Usage: jumpgate -B]]></description>
			<content:encoded><![CDATA[<p><a href="http://jumpgate.sourceforge.net/">jumpgate</a> is a simple TCP proxy for lazy people like me.<br />
This is my <a href="http://www.csie.nctu.edu.tw/~jnlin/patch/patch-jumpgate-bind-outgoing-ip.txt">patch</a>. You can use it freely  under the 2 clause BSD license.</p>
<p>Usage: jumpgate -B</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/10/20/22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: policy routing with pf in 7-STABLE is BROKEN</title>
		<link>http://en.jnlin.org/2009/10/19/18/</link>
		<comments>http://en.jnlin.org/2009/10/19/18/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 08:34:17 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/?p=18</guid>
		<description><![CDATA[pass in quick on $wan1 reply-to ($wan1 $wan1gw) from !$wan1net to ($wan1) keep state pass out  route-to ($wan1 $wan1gw) proto {udp, icmp} from $wan1net to any no state pass out  route-to ($wan1 $wan1gw) proto tcp from $wan1net to any flags any no state In FreeBSD 7.0, the pf.conf above worked. But it doesn&#8217;t work in [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>pass in quick on $wan1 reply-to ($wan1 $wan1gw) from !$wan1net to ($wan1) keep state<br />
pass out  route-to ($wan1 $wan1gw) proto {udp, icmp} from $wan1net to any no state<br />
pass out  route-to ($wan1 $wan1gw) proto tcp from $wan1net to any flags any no state</p></blockquote>
<p>In FreeBSD 7.0, the pf.conf above worked. But it doesn&#8217;t work in recent 7-STABLE. The TCP session may connect successfully, but the performance is very very poor (~ 1KB/s).</p>
<p>I have do some research for days, but have no idea. Now I use ipfw to do policy routing&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/10/19/18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year, 2009!</title>
		<link>http://en.jnlin.org/2009/01/01/17/</link>
		<comments>http://en.jnlin.org/2009/01/01/17/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 14:55:00 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Taipei]]></category>
		<category><![CDATA[Taipei 101]]></category>
		<category><![CDATA[Taiwan]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/01/01/17/</guid>
		<description><![CDATA[Fireworks in Taipei 101, to celebrate 2009. We love Taiwan! People running into the MRT station after the firework. About 1.95 million passengers served by TRTC yesterday.]]></description>
			<content:encoded><![CDATA[<p><a title="IMG_2086 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3153648751/"><img height="500" alt="IMG_2086" src="http://farm4.static.flickr.com/3098/3153648751_ab92cafb19.jpg" width="333" /></a>    <br />Fireworks in Taipei 101, to celebrate 2009.</p>
<p><a title="IMG_2096 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3153661449/"><img height="500" alt="IMG_2096" src="http://farm4.static.flickr.com/3114/3153661449_b04b4f9f94.jpg" width="333" /></a>    <br />We love Taiwan!</p>
<p><a title="IMG_2107 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3154504966/"><img height="500" alt="IMG_2107" src="http://farm4.static.flickr.com/3262/3154504966_d56f834e7f.jpg" width="333" /></a>    <br />People running into the MRT station after the firework. About 1.95 million passengers served by TRTC yesterday.     </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/01/01/17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TRTC Train</title>
		<link>http://en.jnlin.org/2009/01/01/16/</link>
		<comments>http://en.jnlin.org/2009/01/01/16/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 14:06:54 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Taipei]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[TRTC]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/01/01/16/</guid>
		<description><![CDATA[To celebrate Nangan Station available to service, TRTC runs a “panda” train in the MRT blue line.]]></description>
			<content:encoded><![CDATA[<p><a title="DSCF7432 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3154850057/"><img height="375" alt="DSCF7432" src="http://farm4.static.flickr.com/3099/3154850057_e852a97186.jpg" width="500" /></a>
<p>To celebrate Nangan Station available to service, TRTC runs a “panda” train in the MRT blue line. </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/01/01/16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hinting MP4 Files for Flash Player</title>
		<link>http://en.jnlin.org/2008/11/16/15/</link>
		<comments>http://en.jnlin.org/2008/11/16/15/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 07:19:18 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[mp4box]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/11/16/15/</guid>
		<description><![CDATA[Today, I found my MP4 files are full-downloaded, then played. If the size of the MP4 file is very large, I must wait for a long time. So, I tried to find some solution to hint MP4 files. mp4box just can do this job. Although mp4box is a multiplexor for MP4 files, I just use [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I found my MP4 files are full-downloaded, then played. If the size of the MP4 file is very large, I must wait for a long time. So, I tried to find some solution to hint MP4 files. <a href="http://www.videohelp.com/tools/mp4box">mp4box</a> just can do this job.</p>
<p>Although mp4box is a multiplexor for MP4 files, I just use it to hint my MP4 file:</p>
<p># cd /usr/ports/multimedia/gpac-mp4box   <br /># make install clean    <br /># mp4box -hint video.mp4</p>
<p>Now, I can stream my MP4 files with Flash player.</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/11/16/15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Move / to Software RAID 1</title>
		<link>http://en.jnlin.org/2008/11/08/14/</link>
		<comments>http://en.jnlin.org/2008/11/08/14/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 03:18:33 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/11/08/14/</guid>
		<description><![CDATA[It&#8217;s a simple thought: build a software RAID 1 disk array with an empty hard disk, and copy data on / to it. After data copied, add the old disk to the array. For example, (sda is the old /, and sdb is the new disk) # sfdisk -d /dev/sda &#124; sfdisk /dev/sdb # mdadm [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a simple thought: build a software RAID 1 disk array with an empty hard disk, and copy data on / to it. After data copied, add the old disk to the array.</p>
<p>For example, </p>
<blockquote><p>(sda is the old /, and sdb is the new disk)      <br /># sfdisk -d /dev/sda | sfdisk /dev/sdb       <br /># mdadm -C /dev/md0 &#8211;level=raid1 &#8211;raid-devices=2 /dev/sdb1 missing       <br /># mkfs -t ext3 /dev/md0       <br /># mount /dev/md0 /mnt       <br /># rsync -ax / /mnt/       <br /># vim /etc/fstab       <br /># vim /boot/grub/menu.lst</p>
<p>Modify fstab and menu.lst, and make sure all /dev/sda is changed to /dev/md0.</p>
<p># reboot</p>
<p>Make sure that md0 is mounted successfully.</p>
<p># mdadm &#8211;manage /dev/md0 &#8211;add /dev/sda1</p>
</blockquote>
<p>Now, we successfully moved / to software RAID 1 <img src='http://en.jnlin.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/11/08/14/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bug in net/iscsi-target?</title>
		<link>http://en.jnlin.org/2008/06/10/13/</link>
		<comments>http://en.jnlin.org/2008/06/10/13/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 17:44:16 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[NetBSD]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/06/10/13/</guid>
		<description><![CDATA[I found that the block count sent from net/iscsi-target to a initiator is round to 2^31: (In FreeBSD, iSCSI Target) Starting iscsi_target.Reading configuration from `/usr/local/etc/iscsi/targets&#8217;target0:rw:10.1.1.0/24&#160;&#160;&#160;&#160;&#160;&#160; extent0:/dev/stripe/gs0:0:2500582432768DISK: 1 logical unit (4883950064 blocks, 512 bytes/block), type iscsi fsDISK: LUN 0: 2384741 MB disk storage for &#8220;target0&#8243;TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target (In Debian Linux, iSCSI initiator) scsi 3:0:0:0: Direct-Access&#160;&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>I found that the block count sent from net/iscsi-target to a initiator is round to 2^31:</p>
<p>(In FreeBSD, iSCSI Target)</p>
<blockquote><p>Starting iscsi_target.<br />Reading configuration from `/usr/local/etc/iscsi/targets&#8217;<br />target0:rw:<a href="http://10.1.1.0/24">10.1.1.0/24</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extent0:/dev/stripe/gs0:0:2500582432768<br />DISK: 1 logical unit (4883950064 blocks, 512 bytes/block), type iscsi fs<br />DISK: LUN 0: 2384741 MB disk storage for &#8220;target0&#8243;<br />TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target</p>
</blockquote>
<p>(In Debian Linux, iSCSI initiator)</p>
<blockquote><p>scsi 3:0:0:0: Direct-Access&nbsp;&nbsp;&nbsp;&nbsp; NetBSD&nbsp;&nbsp; NetBSD iSCSI&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; PQ: 0 ANSI: 3<br />sd 3:0:0:0: [sdc] 588982768 512-byte hardware sectors (301559 MB)<br />sd 3:0:0:0: [sdc] Write Protect is off<br />sd 3:0:0:0: [sdc] Mode Sense: 0e 00 00 08<br />sd 3:0:0:0: [sdc] Got wrong page<br />sd 3:0:0:0: [sdc] Assuming drive cache: write through<br />sd 3:0:0:0: [sdc] 588982768 512-byte hardware sectors (301559 MB)<br />sd 3:0:0:0: [sdc] Write Protect is off<br />sd 3:0:0:0: [sdc] Mode Sense: 0e 00 00 08<br />sd 3:0:0:0: [sdc] Got wrong page<br />sd 3:0:0:0: [sdc] Assuming drive cache: write through<br /> sdc: unknown partition table<br />sd 3:0:0:0: [sdc] Attached SCSI disk</p>
</blockquote>
<p>I don&#8217;t know if it is a iSCSI protocol or a implementation limitation. </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/06/10/13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: i386 inside a jail in amd64</title>
		<link>http://en.jnlin.org/2008/06/07/12/</link>
		<comments>http://en.jnlin.org/2008/06/07/12/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 04:35:33 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[jail]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/06/07/12/</guid>
		<description><![CDATA[The key point: make a symlink of jailed /libexec/ld-elf.so.1 to /libexec/ld-elf32.so.1. Of course, your kernel should have COMPAT_IA32 option compiled. # cd /usr/src &#38;&#38; make TARGET_ARCH=i386 TARGET=i386 buildworld # mkdir -p /home/jails/i386 &#38;&#38; make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 installworld # make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 distribution # ln -s /home/jails/i386/libexec/ld-elf.so.1 /home/jails/i386/libexec/ld-elf32.so.1 Then, edit rc.conf in jail to [...]]]></description>
			<content:encoded><![CDATA[<p>The key point: make a symlink of jailed /libexec/ld-elf.so.1 to /libexec/ld-elf32.so.1. Of course, your kernel should have COMPAT_IA32 option compiled.</p>
<p># cd /usr/src &amp;&amp; make TARGET_ARCH=i386 TARGET=i386 buildworld<br />
# mkdir -p /home/jails/i386  &amp;&amp; make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 installworld<br />
# make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 distribution<br />
# ln -s /home/jails/i386/libexec/ld-elf.so.1 /home/jails/i386/libexec/ld-elf32.so.1</p>
<p>Then, edit rc.conf in jail to run sshd and start jails. Some utilities, like w/ps/top can not run because they retrieve data from FreeBSD kernel, and the kernel returns 64-bit structures, not 32-bit.</p>
<p>w<br />
4:37AM  up 12 days,  8:40, 1 user, load averages: 0.03, 0.18, 0.20<br />
USER             TTY      FROM              LOGIN@  IDLE WHAT<br />
w: kinfo_proc size mismatch (expected 768, got 1088): No such file or directory</p>
<p>I am doing further test to make sure there aren&#8217;t any mines <img src='http://en.jnlin.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/06/07/12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

