Target Hardware †
- IO-DATA LANDISK Series
This project's goal is to turn the IO-Data Network Attached Storage device into an freely accessible Linux box. The device is available in several configurations:
- Specification
- Processor: SH4 266MHz(SH7751R)
- Interface: 2 channels USB 2.0
- Storage Capacity: HDD 160GB (HDL-160U), 250GB, 300GB, 400GB
- Network Interface: 100BASE-TX/10BASE-T
The device comes with a Linux 2.4 inside. There is the possibility to update to 2.6 and it is also possible to install Debian in a different partition. This gives you the choice at startup to either boot as original or as a Debian system. In case of booting Debian, you will not have the original functions, like user accounts, NAS, FTP, etc, but instead a lot of other functions as you can install the software packages.
Linux Kernel †
The original OS is linux-sh-2.4.21 . A new version linux-sh-2.6.22 is available from the linuxSH homepage.
The sourcecode for LANDISK target available here.
debian26 userland for SH4 †
- What is debian26
We are calling this userland debian26 in locals.
- debian etch at Nov 2005
- compiled by gcc-4.0.2
- The linuxSH kernel 2.6 image is included.
- Xorg-X11 with USB2VGAs Support for connecting VGA display.
- About 1900 debian packages compiled for SH4 can be used.
- base26-sh4-xxxxxxxx-etch.tgz archive contains the following.
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-===================-===================-======================================================
ii adduser 3.77 Add and remove users and groups
ii apt 0.6.42.1 Advanced front-end for dpkg
ii apt-utils 0.6.42.1 APT utility programs
ii aptitude 0.2.15.9-7 terminal-based apt frontend
ii at 3.1.9 Delayed job execution and batch processing
ii base-config 2.73 Debian base system configurator
ii base-files 3.1.9 Debian base system miscellaneous files
ii base-passwd 3.5.10 Debian base system master password and group files
ii bash 3.0-17 The GNU Bourne Again SHell
ii bsdmainutils 6.1.2 collection of more utilities from FreeBSD
ii bsdutils 2.12p-8 Basic utilities from 4.4BSD-Lite
ii console-common 0.7.54 Basic infrastructure for text console configuration
ii console-data 2002.12.04dbs-49 Keymaps, fonts, charset maps, fallback tables for cons
ii console-tools 0.2.3dbs-57 Linux console and font utilities
ii coreutils 5.2.1-2.1 The GNU core utilities
ii cpio 2.6-9 GNU cpio -- a program to manage archives of files
ii cron 3.0pl1-91 management of regular background processing
ii debconf 1.4.58 Debian configuration management system
ii debconf-i18n 1.4.58 full internationalization support for debconf
ii debianutils 2.15 Miscellaneous utilities specific to Debian
ii dhcp-client 2.0pl5-19.1 DHCP Client
ii diff 2.8.1-11 File comparison utilities
ii dpkg 1.13.11 package maintenance system for Debian
ii dselect 1.13.11 user tool to manage Debian packages
ii e2fslibs 1.38-2 ext2 filesystem libraries
ii e2fsprogs 1.38-2 ext2 file system utilities and libraries
ii ed 0.2-20 The classic unix line editor
ii exim4 4.54-1 metapackage to ease exim MTA (v4) installation
ii exim4-base 4.54-1 support files for all exim MTA (v4) packages
ii exim4-config 4.54-1 configuration for the exim MTA (v4)
ii exim4-daemon-light 4.54-1 lightweight exim MTA (v4) daemon
ii findutils 4.2.25-1 utilities for finding files--find, xargs, and locate
ii gcc-4.0-base 4.0.2-2 The GNU Compiler Collection (base package)
ii gettext-base 0.14.5-2 GNU Internationalization utilities for the base system
ii gnupg 1.4.1-1 GNU privacy guard - a free PGP replacement
ii grep 2.5.1.ds2-2 GNU grep, egrep and fgrep
ii groff-base 1.18.1.1-10 GNU troff text-formatting system (base system componen
ii gzip 1.3.5-12 The GNU compression utility
ii hostname 2.91 utility to set/show the host name or domain name
ii ifupdown 0.6.7 high level tools to configure network interfaces
ii info 4.8-1 Standalone GNU Info documentation browser
ii initscripts 2.86.ds1-4 Standard scripts needed for booting and shutting down
ii iptables 1.3.3-2 Linux kernel 2.4+ iptables administration tools
ii iputils-ping 20020927-3 Tools to test the reachability of network hosts
ii kernel-image-2.6.22 custom.0.0 Linux kernel binary image for version 2.6.22-landisk
ii kexec-tools 1.101-2sh kexec tool
ii klogd 1.4.1-17 Kernel Logging Daemon
ii laptop-detect 0.12.1 attempt to detect a laptop
ii libacl1 2.2.32-1 Access control list shared library
ii libattr1 2.4.25-1 Extended attribute shared library
ii libblkid1 1.38-2 block device id library
ii libbz2-1.0 1.0.2-10 high-quality block-sorting file compressor library - r
ii libc6 2.3.5-8 GNU C Library: Shared libraries and Timezone data
ii libcap1 1.10-14 support for getting/setting POSIX.1e capabilities
ii libcomerr2 1.38-2 common error description library
ii libconsole 0.2.3dbs-57 Shared libraries for Linux console and font manipulati
ii libdb2 2.7.7.0-10 The Berkeley database routines (run-time files)
ii libdb3 3.2.9-22 Berkeley v3 Database Libraries [runtime]
ii libdb4.2 4.2.52-18 Berkeley v4.2 Database Libraries [runtime]
ii libdb4.3 4.3.28-2 Berkeley v4.3 Database Libraries [runtime]
ii libgcc1 4.0.2-2 GCC support library
ii libgcrypt11 1.2.2-1 LGPL Crypto library - runtime library
ii libgdbm3 1.8.3-2 GNU dbm database routines (runtime version)
ii libgnutls11 1.0.16-14 GNU TLS library - runtime library
ii libgpg-error0 1.1-4 library for common error values and messages in GnuPG
ii libident 0.22-3 simple RFC1413 client library - runtime
ii libkrb53 1.3.6-5 MIT Kerberos runtime libraries
ii libldap2 2.1.30-12 OpenLDAP libraries
ii liblocale-gettext-p 1.05-1 Using libc functions for internationalization in Perl
ii liblockfile1 1.06 NFS-safe locking library, includes dotlockfile program
ii liblzo1 1.08-2 data compression library
ii libncurses5 5.4-9 Shared libraries for terminal handling
ii libncursesw5 5.4-9 Shared libraries for terminal handling (wide character
ii libnewt0.51 0.51.6-31 Not Erik's Windowing Toolkit - text mode windowing wit
ii libopencdk8 0.5.7-2 Open Crypto Development Kit (OpenCDK) (runtime)
ii libpam-modules 0.79-3 Pluggable Authentication Modules for PAM
ii libpam-runtime 0.79-3 Runtime support for the PAM library
ii libpam0g 0.79-3 Pluggable Authentication Modules library
ii libpcre3 6.4-1 Perl 5 Compatible Regular Expression Library - runtime
ii libpopt0 1.7-5 lib for parsing cmdline parameters
ii libreadline5 5.0-11 GNU readline and history libraries, run-time libraries
ii libsasl2 2.1.19-1.7 Authentication abstraction library
ii libsasl2-modules 2.1.19-1.7 Pluggable Authentication Modules for SASL
ii libselinux1 1.30.28-1 SELinux shared libraries
ii libsepol1 1.12.26-2 Security Enhanced Linux policy library for changing po
ii libsigc++-1.2-5c2 1.2.5-5 type-safe Signal Framework for C++ - runtime
ii libslang2 2.0.4-7 The S-Lang programming library - runtime version
ii libss2 1.38-2 command-line interface parsing library
ii libssl0.9.7 0.9.7g-5 SSL shared libraries
ii libssl0.9.8 0.9.8a-3 SSL shared libraries
ii libstdc++6 4.0.2-2 The GNU Standard C++ Library v3
ii libtasn1-2 0.2.13-1 Manage ASN.1 structures (runtime)
ii libtext-charwidth-p 0.04-3 get display widths of characters on the terminal
ii libtext-iconv-perl 1.4-2 converts between character sets in Perl
ii libtext-wrapi18n-pe 0.06-4 internationalized substitute of Text::Wrap
ii libtextwrap1 0.1-3 text-wrapping library with i18n - runtime
ii libusb-0.1-4 0.1.10a-21 userspace USB programming library
ii libuuid1 1.38-2 universally unique id library
ii libvolume-id0 0.105-4 libvolume_id shared library
ii libwrap0 7.6.dbs-8 Wietse Venema's TCP wrappers library
ii login 4.0.13-1 system login tools
ii logrotate 3.7.1-2 Log rotation utility
ii lsb-base 3.0-11 Linux Standard Base 3.0 init script functionality
ii mailx 8.1.2-0.20050715cvs A simple mail user agent
ii makedev 2.3.1-83 creates device files in /dev
ii man-db 2.4.3-3 The on-line manual pager
ii manpages 2.02-2 Manual pages about using a GNU/Linux system
ii mawk 1.3.3-11 a pattern scanning and text processing language
ii module-init-tools 3.3-pre4-2 tools for managing Linux kernel modules
ii modutils 2.4.27.0-3 Linux module utilities
ii mount 2.12p-8 Tools for mounting and manipulating filesystems
ii nano 1.3.8-2 free Pico clone with some new features
ii ncurses-base 5.4-9 Descriptions of common terminal types
ii ncurses-bin 5.4-9 Terminal-related programs and man pages
ii net-tools 1.60-16 The NET-3 networking toolkit
ii netbase 4.23 Basic TCP/IP networking system
ii netkit-inetd 0.10-10.2 The Internet Superserver
ii nvi 1.79-22 4.4BSD re-implementation of vi
ii passwd 4.0.13-1 change and administer password and group data
ii perl-base 5.8.7-7 The Pathologically Eclectic Rubbish Lister
ii procps 3.2.5-1 /proc file system utilities
ii psmisc 21.6-1 Utilities that use the proc filesystem
ii readline-common 5.0-11 GNU readline and history libraries, common files
ii reiserfsprogs 3.6.19-1 User-level tools for ReiserFS filesystems
ii sasl2-bin 2.1.19-1.7 Programs for manipulating the SASL users database
ii sed 4.1.2-8 The GNU sed stream editor
ii slang1a-utf8 1.4.9dbs-8 The S-Lang programming library with utf8 support
ii sysklogd 1.4.1-17 System Logging Daemon
ii sysv-rc 2.86.ds1-4 Standard boot mechanism using symlinks in /etc/rc?.d
ii sysvinit 2.86.ds1-4 System-V like init
ii tar 1.15.1-2 GNU tar
ii tasksel 2.32 Tool for selecting tasks for installation on Debian sy
ii tcpd 7.6.dbs-8 Wietse Venema's TCP wrapper utilities
ii telnetd 0.17-32 The telnet server
ii udev 0.105-4 /dev/ and hotplug management daemon
ii util-linux 2.12p-8 Miscellaneous system utilities
ii wget 1.10.2-1 retrieves files from the web
ii whiptail 0.51.6-31 Displays user-friendly dialog boxes from shell scripts
ii zlib1g 1.2.3-4 compression library - runtime
How to setup debian26 †
- Adding telnetd to the original system
- IP address is set from the menu of LANDISK.(Password is "landisk").
- A new user "landisk" is made from the menu of LANDISK.
- Next, download landisk_telnetd_v2.0.zip from the web site "wizd on LANDISK". ( landisk_telnetd_v2.0.zip )
- It is unzipped and update.tgz is retrieved.
- Update the firmware by specifying update.tgz in the menu of LANDISK.
- After reboot, you can telnet into the device:
- Open a telnetsession, connect to the Landisk IP (port 23)
- User account is landisk, password is "landisk".
- To become root, "sudo su" is executed. (root password is "landisk")
- To write it in rootfs, "mount -o rw,remount /" is executed.
- Debian26 is constructed to /dev/hda3.
- Setup boot-loader lilo-sh
- /etc/lilo.conf - dual boot setting between original environment and debian26
linear
boot=/dev/hda
disk=/dev/hda
bios=0x80
timeout=50
install=/boot/boot.b-selk
map=/boot/map
default=debian26
image=/boot/zImage
label=linux
root=/dev/hda1
read-only
append="mem=64M console=ttySC1,9600 root=/dev/hda1"
image=/boot/vmlinuz-2.6.22-landisk
label=debian26
root=/dev/sda3
read-only
append="mem=64M console=ttySC1,9600 root=/dev/sda3"
- Setup lilo
# /mnt/hda3/sbin/lilo
Added debian26 *
Added linux
- reboot
# /home/LANDISK/scripts/powerctrl.sh reboot
- Login can be done by the telnet.
Debian GNU/Linux testing/unstable
landisk login: landisk
Password: landisk
Last login: Mon Nov 21 22:33:18 2005 from 192.168.1.2 on pts/1
Linux landisk 2.6.14-sh #1 Sat Nov 12 00:03:54 JST 2005 sh4 GNU/Linux
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.
landisk@landisk:~$ su
Password: landisk
landisk:/home/landisk#
- How to boot from original system :
If you switch on the device, it will boot Debian from now on.
However, there is still a way to boot the original linux by following procedure:
- turn off the power.
- power button ON, and quickly (max 5 seconds) power button OFF.
- wait a 10 second.
- power button ON
Additional setup †
- apt-get
landisk:/# apt-get update
landisk:/# apt-get remove gpgv-udeb
landisk:/# apt-get install gnupg
landisk:/# wget http://ftp-master.debian.org/ziyi_key_2006.asc
landisk:/# apt-key add ziyi_key_2006.asc
landisk:/# apt-get update
landisk:/# apt-get upgrade
- gcc-4.0,g++-4.0,gcc-3.4,g++-3.4,etc
landisk:/# apt-get install dpkg-dev binutils gcc g++ make libncurses5-dev
landisk:/# apt-get install gcc-3.4 g++-3.4
- Xorg-X11
landisk:/# apt-get install x-window-system vncserver wdm
Additional packages and source †
The following apt-line can be used.
deb http://eggplant.ddo.jp/www/download/debian26 etch main
source : http://eggplant.ddo.jp/www/download/debian26/source/
Screenshot †
From VNC client.
linux workstation †
Appendix - How to Self-build Kernel †
- setup
landisk:~# mkdir kernel
landisk:~# cd kernel
landisk:~/kernel# tar vxfz linux-2.6.14-sh-landisk.0.3.tgz
- build
landisk:~/kernel# cd linux-2.6.14.3
landisk:~/kernel/linux-2.6.14.3# cp arch/sh/configs/landisk_defconfig .config
landisk:~/kernel/linux-2.6.14.3# make menuconfig
landisk:~/kernel/linux-2.6.14.3# make
- It tests by using kexec.
landisk:~/kernel/linux-2.6.14.3# kexec arch/sh/boot/zImage
Appendix - debian Cross-toolchain on Intel machine †
http://eggplant.ddo.jp/www/download/debian26/CROSS/
It contains the following.
Please install it by the dpkg -i *.deb command.
binutils-sh4-linux_2.16.1-2_i386.deb
cpp-3.4-sh4-linux_3.4.4-5_i386.deb
g++-3.4-sh4-linux_3.4.4-5_i386.deb
gcc-3.4-sh4-linux_3.4.4-5_i386.deb
libstdc++6-dev-sh4-cross_3.4.4-5_all.deb
libstdc++6-sh4-cross_3.4.4-5_all.deb
cpp-4.0-sh4-linux_4.0.2-2_i386.deb
g++-4.0-sh4-linux_4.0.2-2_i386.deb
gcc-4.0-sh4-linux_4.0.2-2_i386.deb
libstdc++6-4.0-dev-sh4-cross_4.0.2-2_all.deb
libstdc++6-dev-sh4-cross_3.4.4-5_all.deb
libc6-dev-sh4-cross_2.3.5-7_all.deb
libc6-sh4-cross_2.3.5-7_all.deb
libdb1-compat-sh4-cross_2.1.3-7_all.deb
libgcc1-sh4-cross_4.0.2-2_all.deb
libncurses5-dev-sh4-cross_5.4-4_all.deb
libncurses5-sh4-cross_5.4-4_all.deb
linux-kernel-headers-sh4-cross_2.6.13+0rc3-2_all.deb
Appendix - More Information †
The following are my Japanese pages.
comment †
#pcomment(,5,below,reply)