**Target Hardware [#ee261502]
-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:
--JP model [[HDL-U Series:http://www.iodata.jp/prod/storage/hdd/2005/hdl-u/index.htm]]&color(red){''(Production end in March, 2006)''};, [[LAN Tank:http://supertank.iodata.jp/products/sotohdlwu/index.html]]
--US model [[UHDL-160U:http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=15&sc=HDL&pId=UHDL-160U]], [[UHDL-300U:http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=15&sc=HDL&pId=UHDL-300U]]
--EU model (OEM) [[PX-EH25L:http://www.plextor-europe.com/products/px-eh25l.asp?choice=PX-EH25L]], [[PX-EH40L:http://www.plextor-europe.com/products/px-eh40l.asp?choice=PX-EH40L]] (landisk_telnetd_v2.0.zip is available.)
--Storage-less model(compact flash media (Micro Drive) model) [[USL-5P:http://www.iodata.jp/prod/storage/hdd/2004/usl-5p/photo/index.htm]]
-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 [#oacd9821]
The original OS is linux-sh-2.4.21 . A new version linux-sh-2.6.22 is available from the [[linuxSH:http://www.linux-sh.org]] homepage.~
The sourcecode for LANDISK target available [[here:http://eggplant.ddo.jp/www/download/kernel26/linux-2.6.22/]].
**debian26 userland for SH4[#r3142136]
-What is debian26~
We are calling this userland debian26 in locals.~
--debian etch at &color(red){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.~
~
LEFT:
|120|300|200|c
|~ | Archive | Remarks |h
|base(etch) | [[ base26-sh4-20070709-etch.tgz:http://eggplant.ddo.jp/www/download/kernel26/linux-2.6.22/base26-sh4-20070709-etch.tgz]] | linux-2.6.22-landisk.0.0 & landisk-tools-20070612 included|
|kernel source | [[linux-2.6.22-landisk:http://eggplant.ddo.jp/www/download/kernel26/linux-2.6.22/]] | linux-2.6.22 + landisk-custum |
-base26-sh4-xxxxxxxx-etch.tgz archive contains the following.
#pre{{
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
&color(red){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
&color(red){ii kernel-image-2.6.22 custom.0.0 Linux kernel binary image for version 2.6.22-landisk};
&color(red){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
&color(red){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
&color(red){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 [#ce0dfb72]
-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:http://landisk.sealandair.info/files/landisk_telnetd_v2.0.zip]] from the web site "[[wizd on LANDISK:http://landisk.sealandair.info/]]". ( &ref(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.
--Install debian26 base system.
#pre{{
# cd /mnt/hda3
# tar vxfz&color(red){p}; base26-sh4-xxxxxxxx-etch.tgz
# mv debian26/* .
# rm -rf debian26
}}
--Some files need to be corrected. (Following is an example based on my environment. The IP in red have to be changed according to your setup.)~
---/mnt/hda3/etc/hosts~
#pre{{
127.0.0.1 localhost
&color(red){192.168.1.81}; landisk
}}
---/mnt/hda3/etc/hostname~
#pre{{
landisk
}}
---/mnt/hda3/etc/resolv.conf~
#pre{{
nameserver &color(red){192.168.1.1}; &color(green){( <- this is your ISP's DNS server)};
}}
---/mnt/hda3/etc/network/interfaces~
#pre{{
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address &color(red){192.168.1.81};
netmask &color(red){255.255.255.0};
gateway &color(red){192.168.1.1};
}}
---/mnt/hda3/etc/hosts.allow
#pre{{
ALL : &color(red){127.0.0.1 192.168.1. 192.168.0.};
}}
---/mnt/hda3/etc/fstab
#pre{{
# UNCONFIGURED FSTAB FOR BASE SYSTEM
#/dev/sda4 / reiserfs defaults 0 1
/dev/sda3 / ext2 defaults 0 &color(red){0};
none /proc proc defaults 0 0
/dev/sda2 swap swap defaults 0 0
}}
-Setup boot-loader lilo-sh
--copy some files from debian26(/dev/hda3) to /dev/hda1
#pre{{
# mount -o rw,remount /
# cp /mnt/hda3/boot/vmlinuz-2.6.22-landisk /boot
# cp /mnt/hda3/boot/boot.b-selk /boot
}}
--/etc/lilo.conf - dual boot setting between original environment and debian26~
#pre{{
linear
boot=/dev/hda
disk=/dev/hda
bios=0x80
timeout=50
&color(red){install=/boot/boot.b-selk};
&color(red){map=/boot/map};
default=&color(red){debian26};
image=/boot/zImage
label=linux
root=/dev/hda1
read-only
&color(red){ append="mem=64M console=ttySC1,9600 root=/dev/hda1"};
&color(red){image=/boot/vmlinuz-2.6.22-landisk};
&color(red){ label=debian26};
&color(red){ root=/dev/sda3};
&color(red){ read-only};
&color(red){ append="mem=64M console=ttySC1,9600 root=/dev/sda3"};
}}
--Setup lilo~
#pre{{
# /mnt/hda3/sbin/lilo
Added debian26 *
Added linux
}}
--reboot
#pre{{
# /home/LANDISK/scripts/powerctrl.sh reboot
}}
-Login can be done by the telnet.
#pre{{
Debian GNU/Linux testing/unstable
landisk login: &color(red){landisk};
Password: &color(red){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:~$ &color(red){su};
Password: &color(red){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 [#x0deecf9]
-apt-get
#pre{{
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
#pre{{
landisk:/# apt-get install dpkg-dev binutils gcc g++ make libncurses5-dev
landisk:/# apt-get install gcc-3.4 g++-3.4
}}
-Xorg-X11
#pre{{
landisk:/# apt-get install x-window-system vncserver wdm
}}
--etc/X11/wdm/Xservers (If you use not USB2VGA dongle but VNC. )
#pre{{
#:0 local /usr/bin/X11/X -nolisten TCP
:0 local /usr/bin/Xrealvnc -geometry 1024x768 -depth 16
}}
--start wdm
#pre{{
landisk:/# /etc/init.d/wdm restart
Starting WINGs display manager: wdm.
}}
**Additional packages and source[#jf9d96fd]
The following apt-line can be used.
#pre{{
deb http://eggplant.ddo.jp/www/download/debian26 etch main
}}
source : http://eggplant.ddo.jp/www/download/debian26/source/
**Screenshot [#m873c6b0]
From VNC client.~
&ref(landisk_vnc.jpg,nolink);~
~
**linux workstation [#v5cdfa3b]
&ref(サインはVGAをつなげてみた/usb2vga3.png,nolink);
&ref(サインはVGAをつなげてみた/usb2vga4.png,nolink);
-Hardware~
LANDISK (HDL-160U)~
USB keyboard with USB HUB~
USB mouse~
USB2VGA dongle ( http://www.winischhofer.at/linuxsisusbvga.shtml ) ~
display~
-Software~
linux-2.6.14-sh~
debian26~
Xorg-X11(custum Ver.)~
**Appendix - How to Self-build Kernel [#nb1b7bf1]
-setup
#pre{{
landisk:~# mkdir kernel
landisk:~# cd kernel
landisk:~/kernel# tar vxfz linux-2.6.14-sh-landisk.0.3.tgz
}}
-build
#pre{{
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.
#pre{{
landisk:~/kernel/linux-2.6.14.3# kexec arch/sh/boot/zImage
}}
**Appendix - debian Cross-toolchain on Intel machine [#j8cc2332]
http://eggplant.ddo.jp/www/download/debian26/CROSS/~
It contains the following. ~
Please install it by the dpkg -i *.deb command. ~
#pre{{
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 [#z13bee17]
The following are my Japanese pages. ~
-[[The automatic translation by Excite:http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Feggplant.ddo.jp%2Fwww%2Fpukiwiki%2Findex.php&wb_lp=JAEN&wb_dis=2]]
-[[No translation:http://eggplant.ddo.jp/www/pukiwiki/index.php]]
~
~
*comment [#h1b575e9]
#pcomment(,5,below,reply)