ないなら自分で入れればいいじゃないかと、 telnetd を仕込んでみる。
yasunari@qube:~$ ssh -l root qvl root@LS-QVLF42:~#
root@LS-QVLF42:~# cd /boot root@LS-QVLF42:/boot# ls builddate.txt initrd.buffalo lost+found/ uImage.buffalo conf_save.tgz log.tgz u-boot_lsqvl.bin root@LS-QVLF42:/boot# dd if=initrd.buffalo of=initrd.gz bs=64 skip=1 150232+1 records in 150232+1 records out root@LS-QVLF42:/boot# root@LS-QVLF42:/boot# gunzip initrd.gz root@LS-QVLF42:/boot# mkdir /tmp/root root@LS-QVLF42:/boot# mount -o loop initrd /tmp/root root@LS-QVLF42:/boot#
root@LS-QVLF42:/boot# cd /tmp/root/etc root@LS-QVLF42:/tmp/root/etc# vi shadow : : root@LS-QVLF42:/tmp/root/etc# grep root shadow root::11009:0:99999:7::: root@LS-QVLF42:/tmp/root/etc#
root@LS-QVLF42:/tmp/root/etc# cd ..
root@LS-QVLF42:/tmp/root# ls
bin/        etc/        lost+found/ root/       share/      usr/
debugtool/  lib/        mnt/        rootfs/     sys/        var/
dev/        linuxrc*    proc/       sbin/       tmp/        www/
root@LS-QVLF42:/tmp/root# mv linuxrc{,.orig}
root@LS-QVLF42:/tmp/root# cp linuxrc{.orig,}
root@LS-QVLF42:/tmp/root# vi linuxrc
	:
	:
root@LS-QVLF42:/tmp/root# !cp:s/cp/diff -u/
diff -u linuxrc{.orig,}
--- linuxrc.orig        Mon Mar 12 14:37:14 2012
+++ linuxrc     Sun Jun 17 16:46:02 2012
@@ -369,6 +369,7 @@
 RamdiskRoot()
 {
        echo "-RamdiskRoot-"
+       /usr/sbin/telnetd
        echo "0x100" >/proc/sys/kernel/real-root-dev
 }
@@ -467,7 +468,7 @@
 echo "linuxrc:choose operation (timeout 4[s])"
 echo -n " 1:RamRoot other:HddRoot  ? "
 ## timeout is 4[s]
-ANSWER=`/usr/local/bin/keyinput -t 4`
+ANSWER=1
 case "$ANSWER" in
   1) RamdiskRoot ;;
   9) CommandMode ;;
root@LS-QVLF42:/tmp/root# ls -l linuxrc*
-rwxr-xr-x    1 root     root        10387 Jun 17 16:46 linuxrc*
-rwxr-xr-x    1 root     root        10397 Mar 12 14:37 linuxrc.orig*
root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cp /mnt/disk1/share/hackkit/091128_lenny/busybox/busybox-telnetd_static usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l usr/sbin/telnetd -rwxr--r-- 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# chmod +x !$ chmod +x usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l !$ ls -l usr/sbin/telnetd -rwxr-xr-x 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# usr/sbin/telnetd root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cd / root@LS-QVLF42:/# umount /tmp/root umount: cannot umount /mnt/ram/root: Device or resource busy root@LS-QVLF42:/# ps | grep telnetd 18524 root 868 S usr/sbin/telnetd root@LS-QVLF42:/# kill 18524 root@LS-QVLF42:/# !umount umount /tmp/root root@LS-QVLF42:/#
root@LS-QVLF42:/# cd /boot
root@LS-QVLF42:/boot# mv initrd.buffalo{,.orig}
root@LS-QVLF42:/boot# gzip initrd
root@LS-QVLF42:/boot# 
mkimage はあったか?
root@LS-QVLF42:/boot# mkimage -bash: mkimage: command not found root@LS-QVLF42:/boot#ない。
root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage
Usage: /mnt/disk1/share/hackkit/mkimage -l image
          -l ==> list image header information
       /mnt/disk1/share/hackkit/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage  -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo
Image Name:   initrd
Created:      Sun Jun 17 16:55:44 2012
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    9890857 Bytes = 9659.04 kB = 9.43 MB
Load Address: 0x00000000
Entry Point:  0x00000000
root@LS-QVLF42:/boot# ls -l initrd.buffalo*
-rw-r--r--    1 root     root      9890921 Jun 17 16:55 initrd.buffalo
-rw-r--r--    1 root     root      9614969 Mar 13 13:11 initrd.buffalo.orig
root@LS-QVLF42:/boot#
できた。
root@LS-QVLF42:/boot# reboot root@LS-QVLF42:/boot#LED は、
yasunari@qube:~$ telnet qvl Trying 192.168.2.56... Connected to qvl.yamasita.jp. Escape character is '^]'. BUFFALO INC. LinkStation series sh-3.2# sh-3.2# cat /proc/buffalo/board_info BoardId=83 BoardName=MVLSQV sh-3.2# sh-3.2#きたー。
| 
 | 
| ← 実験用 HDD の作成 | ハックの記録 LinkStation/玄箱 をハックしよう | → ハックキットのインストール | 
Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市