<?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>Kirkwood Hack Blog &#187; LS-XHL</title>
	<atom:link href="http://www.chimaki.info/hack/?feed=rss2&#038;cat=7" rel="self" type="application/rss+xml" />
	<link>http://www.chimaki.info/hack</link>
	<description>kirkwood de Home Server</description>
	<lastBuildDate>Sat, 20 Jun 2009 11:02:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>LS-XHL + CG-HDC4EU3500</title>
		<link>http://www.chimaki.info/hack/?p=52</link>
		<comments>http://www.chimaki.info/hack/?p=52#comments</comments>
		<pubDate>Wed, 06 May 2009 18:02:35 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=52</guid>
		<description><![CDATA[LS-XHL単体では、SATAのディスクを一台しか接続できません。
やはりファイルサーバとしてRAIDができないので運用が難しいところがあります。
少し前になりますが、コレガからCG-HDC4EU3500という最大4台ま [...]]]></description>
			<content:encoded><![CDATA[<p>LS-XHL単体では、SATAのディスクを一台しか接続できません。</p>
<p>やはりファイルサーバとしてRAIDができないので運用が難しいところがあります。</p>
<p>少し前になりますが、コレガから<a href="http://corega.jp/prod/hdc4eu3500/">CG-HDC4EU3500</a>という最大4台までのHDDのハードウェアRAIDが可能なケースが販売されました。RAID 0, 1, 0+1, 3, 5が可能で、eSATAをサポートしています。</p>
<p>LS-XHLとの接続では、ジェンダーが違うのでLS-XHL(SATA) -&gt; <a href="http://www.area-powers.jp/denki/cable/s005s.htm">SATA延長ケーブル</a> -&gt; <a href="http://www.watch.impress.co.jp/akiba/hotline/20090314/ni_csataea.html">ジェンダーチェンジ</a> -&gt; SATA-eSATA変換 -&gt; CG-HDC4EU3500としました。</p>
<p>このように変換ケーブルを通せば、一般的なeSATAのHDDケースが利用できます。</p>
<p><a href="http://www.chimaki.info/hack/wp-content/uploads/2009/05/l-1600-1200-cefeed9c-8b92-42ac-9881-caeb202d6a94.jpeg"><img class="alignnone size-full wp-image-364" src="http://www.chimaki.info/hack/wp-content/uploads/2009/05/l-1600-1200-cefeed9c-8b92-42ac-9881-caeb202d6a94.jpeg" alt="" width="300" height="225" /></a></p>
<p>左がCG-HDC4EU3500、右がLS-XHL</p>
<p>接続して認識するまでは良かったのですが、LS-XHLがブートしないという問題が起こりました。</p>
<p>CG-HDC4EU3500は、PC連動機能がありLS-XHLも例外なく連動して動作します。しかし、連動により立ち上がってからHDDのRAIDのチェックが行われるため、LS-XHLのデータ要求がタイムアウトしてしまい、u-bootで落ちてしまいました。</p>
<p>LS-XHLは赤LED点滅時に前面のFuncキーを押すとTFTPブートを行うので、/bootにあるinitrd.buffaloとuImage.buffaloをtftpサーバに設置し、TFTPブートさせると無事(?)RAIDディスクでブートしました。</p>
<p>単独でブートできない(つまり、rebootできない)のが残念ですが、ファイルサーバなので運用でカバーできる範囲だと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=52</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 八日目 〜Kernel〜</title>
		<link>http://www.chimaki.info/hack/?p=43</link>
		<comments>http://www.chimaki.info/hack/?p=43#comments</comments>
		<pubDate>Sat, 02 May 2009 16:33:33 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=43</guid>
		<description><![CDATA[やはり、Debianが動くといってもKernelがオリジナルのままでは利用できないアプリケーションも多いです。
例えば私の場合OpenVPNが利用したかったのですが、当然不要なmoduleはkernelから外されているた [...]]]></description>
			<content:encoded><![CDATA[<p>やはり、Debianが動くといってもKernelがオリジナルのままでは利用できないアプリケーションも多いです。</p>
<p>例えば私の場合OpenVPNが利用したかったのですが、当然不要なmoduleはkernelから外されているため利用できませんでした。</p>
<p>Kernelのソースコード自体は公開されており、Cross-Complie用の環境もあるのですが、シリアルがないのとconfigがないのとで起動しない場合にDebugができないため困難ですが、運良く動作する手順を発見したので紹介します。</p>
<h3>1. 必要なもの</h3>
<p>以下に必要なものを列挙します。</p>
<ul>
<li>32bit Ubuntu</li>
<li>Kernelソース</li>
<li>Cross Complie Tool Chain</li>
</ul>
<p>セルフコンパイルもできなくはないのですが、やはり時間がかかるのでクロスコンパイルを推奨します。</p>
<p>64bit用のツールチェインを取得すれば、64bitマシンでも動くとは思いますが簡単のために32bit Ubuntuとしています。</p>
<p>Kernelソースは<a href="http://opensource.buffalo.jp/">GPL/LGPL Resource &#8211; Buffalo</a>から入手します。</p>
<pre># wget http://buffalo.jp/php/los.php?to=gpl/storage/ls-xhl/100/linux-2.6.22.18.tar.bz2</pre>
<p>Cross Complie Tool ChainはSheevaPlugのものを利用しました。</p>
<pre># wget http://www.marvell.com/files/products/embedded_processors/developer/kirkwood/SheevaPlug_Host_SWsupportPackageLinuxHost.zip
# wget http://www.marvell.com/files/products/embedded_processors/developer/kirkwood/SheevaPlug_U-Boot.zip</pre>
<h3>2. クロス環境の整備</h3>
<p>取得したファイルを展開して、クロスコンパイルが出来るようにします。</p>
<pre># unzip SheevaPlug_Host_SWsupportPackageLinuxHost.zip
# cd LinuxHost
# tar xfj gcc.tar.bz2 -C /home
# cd ..
# unzip SheevaPlug_U-Boot.zip
# cd SheevaPlug_U-Boot/Tools
# cp mkimage /usr/bin
# cd -
# tar xfj linux-2.6.22.18.tar.bz2</pre>
<p>最後にクロス用のgccのパスを通します。</p>
<pre># export PATH=/home/gcc/bin:$PATH</pre>
<p>これで準備が整いました。</p>
<h3>3. Kernelのconfig</h3>
<p>configはないので、SheevaPlugの手順を参考に行います。</p>
<pre># cd linux-2.6.22.18
# make mv88f6281_defconfig
# make menuconfig
System Type -&gt; BUFFALO Features -&gt;
* BUFFALO_PLATFORM
* BUFFALO_ERRCNT
* USE interrupt driver
* USE gpio driver
* support board info from kernel
の５つにマークしてから、configを保存して終了</pre>
<p>Buffaloの設定項目は多いですが、実質コンパイルが通った上で起動するものは以上の設定のみです。</p>
<h3>4. uImageの作成</h3>
<pre># make uImage</pre>
<p>以上の操作でuImageがarch/arm/boot以下に作成されます。</p>
<p>出来上がったuImageをuImage.buffaloにリネームしてLS-XHLの/bootにコピーします。</p>
<h3>5. Reboot</h3>
<p>うまくいけば、上記の設定で起動するはずです。</p>
<p>dmesgを見て、エラーが出ているものを削ったり、足りない設定を追加などしてconfigを完成させます。</p>
<p>納得いくKernelが完成したら、Kernelモジュールを作成してインストールします。</p>
<pre>PC # make modules
PC # make modules_install
PC # cd binaries/lib/modules
PC # scp -r 2.6.22.18 root@&lt;LS-XHLのIPアドレス&gt;:/lib/modules/
LS-XHL # chown -R root:root /lib/modules/2.6.22.18
LS-XHL # depmod -a</pre>
<p>再起動して動作すれば、Kernelの入れ替えは終了です。</p>
<p>モジュールはmodprobeにより読み込むことが出来ます。</p>
<pre># modprobe bridge (module name)</pre>
<p>よく使うものは/etc/modulesにモジュール名を書いておくと、起動時に読み込まれます。</p>
<h3>6. USB</h3>
<p>USBを使うためには、一手間必要です。<br />
起動直後はUSBに電源が入っていないために、利用できません。miconaplを使ってUSBの電源を入れる必要があります。</p>
<pre># /usr/locsl/sbin/miconapl -a usb_set_power all_on</pre>
<p>利用の度に設定するのは面倒なので、/etc/rc.localに書いておくとよいかと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 七日目 〜boot〜</title>
		<link>http://www.chimaki.info/hack/?p=39</link>
		<comments>http://www.chimaki.info/hack/?p=39#comments</comments>
		<pubDate>Sat, 02 May 2009 15:16:42 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=39</guid>
		<description><![CDATA[いよいよBootのときがやってきました。
1. BOOT !
HDDをLS-XHLに組戻して電源を入れます。しばらく待ってpingが期待通りに通ったらSSHをしてみます。
# ssh root@&#60;LS-XHLのIP [...]]]></description>
			<content:encoded><![CDATA[<p>いよいよBootのときがやってきました。</p>
<h3>1. BOOT !</h3>
<p>HDDをLS-XHLに組戻して電源を入れます。しばらく待ってpingが期待通りに通ったらSSHをしてみます。</p>
<pre># ssh root@&lt;LS-XHLのIPアドレス&gt;
Linux ls-xhl01 2.6.22.18 #1 Sat May 2 17:44:39 JST 2009 armv5tejl

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:

http://help.ubuntu.com/

Last login: Sat May  2 20:34:37 2009 from macbook.local
#</pre>
<p>Congratiration!</p>
<h3><strong>ブートしない場合の対処法</strong></h3>
<h4>A. 青LEDが点滅して自動的に電源が落ちる</h4>
<p>initrdで失敗しています。linuxrcが適切に編集されていることを確認します。それでもダメなようであれば、パーティションの設定などが間違っている可能性や、ファイルが足りないなど考えられます。</p>
<h4>B. pingが通らない</h4>
<p>ネットワークの設定や、IPを確認してください。</p>
<p>MACアドレスをルータに設定して、DHCPとするのが確実です。</p>
<h4>C. pingは通るがログインできない</h4>
<p>ssh-serverが立ち上がっていない可能性があります。</p>
<p>もしくは設定したパスワードが間違っているかもしれません。</p>
<h3>2. miconapl</h3>
<p>最後にハード制御について設定をすることで完成となります。</p>
<p>/initrd以下にinitrd.buffaloが展開されて置かれますが、ここからmiconaplというハード制御コマンドをコピーします。</p>
<pre># cp -a /initrd/usr/local/sbin/miconapl /usr/local/sbin/
# cp -a /initrd/usr/local/lib/libbuffalo_bin.so* /usr/local/lib/
# ldconfig</pre>
<p>起動時にLEDの点滅が止まるように/etc/rc.localに記述を加えます。</p>
<pre># cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# boot complete
/usr/local/sbin/miconapl -a boot_end

# booting flag change.
echo 0 &gt; /proc/buffalo/booting

if [ -f /proc/buffalo/gpio/switch/sw_control ] ; then
        echo on &gt; /proc/buffalo/gpio/switch/sw_control
fi

# stop fan (option)
# /usr/local/sbin/miconapl -a fan_set_speed stop

exit 0</pre>
<p>上記ではFanを止める設定ですが、slowやfastなど設定をできます。(<a href="http://www.yamasita.jp/linkstation/ls-gl/tips/miconapl.html">参考</a>)</p>
<h3>3. Kernelモジュール</h3>
<p>必要であれば、Kernelモジュールを/initrd/lib/moduleからコピーして利用することができます。</p>
<p>usbなどを利用するためには必要ですが、それ以外の設定が必要など面倒が多いのでKernelに組み込む形で再構築を行った方が便利です。Kernelの再構築を行わないならば、/initrd/etc/init.d/usb.shなど関連するスクリプトを読み、必要な設定を行います。</p>
<p>次回よりKernelの再構築について説明するため、既存のmoduleの利用についてはこれ以上言及しません。</p>
<p>これで高速で、低消費電力なLinuxサーバが出来上がりました。</p>
<p>自由な世界を楽しみましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 六日目 〜initrd〜</title>
		<link>http://www.chimaki.info/hack/?p=32</link>
		<comments>http://www.chimaki.info/hack/?p=32#comments</comments>
		<pubDate>Sat, 02 May 2009 14:39:26 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=32</guid>
		<description><![CDATA[前回までで、基本的なDebian/Ubuntuのシステムが完成しました。
後はこれらのシステムが起動できるように細かい設定を行います。
HDDのパーティションを変更し、initrdを改変して作成したシステムがブートするよ [...]]]></description>
			<content:encoded><![CDATA[<p>前回までで、基本的なDebian/Ubuntuのシステムが完成しました。</p>
<p>後はこれらのシステムが起動できるように細かい設定を行います。</p>
<p>HDDのパーティションを変更し、initrdを改変して作成したシステムがブートするようにします。</p>
<h3>1. HDDのマウント、バックアップ</h3>
<p>LS-XHLを停止して、作成したファイルと現在の状態をすべてバックアップします。</p>
<pre># mkdir /mnt/boot /mnt/root /mnt/disk1
# mount /dev/sdb1 /mnt/boot
# tar cfz /mnt/boot-original.tar.gz /mnt/boot
# umount /mnt/boot
# mount /dev/sdb2 /mnt/root
# tar cfz /mnt/root-original.tar.gz /mnt/root
# umount /mnt/root
# mount /dev/sdb6 /mnt/disk1
# tar cfz /mnt/(debian|ubuntu)-root.tar.gz /mnt/disk1/(debian|ubuntu)-root
# umount /mnt/disk1</pre>
<h3>2. initrdの改変</h3>
<p>/bootに含まれていたinitrd.buffaloを展開して、中にあるlinuxrcを書き換えます。</p>
<p>ここでアップデートや、システムのチェックなどを行っていますが、それらを無効にして、システムがマウント出来るようにします。</p>
<pre># cp /mnt/boot_original.tar.gz .
# tar xfz boot_original.tar.gz
# cd boot
# ls
hddrootfs.buffalo initrd.buffalo u-boot.buffalo uImage.buffalo</pre>
<p>このinitrd.buffaloを編集するのですが、手順が多いのでスクリプトを作成しました。</p>
<pre># cat unpack.sh
#!/bin/sh

dd if=initrd.buffalo of=initrd.gz bs=64 skip=1
gunzip initrd.gz
mount -o loop initrd /mnt/initrd

# cat pack.sh
#!/bin/sh

umount /mnt/initrd
gzip initrd
mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo
rm initrd.gz</pre>
<p>注意事項としては、あらかじめマウントポイント(/mnt/initrd)を作成することと、uboot-mkimageパッケージをインストールしておくことです。</p>
<p>unpack.shでinitrd.buffaloを展開し、pack.shでintird.buffaloに圧縮します。いずれもルートで行ってください。</p>
<pre># ./unpack.sh
# cd /mnt/initrd
# vi linuxrc
(下記のようにする)
# cat linuxrc
==========================================================================
#!/bin/sh                                                                                                                                                  

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin

echo "---- in linuxrc ---"
echo "Version 1.00 2008/ 7/ 1"

mount proc /proc -t proc
mount sysfs /sys -t sysfs

. /usr/local/lib/libsys
. /usr/local/bin/libbuffalo
. /usr/local/lib/libmsg    

reset_date()
{
        TMP=`date "+%s"`
        if [ ${TMP} -lt 1133362800 ] || [ ${TMP} -ge 1606748400 ] ; then
                date ${INITIAL_DATE}
                if [ -L "${HW_CLOCK}" ] ; then
                        hwclock --systohc --localtime
                else
                        hwclock -w
                fi
        fi
}

# set the system time from the hardware clock
HW_CLOCK=`which hwclock`
if [ -L "${HW_CLOCK}" ] ; then
        # not busybox hwclock version
        hwclock --hctosys --localtime
else
        # busybox hwclock version
        hwclock -s
fi
reset_date
date

# reload /etc/nas_feature
# if failed to copy, anyway go on bootup process with empty setting.
[ -f /etc/nas_feature ] &amp;&amp; . /etc/nas_feature

ldconfig
depmod

## Setup Micon communication port and send flash-boot complete message.
miconapl -b -a boot_flash_ok &gt; /dev/null

ln -sf /dev/sde /dev/usbdisk1
ln -sf /dev/sdf /dev/usbdisk2
create_devlink

echo "0x802" &gt; /proc/sys/kernel/real-root-dev

umount /sys
umount /proc
umount -a
exit 0
==========================================================================
# cd -
# ./pack.sh</pre>
<p>以上でinitrdの編集は終わりです。変更点はHDDのチェックを飛ばす部分が中心です。</p>
<h3>3. パーティションの変更</h3>
<p>以前/etc/fstabに記載したようにパーティションを変更します。</p>
<p>LS-XHLは/dev/sdb1がboot、/dev/sdb2が/である必要があります。オリジナルの状態では、ダミーパーティション/dev/sdb3,4がある上、xfsフォーマットが使われているので他で扱いやすいようにext3に変更します。</p>
<p>GpartedなどGUIを使った方が簡単で、間違えません。次のようにフォーマットします。</p>
<pre>/dev/sdb1 /boot 512MB
/dev/sdb2 / (好きなだけ)
/dev/sdb3 linux-swap 512MB</pre>
<p>これだけではu-bootが/bootを読めないので、次のようにフォーマットします。(<a href="http://www.yamasita.jp/linkstation/2009/02/090215_post_163.html">参考</a>)</p>
<pre># mkfs.ext3 -j -m 0 -I 128 /dev/sdb1</pre>
<h3>4. ファイルの書き戻し</h3>
<p>準備が整ったので、ファイルを書き戻します。</p>
<pre># mount /dev/sdb1 /mnt/boot
# cp -a initrd.buffalo(改変したもの) u-boot.buffalo uImage.buffalo /mnt/boot/
# umount /mnt/boot
# mount /dev/sdb2 /mnt/root
# tar xfz (debian|ubuntu)-root.tar.gz -C /mnt
(最後に/mnt/rootで設定に誤りがないか確認します。)
# umount /mnt/root</pre>
<p>以上で(Debian|Ubuntu)のシステムが起動する準備ができました。<br />
次回はいよいよ起動して、残りの設定について解説します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 五日目 〜debootstrap〜</title>
		<link>http://www.chimaki.info/hack/?p=27</link>
		<comments>http://www.chimaki.info/hack/?p=27#comments</comments>
		<pubDate>Sat, 02 May 2009 13:17:53 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=27</guid>
		<description><![CDATA[Debian Lennyから、armel(kirkwood)が正式にサポートされています。
また、最新のUbuntu 9.04 jauntyでもlennyの成果を利用してarmelのサポートが行われています。
今回は、d [...]]]></description>
			<content:encoded><![CDATA[<p>Debian Lennyから、armel(kirkwood)が正式にサポートされています。</p>
<p>また、最新のUbuntu 9.04 jauntyでもlennyの成果を利用してarmelのサポートが行われています。<br />
今回は、deboostrapから最小のLinuxシステムを構築する方法を説明します。</p>
<h3>1. debootstrapの情報</h3>
<p>Lennyはhttp://www.jp.debian.org/releases/stable/arm/</p>
<p>Ubuntu(9.04)はhttps://help.ubuntu.com/9.04/installation-guide/i386/linux-upgrade.html</p>
<p>にdebootstrapの詳細な手順が記載されています。</p>
<p>付加的な情報として、Ubuntuでのarmelについてhttp://www.mail-archive.com/ubuntu-mobile@lists.ubuntu.com/msg01860.htmlがあります。</p>
<h3>2. debootstrapのインストール</h3>
<p>debootstrapというのは、既存のUNIX/Linux環境からDebian/Ubuntuをインストールする方法です。debootstrapを利用するためにはwgetとarが必要となります。これらはBuffaloのLS-XHLの中にすでに入ってるのでこれを利用します。</p>
<h4>Debianの場合</h4>
<pre># pwd
/root
# mkdir work
# cd work
# wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10lenny1_all.deb
# ar -x debootstrap_1.0.10lenny1_all.deb
# cd /
# zcat /root/work/data.tar.gz | tar xv</pre>
<h4>Ubuntuの場合</h4>
<pre># pwd
/root
# mkdir work
# cd work
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.13~jaunty1_all.deb
# ar -x debootstrap_1.0.13~jaunty1_all.deb
# cd /
# zcat /root/work/data.tar.gz | tar xv</pre>
<h3>3. debootstrapの作成</h3>
<p>debootstrapを作成するためのツールの準備ができたので、作成に入ります。</p>
<h4>Debianの場合</h4>
<pre># mkdir -p /mnt/disk1/debian-root
# /usr/sbin/debootstrap --arch armel lenny /mnt/disk1/debian http://ftp.us.debian.org/debian
...(しばらく待つ)</pre>
<h4>Ubuntuの場合</h4>
<pre># mkdir -p /mnt/disk1/ubuntu-root
# /usr/sbin/debootstrap --arch armel jaunty /ubuntu-root/ http://ports.ubuntu.com/ubuntu-ports
...(しばらく待つ)</pre>
<h3>4. 最小のLinuxへchroot</h3>
<p>最小のLinuxの準備ができたので、chrootしてLinuxのセットアップを行います。</p>
<p>以下の手順はDebian、Ubuntuで共通です。異なる部分についてはその時に述べます。</p>
<h4>A. chrootの実行</h4>
<pre># LANG=C chroot /mnt/disk1/(debian|ubuntu)-root /bin/bash</pre>
<h4>B. procのマウント</h4>
<pre># mount -t proc proc /proc</pre>
<h4>C. deviceの作成</h4>
<pre># cd /dev
# MAKEDEV -v generic</pre>
<h4>D. fstabの作成</h4>
<pre># vi /etc/fstab
==============================================================================
# /etc/fstab: static file system information.
#
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;                       &lt;dump&gt;
&lt;pass&gt;
proc            /proc           proc    defaults                        0 0
sys             /sys            sysfs    defaults                        0 0
/dev/sda1       /boot           ext3    defaults,noatime                0 1
/dev/sda2       /               ext3    defaults,noatime                0 0
/dev/sda3       swap            swap    defaults                        0 0
==============================================================================</pre>
<h4>E. タイムゾーンの設定</h4>
<pre># dpkg-reconfigure tzdata
(Asia / Tokyoを選択)</pre>
<h4>F. ネットワークの設定</h4>
<p>eth1がキーポイントです。</p>
<pre># vi /etc/network/interface
================================================================================
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

# We always want the loopback interface.
#
auto lo
iface lo inet loopback

# To use dhcp:
#
auto eth1
iface eth1 inet dhcp
================================================================================

# vi resolv.conf
================================================================================
nameserver &lt;Add Your Name Server&gt;
================================================================================</pre>
<h4>G. ホスト名の設定</h4>
<p>好きなホスト名を付けます。以下ではls-xhlとしています。</p>
<pre># vi /etc/hosts
================================================================================
127.0.0.1 ls-xhl
127.0.0.1 localhost
================================================================================

# vi /etc/hostname
================================================================================
ls-xhl
================================================================================</pre>
<h4>H. ロケールの設定</h4>
<pre>Debianの場合
# aptitude update
# aptitude install locales
# dpkg-reconfigure locales
================================================================================
ja_JP.ECU-JP ECU-JP
ja_JP.UTF-8 UTF-8

default ja_JP.UTF-8 UTF-8
================================================================================

Ubuntuの場合
# aptitude update
# aptitude install language-pack-ja</pre>
<h4>I. SSHサーバのインストール</h4>
<p>これが無いとログインができません。</p>
<pre># aptitude install openssh-server
# /etc/init.d/ssh start</pre>
<h4>J. その他</h4>
<p>/initrdディレクトリを起動後にinitrdが展開されて置かれるので、用意しておきます。</p>
<pre># mkdir /initrd</pre>
<p>使いそうなソフトをインストールしておきます。（後でインストールしても構いません。）</p>
<pre># aptitude install psmisc less ntpdate unzip bzip2</pre>
<p>最後にパスワードを設定します。ユーザーを追加するもの良いと思います。</p>
<pre># passwd</pre>
<p>これで準備が整いました。次回は、パーティションを切り直して、initrdを編集してdebian/ubuntuからブートできるようにします。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 四日目 〜telnet〜</title>
		<link>http://www.chimaki.info/hack/?p=19</link>
		<comments>http://www.chimaki.info/hack/?p=19#comments</comments>
		<pubDate>Sat, 02 May 2009 12:12:15 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=19</guid>
		<description><![CDATA[作業用のHDDが壊れてしまい、物理的な復旧とやる気の回復に時間がかかってしまいました。
しかし、LS-XHLのカーネルの再構築に成功したため、より多くの人にHackしてもらうために続きを書きたいと思います。
前回のTFT [...]]]></description>
			<content:encoded><![CDATA[<p>作業用のHDDが壊れてしまい、物理的な復旧とやる気の回復に時間がかかってしまいました。</p>
<p>しかし、LS-XHLのカーネルの再構築に成功したため、より多くの人にHackしてもらうために続きを書きたいと思います。</p>
<p>前回のTFTPにより出荷状態にHDDが戻ります。大容量のHDDに交換したり、Hackに飽きて戻す必要があれば前回までの手順でできます。</p>
<p>今回はtelnetを有効にして、出荷状態のLinuxへログインしたいと思います。</p>
<p>次の手順に進む前に、Web管理画面にアクセスできるかなど出荷状態に戻っていることを確認しましょう。</p>
<ol>
<li>IPアドレスの確認、変更</li>
<li>Telnet有効化</li>
</ol>
<h3>1. IPアドレスの確認、変更</h3>
<p>まずIPアドレスを確認します。デフォルトではDHCPでアドレスが決定するので、どのIPアドレスが割り振られたかは簡単には分かりません。Windowsであれば、付属のツールを使えばIPアドレスの確認、変更ができます。</p>
<p>それが面倒であれば、DHCPサーバにMACアドレスを登録して固定IPを払い出す方法があります。</p>
<p>一般家庭であれば、ルータにDHCP固定IPアドレス設定などあると思いますのでLS-XHLのMACアドレスを登録しておくと後々便利となります。</p>
<h3>2. Telnet有効化</h3>
<p>動作確認を終えたら、HDDを取り出してLinuxマシンに接続します。</p>
<p>何度か抜き差しすることになるので、eSATAケーブルか何かで接続してホットスワップできるようにしておくとよいでしょう。</p>
<p>以下、/dev/sdbにLS-XHLのHDDが接続されていると仮定します。（適宜読み替えてください。）</p>
<p>まず、ルートファイルシステムをマウントします。</p>
<pre># mkdir /mnt/root
# mount /dev/sdb2 /mnt/root</pre>
<p>次に起動スクリプトrcSを編集して、telnetdを起動するように追記します。</p>
<pre># vi /mnt/root/etc/init.d/rcS
(最終行に以下を追記します)
/usr/sbin/telnetd</pre>
<p>rootパスワードを消去します。</p>
<pre># vi /mnt/root/etc/shadow
root:(ここの文字列を削除):11009:0:99999:7:::</pre>
<p>これでtelnetdが起動し、rootでログインできるようになります。</p>
<p>HDDをLS-XHLに接続して、起動します。</p>
<pre>$ telnet &lt;LS-XHLのIPアドレス&gt;</pre>
<p>これでLS-XHLへとTelnetが出来るはずです。</p>
<p>次回は、Telnetが出来たマシン上でDebianもしくはUbuntuのシステムをゼロから作成する手順を紹介します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 三日目 〜TFTP〜</title>
		<link>http://www.chimaki.info/hack/?p=15</link>
		<comments>http://www.chimaki.info/hack/?p=15#comments</comments>
		<pubDate>Sun, 29 Mar 2009 13:00:03 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=15</guid>
		<description><![CDATA[まずは、空のHDDを使って製品出荷時の状態に戻します。
その状態でTelnetを有効化し、ログインしてLS-XHL上で操作できるようにします。
今回の手順は以下となります。

最新のファームウェアの取得
TFTPサーバの [...]]]></description>
			<content:encoded><![CDATA[<p>まずは、空のHDDを使って製品出荷時の状態に戻します。<br />
その状態でTelnetを有効化し、ログインしてLS-XHL上で操作できるようにします。</p>
<p>今回の手順は以下となります。</p>
<ol>
<li>最新のファームウェアの取得</li>
<li>TFTPサーバの設定</li>
<li>LS-XHLのTFTPブート</li>
</ol>
<h3>1. 最新のファームウェアの取得</h3>
<p>まずは<a href="http://buffalo.jp/download/driver/hd/ls-xhl.html">Buffaloの製品ページ</a>から最新のファームをダウンロードします。<br />
今回はversion 1.04βでした。</p>
<p>ダウンロード後にWindows上で解凍します。<br />
解凍してできたファイルのinitrd.imgとuImage.buffaloを別のところへコピーしておきます。<br />
コピーしたinitrd.imgをinitrd.zipと拡張子を変更して、zipを解凍します。<br />
解凍する場合にパスワードを求められますが、「linkstation + password」でググればすぐ分かります。<br />
解凍してできたinitrd.buffaloとuImage.buffaloをTFTPサーバのフォルダーにコピーします。</p>
<h3>2. TFTPサーバの設定</h3>
<p>LS-XHLを工場出荷状態に戻すために、TFTPブートを行います。<br />
今回は<a href="http://tftpd32.jounin.net/">tftp32</a>を使用しました。ノートPCとクロスケーブルで簡単に行えます。</p>
<p>tftp32の設定は以下のとおりです。<br />
Current Directory C:\LS-XHL (ここにinitrd.buffaloとuImage.buffaloをコピーする)<br />
DHCP server<br />
IP pool starting address 192.168.11.10<br />
Mask 255.255.255.0<br />
と設定します。</p>
<p>PCのIPを192.168.11.1(Mask 255.255.255.0)に設定します。<br />
(Windowsのファイアーウォールは無効にしておくこと。)</p>
<h3>3. LS-XHLのTFTPブート</h3>
<p>PCとLS-XHLをクロスケーブルで接続して、電源を入れます。<br />
LEDが赤点滅になったら、LS-XHLのFuncボタン（小さいプッシュスイッチ）を押すことで、TFTPブートに移行できます。青点滅から青点灯になったら起動完了です。</p>
<p>その後、LSUpdaterを起動するとLS-XHLがEMモードで見つかるのでファームウェア更新を実行します。</p>
<p>下記のような警告が出ますが、構わず続行します。<br />
===========================================================<br />
HDDのパーティション情報が確認できませんでした<br />
HDDをフォーマットし、ファームウェアのアップデートを行います<br />
*HDDの内容は完全に消えてしまいます</p>
<p>HDDのフォーマットをおこなってもよろしいですか？<br />
===========================================================</p>
<p>再起動後は工場出荷状態になっているはずです。<br />
Webの管理画面にアクセスできるか確かめましょう。</p>
<p>次は、Telnetを有効にしてログインした後にDebianをインストールする準備をします。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=033513e5-11dc-89ef-9453-0d0765d3aa31" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=15</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 二日目 〜HDD〜</title>
		<link>http://www.chimaki.info/hack/?p=13</link>
		<comments>http://www.chimaki.info/hack/?p=13#comments</comments>
		<pubDate>Thu, 26 Mar 2009 14:15:52 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=13</guid>
		<description><![CDATA[分解がうまくできたら選択が必要です。

HDDを温存し、新しいHDDにDebianをインストールする。
入っていたHDDを消去して、Debianを使う。

現在HDDはとても安価ですので、少ない容量のものをHack用とし [...]]]></description>
			<content:encoded><![CDATA[<p>分解がうまくできたら選択が必要です。</p>
<ol>
<li>HDDを温存し、新しいHDDにDebianをインストールする。</li>
<li>入っていたHDDを消去して、Debianを使う。</li>
</ol>
<p><a href="http://kakaku.com/pc/hdd-35inch/">現在HDDはとても安価</a>ですので、少ない容量のものをHack用として調達するか、運用のために大容量のHDDを買ってHackするかして、なるべくもとのHDDはHackが成功するまで取って置いた方が（万が一Hackできる技術がないと判明した場合）安全です。</p>
<p>Debianをインストールする方法を解説をしようと思いますが、Debianを簡単にインストールするスクリプトを用意したりはしないので、ご自身のスキルに合わせた選択をしてください。</p>
<p>またGNU partedが使えるLinuxが必要です。DebianもしくはUbuntuなどが良いでしょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LS-XHL de Debian 一日目 〜分解〜</title>
		<link>http://www.chimaki.info/hack/?p=11</link>
		<comments>http://www.chimaki.info/hack/?p=11#comments</comments>
		<pubDate>Tue, 24 Mar 2009 15:47:53 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=11</guid>
		<description><![CDATA[手頃な値段で、コンパクトなKirkwood搭載組み込みLinuxであるLS-XHLにdebianをインストールして使う方法を紹介します。
将来的には誰か親切な人がLS-XHLを分解することなくDebianマシンとして利用 [...]]]></description>
			<content:encoded><![CDATA[<p>手頃な値段で、コンパクトなKirkwood搭載組み込みLinuxであるLS-XHLにdebianをインストールして使う方法を紹介します。</p>
<p>将来的には誰か親切な人がLS-XHLを分解することなくDebianマシンとして利用できる方法を用意してくれるかもしれませんが、とりえあず現在は分解してHDDをPCでマウントして操作しなければなりません。できればUbuntuがインストールされていると、色々と都合がよいです。</p>
<p>Kirkwoodはarmel対応として、debian Lennyで正式にサポートされました。Ubuntuが0904版のリリースで対応を表明していますが、現在はAlphaサポートなので少し待ちます。0904がリリースされたときには、Ubuntuの手順も合わせて公開できればと考えています。</p>
<p>まず最初にLS-XHLを分解してHDDを取り出す必要があります。</p>
<p>手順は<a href="http://www.yamasita.jp/linkstation/2009/01/090119__disassemble_1.html">先人</a>に感謝を表して、繰り返し写真を掲載しません（手抜き）。</p>
<p>爪楊枝をファン側上部の穴から差し込んで、上の爪をまず外した後に、Ethernetコネクタ側の爪をマイナスドライバなどで丁寧に外せば奇麗にふたをあけることができます。</p>
<p>最初に底面のシールを剥がしておいた方が簡単にできます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Kirkwood ?</title>
		<link>http://www.chimaki.info/hack/?p=3</link>
		<comments>http://www.chimaki.info/hack/?p=3#comments</comments>
		<pubDate>Sun, 22 Mar 2009 15:48:18 +0000</pubDate>
		<dc:creator>brdofprds</dc:creator>
				<category><![CDATA[Kirkwood]]></category>
		<category><![CDATA[LS-XHL]]></category>

		<guid isPermaLink="false">http://chimaki.info/hack/?p=3</guid>
		<description><![CDATA[KirkwoodとはMarvell社が製造している、ARMプロセッサーです。(参考URL)
下記の理由により現在とても熱い！

 1.2GHz ARMと今までにないスピード
Kernel Sourceとスペック詳細の公開 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Kirkwood</strong>とはMarvell社が製造している、ARMプロセッサーです。(<a href="http://www.marvell.com/products/embedded_processors/kirkwood/index.jsp">参考URL</a>)</p>
<p>下記の理由により現在とても熱い！</p>
<ol>
<li> 1.2GHz ARMと今までにないスピード</li>
<li>Kernel Sourceとスペック詳細の公開( SheevaPlug)</li>
<li> LinkStaion LS-XHLに搭載されている</li>
</ol>
<p>とりあえず、<a href="http://www.marvell.com/products/embedded_processors/kirkwood/index.jsp">ここ</a>にスペックシートが置いてあるので、ゆっくり眺めてくださいな。</p>
<p>個人的な注目ポイント</p>
<ul>
<li>SATA Port Multiplierに対応</li>
</ul>
<p>すでに、このサイトは<strong>LS-XHL</strong>(Buffalo LinkStaion)をHackしてDebian(Lenny)で運用しています。</p>
<p>玄箱なんて正直遅いよねぇ〜とか、PCでのサーバは地球に優しくないよねぇ〜とか思っているひとはLS-XHLをHackしてみては？</p>
<p>これから、Hackの記録と運用の記録をこのBlogに残そうと思います〜それでは</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chimaki.info/hack/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
