[nas-2000] RE : Re: Dual HDD NAS (SATA) Firmware

  • From: Samuel BURG <samuel_burg@xxxxxxxx>
  • To: nas-2000@xxxxxxxxxxxxx
  • Date: Wed, 9 Jan 2008 10:31:01 +0100 (CET)

> 1) Can I assume that using this method you have not
> lost the use of one hard disk drive; I know this
> sounds obvious, but I don't wish to take any thing
> for granted!

unsing [Tinky kernel + any (ramdisk + boot + hddapp)]
on DUAL HDD NAS - Sata : for only the first disk is
detected 

unsing [MRT kernel + any (ramdisk + boot + hddapp)] on
DUAL HDD NAS - Sata : for only the 2 disk are detected


So, if you have 2 disk, you should better use the MRT
kernel. Read forward to know how to use MRT kernel
with Tinky soft.

Don't worry, be happy, as you can allway flash back
any MRT firmware if you don't flash the [redboot] of
your NAS.

> 2) Are you now able to install other ipkg packages
> on the SATA NAS, e.g. TwonkyMedia?

I have not tested this. I _think_ it should work. 

> 3) As I mentioned, I am now using the most recent
> MRT firmware without telnet access; from here how
> would I go about upgrading my firmware as you
> suggest?

This is not an issue, as you must upgade using the
redboot. There is a doc about this on the
Flip/Nas-2000 blog/forum. Dual Hdd Nas IDE/SATA and
NAS-1000/2000 have the same redboot system.

To access the redboot, you need to do something like :

reboot your nas
...
telnet 192.168.2.71 9000
...
ctrl+C
...

look in the attached file [DUAL-NAS-rescue.txt]
it's a personnal doc for linux fedora core. It explain
how to upgrade only a part of the flash (exaclty what
you _WANT_ to do). You should be able to do this from
a windows box.

You _MUST_ know :
- don't flash the boot process : useless and dangerous
- download Tinky [hddapp] and [ramdisk] (not the
[tinky-2_3_2-mu****.tar.gz])
- install a [tftp] server in your computer (this is
the better/easyest way to upload file from computer to
NAS)

Work hard, and remember :

"The only way to get smarter is by playing a smarter
opponent"
Fundamentals of Chess - 1883

Good luck,

Samuel Burg


--- gtx coms <gtxcom@xxxxxxxxxxxxx> a écrit :

