Debian on chumbyに挑戦中。その5¶
Chumby起動時に、USBメモリに入れたchroot環境のLennyからsshdを起動させるようにしますた。sshでログインするとこんな感じ。興味がある方は、今週土曜のOSCの東京エリアDebian勉強会のブースへどうぞ。
$ ssh -p 2222 chumby
Debian GNU/Linux 5.0
Enter passphrase for key '/home/hoge/.ssh/id_rsa':
Linux debian 2.6.18 #26 PREEMPT Mon Jul 9 15:20:07 JST 2007 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Feb 19 04:17:41 2009 from xxx.xxx.xxx.xxx
Linux debian 2.6.18 #26 PREEMPT Mon Jul 9 15:20:07 JST 2007 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
(chroot)hoge@chumby:~$ cat /etc/debian_version
5.0
(chroot)hoge@chumby:~$ cat /proc/cpuinfo
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)
BogoMIPS : 174.89
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 4
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Freescale MX21ADS
Revision : 0000
Serial : 0000000000000000
(chroot)hoge@chumby:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:14 ? 00:00:02 init
root 2 1 0 04:14 ? 00:00:00 [ksoftirqd/0]
root 3 1 0 04:14 ? 00:00:00 [watchdog/0]
root 4 1 0 04:14 ? 00:00:00 [events/0]
root 5 1 0 04:14 ? 00:00:00 [khelper]
root 6 1 0 04:14 ? 00:00:00 [kthread]
root 14 6 0 04:14 ? 00:00:00 [kblockd/0]
root 17 6 0 04:14 ? 00:00:00 [khubd]
root 59 6 0 04:14 ? 00:00:00 [pdflush]
root 60 6 0 04:14 ? 00:00:00 [pdflush]
root 62 6 0 04:14 ? 00:00:00 [aio/0]
root 61 1 0 04:14 ? 00:00:00 [kswapd0]
root 679 1 0 04:14 ? 00:00:02 [mtdblockd]
root 680 1 0 04:14 ? 00:00:00 [ftld]
root 681 1 0 04:14 ? 00:00:00 [nftld]
root 718 6 0 04:14 ? 00:00:00 [scsi_eh_0]
root 719 6 0 04:14 ? 00:00:00 [usb-storage]
root 982 1 0 04:14 ? 00:00:00 [jffs2_gcd_mtd1]
root 990 1 0 04:14 ? 00:00:00 /sbin/syslogd -C200
root 997 1 0 04:14 ? 00:00:00 /sbin/udevd --daemon
root 1039 1 0 04:15 ? 00:00:00 mountmon --daemon
root 1373 1 0 04:15 ? 00:00:00 headphone_mgr
root 1436 1 0 04:15 ? 00:00:00 btplayd
root 1523 1 0 04:15 ? 00:00:00 [rt73]
root 1524 1 0 04:15 ? 00:00:00 [rt73]
root 1838 1 0 04:15 ? 00:00:00 udhcpc -t 5 -n -p /var/run/udh
root 1916 1 0 04:15 ? 00:00:00 /usr/sbin/httpd -h /www
root 1933 1 0 04:15 ? 00:00:00 mDNSResponder
root 1955 1 0 04:15 ? 00:00:00 mDNSPublish hoge _http._tcp
root 1970 1 0 04:15 ? 00:00:00 chumbhowld
root 1982 1 0 04:15 ? 00:00:00 /usr/sbin/crond -c /etc/cron/c
root 1997 1 0 04:15 ? 00:00:00 /usr/sbin/sshd
root 2002 1 0 04:15 ? 00:00:00 /bin/chumbalarmd
root 2003 1 0 04:15 ? 00:00:00 /bin/sh /usr/chumby/scripts/st
root 2005 1 0 04:15 ttyS0 00:00:00 init
root 2095 2003 28 04:15 ? 00:02:05 /usr/bin/chumbyflashplayer.x -
root 2096 2095 0 04:15 ? 00:00:00 sh -c chumbpipe /tmp/.fpcmdse
root 2097 2096 0 04:15 ? 00:00:00 chumbpipe /tmp/.fpcmdsend /tmp
root 2366 1997 4 04:22 ? 00:00:01 sshd: hoge [priv]
hoge 2370 2366 0 04:22 ? 00:00:00 sshd: hoge@pts/0
hoge 2371 2370 13 04:22 pts/0 00:00:03 -bash
hoge 2416 2371 0 04:23 pts/0 00:00:00 ps -ef
Debian on chumbyに挑戦中。その4¶
あー、 chrootする前に/procをバインドするの忘れてた …。orz
chumby:~# mount -o bind /proc /mnt/usb2/proc
chumby:~# chroot /mnt/usb2
chumby:/1 df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 1373548 181321 1118946 14% /
tmpfs 1373548 181321 1118946 14% /lib/init/rw
sysfs 1373548 181321 1118946 14% /sys
udev 1373548 181321 1118946 14% /dev
tmpfs 1373548 181321 1118946 14% /dev/shm
devpts 1373548 181321 1118946 14% /dev/pts
mandbの更新の時に、/var/cache/man/以下にindex cacheを作るのを失敗した以外は正常だった。これで無事、Lennyへのアップグレードが完了できますた。これで今週末のOSCのネタが間に合ったよ。
Debian on Chumby.¶
I used Debian Etch for Armadillo-9 images . I divided a USB fhumb drive into two partitions. First partition as /dev/sda1 is vfat format. Second partition as /dev/sda2 is ext2 format. I mounted /dev/sda2 as /mnt, and extracted debian-etch-a9-[1-5].tgz on /mnt.
By the way, Chumby doesn’t support ext2 filysystem. Then I rebuild Linux Kernel for Chumby to support ext2 filesystem. Please look at Chumby Wiki about the way.
After updating the kernel of Chumby, I mounted the Etch partition installed in USB thumb drive. I inserted USB thumb drive to USB Port of Chumby, then powered on chumby. I logged on by ssh, I had done chroot to /mnt/usb2 as Debian on Chumby.
Debian on chumbyに挑戦。その3¶
先日、Lennyのarmel版をQemuを使ってUSBメモリに入れ、chumbyで動かしてみる、という試みを行ったが、”Illegal instruction”となり行き詰まってしまっていたところ、id:kinnekoさんに、
lennyはarmel(EABI)? chumbyはARM(OABI)だから注意。
とアドバイスを頂いたので、armアーキテクチャでのイメージを使うことにしてみた。のだが、Lennyで公開されているインストールイメージは、Qemuでは軒並みインストールできなかった。何故かなぁと思って、Lennyのインストールガイドをちゃんと読んだら書いていた。
http://www.debian.org/releases/stable/arm/ch02s01.html.ja#id2713668
Versatile プラットフォームは QEMU でエミュレートされており、そのためハードウェアがなくても ARM での Debian のテストや実行を行う良い方法です。
Versatileサブアーキテクチャはarmelだった。残念。
とはいえ、諦めるわけにもいかんので、どうしたもんかなぁと思っていたのだが、前回のOSCで使ったARM9の組込機器の存在を忘れていた。Armadillo-9ですな。しかも、Armadillo-9自体が販売開始されたのは3年以上前。 確実にEABIじゃない はず。ということで、 Armadillo-9はDebian用のハードディスクイメージが公開されている ので、そのイメージを使ってみることにした。結果から言うと、あっさりできた。前回同様、/mnt/usb2にマウントしたDebianイメージ(etch)にchrootできた。良かったよかった。
手順は非常に簡単。
リンク先 のtarボールとmd5ハッシュをすべてダウンロード。
md5ハッシュのチェック。
$ md5sum -c *.md5
ext2フォーマットのUSBメモリ領域に、上記5つのtarボールを展開する。
$ sudo mount /dev/sda2 /mnt
$ cd /mnt
$ tar zxf ~/debian-etch-a9-1.tgz
$ tar zxf ~/debian-etch-a9-2.tgz
$ tar zxf ~/debian-etch-a9-3.tgz
$ tar zxf ~/debian-etch-a9-4.tgz
$ tar zxf ~/debian-etch-a9-5.tgz
Chumbyの電源を落としてから、USBメモリを挿し、電源を入れる。
sshdを起動し、ssh経由でログインし、/mnt/usr2にchrootする。
$ ssh root@chumby
,.....,
.rchERQQQQQQQQQQQQQQp:
.fQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQR
hQQQQQQQRRRRMMZDEEbb00009999000bEZRQQQ
QQQQRDb09ppppPPPPXXXXXXXXXXXXXXXXPPPpbZQ:
QQMbpPXSSSPpppPXXSSSXXXXXXXP99PPXXSSSXP0QQ
QQ0XSSSShbQQMMQQZPXXXXXXXXPQQRRQQ9PXXXXXpZQ
:Q9XSSXXhRF EQpXXXXXXPR .Q0PXXXXP0Q
tQPXXXXSZr , tQPXXXXSR QpXXXXX9Q
JQPXXXXXQ 7QQQQ, Q9XXXSPQ QQ Q9XXXXX0Q
:QpXXXSPQ QQQQ Q9XXXSpQ: 7QPXXXXXbQ
Q0XXXS9QR QRPXXXX0MQZ ,QQpXXXXXXDZ
RMPXSX9DQQ: LQQPXXXXXpERQQQQQQ0PXXXXXXQr
.QpXSXP0ZRQQQQQQZpXXXXXXPp0DMRZ0pXXXXXXSXQ
QpXXXXP9EMRRRD9PXXXXXXXXXPPPPXXSXXXXXXSPQ
QpXXXSXPPpppPXSSXXXXXXXXSSSSSSSXXXXXXXSER
.QPXXXXXSSSSSSSSXXXXXXXXXXXXXXXXXXXXXXXXZR
RDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSX0Q.
r9QQQQQQQQQQZpXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0RQQY
.EQQQQQQQQQRRRRZ0PXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPPPP9ERQQQD
.QQQQQQQRQQRQQQRM9PXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXhQQQZ990EMQQQ0
9QQQQQQQQMPtYLrirrrpPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSD: .9QQE99bMRQQ:
hb. ZpXXXXXXbQMPXXXXXXXXXXXXXXXXSpEPXXXXX9Q .QQR00EMQQZ
DQ9XXSXPRQP ZPXXXXSPQEPXXXXXS9b2RPXXSX9Qf FQQEbDRQQ
iQQ9PXXPQQ: 1ZXXXXhZQ iMXXXXSXQ pQpXXX0MQ :QQQRRQh
2QR9XXXQQ, QQPXXXhRF rQPXXXSQ QDPXXPbQZ 7RQQQ
.QEPXhbQ: QQpXXXhQ7 QEXXXS9b QpXXX9MQ
QRPSXQD QQpXXXhQ7 Q9XXXSQ, 2QPXXPbQr
Q0XpQi 1QpXXSSQL jQPXXSXQ QQPXX9QM
QpMQ QbXSSPQi QMXSXS0Q RQpPpRQ
QQU tQpSSEQ QbXSSSQU YQD9RM
Q QRPpQ0 QbXSSSQ QQQr
QMQQ QMPShQF :Q
QQ. :QpPQb
QQQr
i
BusyBox v1.6.1 (2008-07-24 11:14:52 PDT) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
chumby:~# df
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock5 33.0M 33.0M 0 100% /
none 30.2M 16.0k 30.2M 0% /dev
none 32.0M 552.0k 31.5M 2% /tmp
none 32.0M 60.0k 31.9M 0% /var
none 32.0M 0 32.0M 0% /mnt
/dev/mtdblock1 2.0M 1.6M 440.0k 79% /psp
/dev/sda1 475.5M 1.4M 474.1M 0% /mnt/usb
/dev/sda2 1.3G 118.6M 1.1G 9% /mnt/usb2
chumby:~# chroot /mnt/usb2
chumby:/1 ls
bin dev home lib media opt root srv tmp var
boot etc initrd lost+found mnt proc sbin sys usr
chumby:/2 cat /etc/devian_version
4.0
うむ、素晴らしい。
ついでにchroot環境のetchをlennyにアップグレードを試みた。¶
Etchで最新状態にした後、apt lineをlennyに変更し、apt-get updateまでは良かったのだが、upgrade途中でコケる。
(Reading database ... 7335 files and directories currently installed.)
Preparing to replace coreutils 5.97-5.3 (using .../coreutils_6.10-6_arm.deb) ...
Unpacking replacement coreutils ...
rm: cannot remove `/var/lib/dpkg/tmp.ci/control': Function not implemented
dpkg: error while cleaning up:
subprocess rm cleanup returned error exit status 1
Setting up coreutils (6.10-6) ...
rm: cannot remove `/var/lib/dpkg/tmp.ci/control': Function not implemented
dpkg: error processing /var/cache/apt/archives/diff_2.8.1-12_arm.deb (--unpack):
subprocess rm cleanup returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/diff_2.8.1-12_arm.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
うむ、さて困ったなぁ。でもだいぶ進歩したな。
二日遅れのバレンタイン¶
ヨメから二日遅れのバレンタインで焼酎をもらった。『琉球泡盛 琥珀伝説 暖流』。オーク樽で大切に育てましたとある通り、ウィスキーのような香りがする古酒。”まずはオンザロックで味わいください。”とある通りに飲んでみたら、これが美味い。ヨメに感謝。