> Hi Samual,
> 
> Thanks for your reply, which is very interesting; I
> was under the impression that Tinky was no longer an
> option!
> 
> Just a few questions please -
> 
> 1) Can I assume that using this method you have not
> lost the use of one hard disk drive; I know this
> sounds obvious, but I don't wish to take any thing
> for granted!
> 
> 2) Are you now able to install other ipkg packages
> on the SATA NAS, e.g. TwonkyMedia?
> 
> 3) As I mentioned, I am now using the most recent
> MRT firmware without telnet access; from here how
> would I go about upgrading my firmware as you
> suggest?
> 
> Once again, please note I am a beginner, so any
> basic instructions would be much appreciated.
> 
> Thanks again
> 
> George
> 
> > Date: Tue, 8 Jan 2008 12:45:03 +0100
> > From: samuel_burg@xxxxxxxx
> > Subject: [nas-2000] Re: Dual HDD NAS (SATA)
> Firmware
> > To: nas-2000@xxxxxxxxxxxxx
> > 
> > hi,
> > 
> > well, I have 3 DUAL HDD NAS : 2x IDE (80+80 Gb &
> > 200+200 Gb) & 1x SATA (300+300 Gb).
> > 
> > IDE NAS with MRT firmware, + some customisation
> > (+telnet, +root password, -printer)
> > 
> > SATA NAS with ... Tinky !
> > 
> > First of all : do not flash your Dual Hdd Nas with
> > Tinky "all in one" firmware ! Better to download
> the
> > firmware in separated part (boot - kernel -
> ramdisk -
> > hddapp) and then flash only kernel+ramdisk+hddapp
> (you
> > don't need to upgrade the boot, and it's very
> > dangerous).
> > 
> > In fact I only use ramdisk + hddapp from Tinky,
> and
> > boot + kernel from MRT.
> > 
> > Why ?
> > 
> > Because SATA in dual hdd nas ... in not SATA ...
> it
> > seems that there is an internal sata/ide converter
> (2
> > ide controler for 2 sata disk), so the "ide-only"
> > Tinky kernel work !
> > BUT ... the Tinky kernel only use the ide primary
> > controler ... so the second SATA disk cannot be
> used
> > with this kernel ... so I use the MRT kernel with
> the
> > Tinky ramdisk + hddapp.
> > 
> > Good luck !
> > 
> > Samuel Burg
> > 
> > 
> > PS : I've also try to customize the rd's scripts
> in
> > tinky firmware but ... I've totaly failed ! Duh !
> ...
> > flash back ...
> > 
> > PS-2 : Does someone have a QEMU (or any other
> > virtualizing software) arm-32 virtual system
> > simulating a NAS-2000 or Dual-Hdd-NAS, to build,
> test
> > and _crash_ soft without danger ?
> > 
> > 
> > 
> >      
>
_____________________________________________________________________________
> 
> > Ne gardez plus qu'une seule adresse mail ! Copiez
> vos mails vers Yahoo! Mail http://mail.yahoo.fr
> > 
> 
>
_________________________________________________________________
> Get Hotmail on your mobile, text MSN to 63463!
> http://mobile.uk.msn.com/pc/mail.aspx



      
_____________________________________________________________________________ 
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 
http://mail.yahoo.fr
#!/bin/bash

# =========================

lines strating with a ... mean ...

'--' : a step
'nas>'  : issue the command from your NAS
'box$'  : issue the command from your 'main' box
''   : (i.e. nothing) expected answer of the last command

ip :

here the NAS ip is : 192.168.1.23
the main box ip is : 192.168.1.5
the ADSL router ip is : 192.168.1.1

# ============================
# Firmware for 35HD-DUAL-NAS :
# ============================

wget http://svp.co.uk/helpdeskbigfiles/CentriNAS_v2_3_3a.tar.gz

wget http://www.mrt-communication.com/drivers/CentriNAS_v2_3_3a.tar.gz
wget http://www.mrt-communication.com/drivers/CentriNAS_v2_3_3b.tar.gz
wget http://www.mrt-communication.com/drivers/DUAL-NAS_Firmware-961116.rar

# ==============================
# How to enable/disable telnet :
# ==============================

-- check if telnet is up or down using nmap from your box :

-- if telnet is down you will have something like :

box$ nmap 192.168.1.23

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-08-06 19:35 CEST
Interesting ports on 192.168.1.23:
Not shown: 1677 closed ports
PORT    STATE SERVICE
80/tcp  open  http
111/tcp open  rpcbind
972/tcp open  unknown

Nmap finished: 1 IP address (1 host up) scanned in 0.539 seconds

-- if telnet is up you will have something like :

box$ nmap 192.168.1.23

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-08-06 20:10 CEST
Interesting ports on 192.168.1.23:
Not shown: 1676 closed ports
PORT     STATE SERVICE
23/tcp   open  telnet
80/tcp   open  http
111/tcp  open  rpcbind
1021/tcp open  unknown
MAC Address: 7A:B3:F4:00:01:AC (Unknown)

Nmap finished: 1 IP address (1 host up) scanned in 0.618 seconds


-- With a firmware v 2.3.3a / v 2.3.3b, use your html browser to go to :

http://192.168.1.23/html/telnet/telnet.html

-- then check the box and clik the button ! Telnet is up !

-- if you want to have a friendly interface, log in your nas :

nas> mkdir /usr/webroot/nav/telnet
nas> cd /usr/webroot/nav/telnet
nas> echo '<item id="telnet" label="Telnet" description="" 
url="cgi/telnet/telnet.cgi" parent="network_service" order="20"/>' > telnet.xml

-- you will have an item more in your server admin section.

-- WARNING !
-- the telent root login isn't protected by any password !
-- so don't forget to add one with the 'passwd' command !
-- WARNING !
-- this passwd isn't store in the rom, so it will be disable after each reboot, 
until you write it in your nas firmware.
-- WARNING !


# =========================
# How to backup the flash :
# =========================

-- log into the box (via telnet)

-- display the different Flashsectors :

nas> cat /proc/mtd

dev:    size   erasesize  name
mtd0: 00020000 00010000 "RedBoot"
mtd1: 00100000 00010000 "Kernel"
mtd2: 00200000 00010000 "Ramdisk"
mtd3: 004a0000 00010000 "Application"
mtd4: 00010000 00010000 "VCTL"
mtd5: 00020000 00010000 "CurConf"
mtd6: 00010000 00002000 "FIS directory"

-- to make a single backup :

nas> cat /dev/mtd0 > /system/Flash-Backup/RedBoot.img

-- or :

cd [somewhere]
cat /dev/mtd0 > RedBoot
cat /dev/mtd1 > Kernel
cat /dev/mtd2 > Ramdisk
cat /dev/mtd3 > Application
cat /dev/mtd4 > VCTL
cat /dev/mtd5 > CurConf
cat /dev/mtd6 > FIS\ directory

cat RedBoot > my-flash-backup
cat Kernel >> my-flash-backup
cat Application >> my-flash-backup
cat VCTL >> my-flash-backup
cat CurConf >> my-flash-backup
cat FIS\ directory >> my-flash-backup

ls -l my-flash-backup

-- the backup you just created MUST have exectly 8388608 bytes!!!



// DUAL-NAS rescue procedure
// -------------------------

// if you read this it's statisticaly for only 2 reasons :

- you intend to do something stupid

- your already have do something stupid

... well I have do ...

// =======================================
// First off all :
// ---------------

// don't flash the boot part of your nas or you will get into a real deap 
problem :

Name                   FLASH addr      Mem addr    Datalen     Entry point
BOOT              0x70000000-7001FFFF  0x70000000  0x00020000  0x70000000

// =======================================

// On your box : (command samples are for Fedora)

// install tftp and iputils :
[root@box ~]# yum -y install tftp tftp-server iputils

// enable xinetd and then tftp :
[root@box ~]# system-config-services 

// uncompress your firmware in the tftp-root-directory
// set your IP to 192.168.2.x (x != 71) and try to connect to the redboot :
//                                          -------------------------------

[root@box ~]# arping -f 192.168.2.71; telnet 192.168.2.71 9000

// power on your NAS and hit [ctrl+C] when redboot display the expected message 
:

[root@box ~]#
[root@box ~]#  arping -f 192.168.2.71 ; telnet 192.168.2.71 9000

ARPING 192.168.2.71 from 192.168.2.5 eth0
Unicast reply from 192.168.2.71 [7A:B3:F4:00:01:AC]  6.435ms
Sent 19 probes (19 broadcast(s))
Received 1 response(s)
Trying 192.168.2.71...
Connected to nas.home.fr (192.168.2.71).
Escape character is '^]'.
==> enter Ctrl+C to abort booting within 2 seconds ......
^C
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: _

// Well here we are ... in the redboot Menu, ready to flash the ROM.
// ----------------------------------------

// Select option '2' :

=> Select: 2

Name                   FLASH addr      Mem addr    Datalen     Entry point
BOOT              0x70000000-7001FFFF  0x70000000  0x00020000  0x70000000
FIS directory     0x707F0000-707FFFFF  0x707F0000  0x00001400  0x00000000
Kern              0x70020000-7019FFFF  0x01600000  0x0016FDD4  0x01600000
Ramdisk           0x701A0000-7039FFFF  0x00800000  0x001D9FC6  0x00000000
Application       0x703A0000-707BFFFF  0x00000000  0x0041EB1F  0x00000000
CurConf           0x707D0000-707EFFFF  0x00000000  0x00020000  0x00000000
VCTL              0x707C0000-707CFFFF  0x00000000  0x00010000  0x00000000

                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: _

// What you want to do to restore your NAS bios is '4' :
// assuming the IP of your box is 192.168.2.5,
// your tftp server is up
// you want to restore the Kernel

=> Select: 4

Image Name: Kern
Flash Address: 0x70020000
Memory Address: 0x01600000
Entry Point: 0x01600000
An image named 'Kern' exists - continue (y/n)? y
1: Download by X-modem
2: Download by TFTP
2
TFTP Server IP Address: 192.168.2.5
Image Path and name(EX. /images/zImage): /zImage
Waiting to receive file  ....
-
Raw file loaded 0x01000000-0x0116fdd3, assumed entry at 0x01000000
Erase flash ...
... Erase from 0x70020000-0x70190000: .......................
OK!
... Program from 0x01000000-0x0116fdd4 at 0x70020000: .......................
OK!
Update FIS ...
... Erase from 0x707f0000-0x70800000: .
... Program from 0x00400000-0x00410000 at 0x707f0000: .
OK!
Upload 'Kern' code successfully!
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: _

// replay the same process for the other parts of the ROM

// and at last ... select '1', wait 5 min ... It's done !

All rigth ! let's have some fun, ready for flashing the box ?

Here's the step by step question/answer when you're connected to the RedBoot. 

A last info, each time the redboot has completed a download (Waiting to receive 
file ....) he will disable the ethernet while flashing, so you will not see the 
dots progress (wait 1 to 5 min each time, ethernet is automaticaly reactivted 
by redboot after each flash-session). The ethernet is disable while flashing 
because of pins-sharing between Flash / IDE / EMAC / PCI / UART / GPIO 
(http://www.storlinksemi.com/an3316-04.htm). But now, let's go baby :

root@burg ~ #
root@burg ~ #  arping -f 192.168.2.71 ; telnet 192.168.2.71 9000
ARPING 192.168.2.71 from 192.168.2.5 eth0
Unicast reply from 192.168.2.71 [7A:B3:F4:00:01:AC]  6.435ms
Sent 19 probes (19 broadcast(s))
Received 1 response(s)
Trying 192.168.2.71...
Connected to nas.home.fr (192.168.2.71).
Escape character is '^]'.
==> enter Ctrl+C to abort booting within 2 seconds ......
^C
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: 2

Name                   FLASH addr      Mem addr    Datalen     Entry point
BOOT              0x70000000-7001FFFF  0x70000000  0x00020000  0x70000000
FIS directory     0x707F0000-707FFFFF  0x707F0000  0x00001400  0x00000000
Kern              0x70020000-7019FFFF  0x01600000  0x0016FDD4  0x01600000
Ramdisk           0x701A0000-7039FFFF  0x00800000  0x001D9FC6  0x00000000
Application       0x703A0000-707BFFFF  0x00000000  0x0041EB1F  0x00000000
CurConf           0x707D0000-707EFFFF  0x00000000  0x00020000  0x00000000
VCTL              0x707C0000-707CFFFF  0x00000000  0x00010000  0x00000000

                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: 4

Image Name: Kern
Flash Address: 0x70020000
Memory Address: 0x01600000
Entry Point: 0x01600000
An image named 'Kern' exists - continue (y/n)? y
1: Download by X-modem
2: Download by TFTP
2
TFTP Server IP Address: 192.168.2.5
Image Path and name(EX. /images/zImage): /zImage
Waiting to receive file  ....
-
Raw file loaded 0x01000000-0x0116fdd3, assumed entry at 0x01000000
Erase flash ...
... Erase from 0x70020000-0x70190000: .......................
OK!
... Program from 0x01000000-0x0116fdd4 at 0x70020000: .......................
OK!
Update FIS ...
... Erase from 0x707f0000-0x70800000: .
... Program from 0x00400000-0x00410000 at 0x707f0000: .
OK!
Upload 'Kern' code successfully!
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: 4

Image Name: Ramdisk
Flash Address: 0x701A0000
Memory Address: 0x00800000
Entry Point: 0x00800000
An image named 'Ramdisk' exists - continue (y/n)? y
1: Download by X-modem
2: Download by TFTP
2
TFTP Server IP Address: 192.168.2.5
Image Path and name(EX. /images/zImage): /rd.gz
Waiting to receive file  ....
\
Raw file loaded 0x01000000-0x011d9fc5, assumed entry at 0x01000000
Erase flash ...
... Erase from 0x701a0000-0x70380000: ..............................
OK!
... Program from 0x01000000-0x011d9fc6 at 0x701a0000: 
..............................
OK!
Update FIS ...
... Erase from 0x707f0000-0x70800000: .
... Program from 0x00400000-0x00410000 at 0x707f0000: .
OK!
Upload 'Ramdisk' code successfully!
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: 4

Image Name: Application
Flash Address: 0x703A0000
Memory Address: 0x00000000
Entry Point: 0x00000000
An image named 'Application' exists - continue (y/n)? y
1: Download by X-modem
2: Download by TFTP
2
TFTP Server IP Address: 192.168.2.5
Image Path and name(EX. /images/zImage): /hddapp.tgz
Waiting to receive file  ....
-
Raw file loaded 0x01000000-0x0141eb1e, assumed entry at 0x01000000
Erase flash ...
... Erase from 0x703a0000-0x707c0000: 
..................................................................
OK!
... Program from 0x01000000-0x0141eb1f at 0x703a0000: 
..................................................................
OK!
Update FIS ...
... Erase from 0x707f0000-0x70800000: .
... Program from 0x00400000-0x00410000 at 0x707f0000: .
OK!
Upload 'Application' code successfully!
                           Boot Menu
====================================================================
1: Start the Kernel Code
2: List Image
3: Delete Image
4: Create New Image
5: Set IP adderss
6: Setting MAC address

X:Upgrade Boot    Y:Upgrade Kernel

=> Select: 1


Wait 5 min ... It's done ! You nas is alive ! 

Best regards, Samuel
This is Tinky v. 2.3.2-mu-02.2 for the NAS-2000 / 1000 

Tinky is released under the term of the GPL v2               flipstar 20070507


*WARNING Using tinky-2_3_2-mu-02.2 will VOID YOUR WARRANTY.*

        You have been warned...


1.) This is tinky v. 2.3.2-mu-02.2 an alternate firmware for the NAS-2000 / 
1000     
     NAS systems. Tinky was build from a 2_3_2_IB_02.2 firmware released by 
     raidsonic. The 2.x firmware is based on a 2.6 kernel. 
     As the flash layout has changed you cannot update the
     firmware the regular way via the webGUI. It will only work via the
     bootloader. Some people who had trouble with the firmware update from 1.0 
     to 1.3 received the box after sending it to raidsonic with this 2.x
     firmware. Tinky is now integrated into the firmware and will be executed
     during every boot. You can now use the Twonky-Software the regular way if
     you want to. This was not possible before because the old Tinky version
     used there Twonky-hook.

     I called the Firmware *-mu-* because I tryied to make it a little
     more useful -> mu = made usefull

     After all one could say the NAS-2000 is a pretty cool hardware but as 
     you can see in /etc/ImageInfo 
                        DESCRIPTION="SL3316 demo board firmware."
     the firmware is/was demo. Guess we live in a world with short time to 
     market times       and the firmware is working somehow.
     A great chance for us, so lets make the NAS better.
        
     The NAS has lots of unused features like USB (1.0) and a hardware 
     cryptoengine. Badwater did some tests and figured out that the
     USB is somehow working but (I suppose) not supported by the kernel. 
     Further more there seems to be a 2nd Networkinterface you can see in the
     bootlog or simply by running 'ifconfig eth1 up; ifconfig' finally there 
     seems to be an unsoldered JTAG (20 Pin) port.
        
        So there is a lot more to find out!!!
        

1.1) Why did you made Tinky?
        Well simply to see if I can :-)
        or to say it with Aleph One (Phrack 49) words "For Fun and Profit".


2.) What have you changed?
        When taking a closer look on the firmware I found lots of unneeded
        processes and files.
        - usb modules loaded
        - raid support in the webGUI
        - hotplug support
        - wireless support
        - unneeded libs
        - test for 2.4 Kernel in the boot up scripts
        - etc etc etc

 
2.1) What was deleted? Which featurs have been deleted / replaced?
        - the dhcp-Server was deleted -> its a NAS not a router!!!
        - unneeded usb and wireless modules
        - language support in the WebGUI for Chinese/Taiwanes lang
        - unneeded files in the sausalito dir
        - the printer support
        - some startup scripts have been cleaned up (by fare not all :-) TODO)

2.2) What has been added?
        - a new WebGui created by Christian (thanks again)
        - basic zeroconf/aka bonjour Service for
                http, ftp and ssh
        - ssh-server / -client including scp (telnet is dead)
        - new busybox with lots of new features
        - ipkg support to simplify the installation of new software
        - a hook if you create a file (shellscript) and put in 
                /mnt/IDE1/public/tinky/tinky_hook
          it will be executed before sausalitos and most of the systems daemons.
          The Twonky-hack is not needed anymore.
        - Tinky entry in the WebGUI
        - the boot process is now ~30% faster (except for the first boot when 
the
          ssh-key are created)
        - some more I guess go and find out :-)


3.) How should Tinky be used?

        The way you use your NAS has not changed but only extended

        - you can login via ssh:
                User: root
                Passwd: nas2000 
          Make sure you change the password and run tinkysave!!! (run passwd)
          
        - the ipkg config file is /etc/ipkg.conf
                
                src tinky-2_3_2_mu_02 http://www.nas-2000.org/download/tinky-\
                  2_3_2_mu_02/ipkg
                dest root /
                
          you should run:
                # ipkg-cl update

          now check the available pkgs:
                # ipkg-cl list

          and install some pkgs with:
                # ipkg-cl install rsync

          ipkg will take care about the dependencies :-)

3.1) Ok the new busybox version contains the su-Applett how to use it?

        If you want to be able to run the su-command with a spezific user you 
have 
        to add this user to the group wheel in /etc/group 

        # vi /etc/group
                wheel:x:10:root,<my-user>
        
        and then add the /etc/group file to /system/overlay/savedata.conf

        # vi /system/overlay/savedata.conf
                /etc/group:group

        If your user is already logged in you have to logoff and on again now 
run
        su and enter your passwd.

4.) I want to create my own ipkg files, what to do?

        First of all I think it is a good idea to place every pkg in
        its own dir (execept libs) under /system/overlay/apps/<pkg-name>.
        Then work with start script to create symlinks and start the stuff.
        All the libs should go to /system/overlay/lib/
        They will be linked to /lib/ on every boot.

4.1) But HOW to create the pkg? 

        Do the following on your Linux-Box.
        First you'll need to install the ipkg-utils on gentoo
        guess what ?!?! run 'emerge -av ipkg-utils' :-)

        Now do the following:
                # mkdir my_ipkgs
                # cd my_ipkgs
                # mkdir -p rsync-2.6.9/CONTROL
                # mkdir -p rsync-2.6.9/system/overlay/bin/
                # cp /tmp/rsync rsync-2.6.9/system7overlay/bin/

        # vi rsync-2.6.9/CONTROL/control
                Package: rsync
                Version: 2.6.9
                Priority: optional
                Section: net
                Maintainer: flipstar_at_nas-2000_dot_org
                Architecture: armv4tl
                Source: rsync-2.6.9.tar.gz
                Depends: libpopt
                License: GPL
                Description: tool to sync files over the net

        Optional you can create preinst, postinst, prerm and postrm
        scripts in the CONTROL directory.
        For a lib you have to create a symlink for the first time
        do this in a postinst script.

        Now run:
                # ipkg-build rsync-2.6.9 
        and

                # ipkg-make-index ./ > Packages

                        Package: rsync
                        Version: 2.6.9
                        Depends: libpopt
                        Section: net
                        Architecture: armv4tl
                        Maintainer: flipstar_at_nas-2000_dot_org
                        MD5Sum: 928269b6d8af0a1562680a6882a332b1
                        Size: 134194
                        Filename: rsync_2.6.9_armv4tl.ipk
                        Source: rsync-2.6.9.tar.gz
                        Description: tool to sync files over the net

        Copy the archive and the output of ipkg-make-index to your webserver.
        For further studies see the links section.
           

        If you want your software to be accessible in the WebGUI you have to
        provide some files in /usr/webroot/ and make
        /usr/webroot/nav/tinky_service.xml your parent. 
        See the tinky_save files for example or read the sausalitos
        handbook link in the links-section-

5.) How to install Tinky?

        First of all 
        MAKE A BACKUP OF YOUR FILES

        You may be saying:
        Where should I put the 400GB???
        
        We'll somewhere :-)

        Warning your MAC-Address will be changed to 0050c22b3322 but if you
        want you can reconfigure the MAC-Adr in the bootloader

        Before you begin you'll need a tftp server for the installation.
        For Windows you can try
             tftpd32.jounin.net
             (thanks again Jean-François)
        For Linux I can recommend atftp
             http://freshmeat.net/projects/atftp/

        Extract the Archive and run
                # md5sum -c tinky-2_3_2-mu-02.2.md5

        copy the tinky-2_3_2-mu-02 firmware file to you tftp-root
        for me its 
                # cp tinky-2_3_2-mu-02.2 /tftp_root/

        (Just to be sure your NAS has to powered OFF at this stage!!!)
        Configure your Networkcard to use a 192.168.2.x IP-adr. 
        (e.q. 192.168.2.10)

        Now run: 
                # arping -f 192.168.2.71; telnet 192.168.2.71 9000
        
        boot your NAS and hit Ctrl+C when promted.
        If you have no arping (Windows) you should prepare the telnet command
        then power on your NAS and hit enter at the same time.
        Note: If you have problems to catch the NAS you probably have to put
                a switch or hub between your PC and the NAS.

        Once you reach the Redboot-Bootloader 
        - press X
        - press 2 (TFTP download)
        - enter your PC IP-Adr. (for me its 192.168.2.10)
        - enter the path to the firmware image 
           (for me /tftp_root/tinky-2_3_2-mu-02.1)
           Note: Redboot has problems with long paths + make sure that no
           space is in the path (like C:\im so cool\)
        - press enter
        - last chance 
           Do not power-off this device while flash programming is              
                
                proceeding!!------------
           Are you sure to program Boot code (Y/N) y
        
          Its a bad idea to play now with the power supply etc etc :-) 
          Flashing can take up to 15 min.
          If something goes wrong and you are lucky the bootloader has
          already been written to the flash you can retry.

        - Once its done press 1 to boot the NAS

        The first boot will be slow because dropbear will create the keys

        Note:
        If you want to use ssh with other users than
        root you have to make sure that they have a valid shell and home-dir

        /etc/passwd:
        my-user:$1$$CoERg7ynjYLsj2j4glJ34.:500:100:admin:/mnt/IDE1/my-
        user/:/bin/sh

        If you like you can copy the /etc/profile file to the users home
        and set the HOME-variable to:
        HOME=/mnt/IDE1/my-user

6.) Ok but I already have a 2.x firmware, do I have to make a full update

        Well no if and ONLY if you have a 2.x firmware you can update only the
        Ramdisk and Application parts. If you do so you have to first update the
        Ramdisk and after that the Application part but the bootloader wont be 
        touched which makes the update process more secure (you will allways 
        be able to access the bootloader even if something gose wrong while 
        you flash) and your MAC-Adr wont be changed :-).

6.1) Ok I have a 2.x firmware (checked the WebGUI) so how to update?

        Again make really sure its 2.x!!!

        MAKE A BACKUP OF YOUR FILES

        You may be saying:
        Where should I put the 400GB???
        
        We'll somewhere :-)

        Before you begin you'll need a tftp server for the installation.
        For Windows you can try
             tftpd32.jounin.net
             (thanks again Jean-François)
        For Linux I can recommend atftp
             http://freshmeat.net/projects/atftp/

        Extract the Archive and run
                # md5sum -c Ramdisk.md5
                # md5sum -c Application.md5

        copy the RAMDISk and Application files to you tftp-root
        for me its 
                # cp Ramdisk /tftp_root/
                # cp Application /tftp_root/

        (Just to be sure your NAS has to powered OFF at this stage!!!)
        Configure your Networkcard to use a 192.168.2.x IP-adr. 
        (e.q. 192.168.2.10)

        Now run: 
                # arping -f 192.168.2.71; telnet 192.168.2.71 9000
        
        boot your NAS and hit Ctrl+C when promted.
        If you have no arping (Windows) you should prepare the telnet command
        then power on your NAS and hit enter at the same time.
        Note: If you have problems to catch the NAS you probably have to put
        a switch or hub between your PC and the NAS.

        Once you reach the Redboot-Bootloader
        we`ll begin with updating the Ramdisk
        - press 2 to list the flash parts
        - press 4
        - Image Name: Ramdisk
        - Flash Address: 0x701a0000
        - Memory Address: 0x00800000
        - Entry Point: 0x00800000
        - press 2
        - <TFTP-SERVER ADR.>    192.168.2.10
        - Image Path            /tftp_root/Ramdisk

        OK half way througth now we update the Application-Part

        - press 2
        - press 4
        - Image Name: Application
        - Flash Address: 0x703a0000
        - Memory Address: 0x0
        - Entry Point: 0x0
        - press 2
        - <TFTP-SERVER ADR.>    192.168.2.10
        - Image Path            /tftp_root/Application

        ok done!!!

        Now press 1 and have fun!

        Note if you already had tinky installed on your NAS it is recomended 
that
        you make a backup of the /system/overlay directory and then delete that 
dir

        rm -rf /system/overlay

        This is needed because the new version will only copy the new files 
from flash
        to /system/overlay if the dir does not exists.
        This way it is possible that you can change, add or remove files
        and the data wont get overwriten on the next boot.

7.) The End!

        Again feedback is very welcome!!!
        Until now you can find some infos at
                http://www.flipstar.net/myfaq
        but all the NAS related stuff will be moved to
                http://www.nas-2000.org
        soon.

        Have fun 

        
        P.S. If you have trouble formating you hd you should mount
        the NAS via USB and delete all partitions then retry.

Links:
        DLink DNS-300
           http://dns-300.sergeyzh.org/wiki/home
           (great work Sergey)

        The sausalitos handbook
           ftp://ftp.cobalt.com/pub/developer/TechNotes/SSDK.pdf

        IPKG HOWTO
http://qtopia.net/modules/developers/qtopia.php?linkFile=developers/IPKG_Howto

Document History

01                                                              20070330        
        inital release

02                                                              20070420
        update version and date
        added zeroconf part
        added new update section
        added "Hot to use Tinky / Using su"
        added 3.1 howto use su

03                                                              20070504
        changed version vom tinky-2_3_2-mu-02 to tinky-2_3_2-mu-02.1    

04                                                              20070507
        changed version vom tinky-2_3_2-mu-02 to tinky-2_3_2-mu-02.2
        See Changelog for more infos.

Other related posts: