This is an old revision of the document!
ffp-reloaded
You can boot directly into ffp 0.5 and run it without firmware.
WARNING: This is highly experimental. A serial connection may be required to track down problems.
You should install the latest busybox package (>= 1.11.1).
This does not work out-of-the-box with RAID. You will have to know what you're doing to get it working. See the RAID Reloaded section for some pointers.
For now, the supplied 2.6.25 kernel doesn't work with Rev B1, because the vanilia kernel doesn't support rev B1. However, you can use a 2.6.12 kernel from the firmware-reloaded archive in the misc/ section of fonz's software repository.
Installation
Download and install ffp-reloaded packages from inreto.de
telnet bob cd /mnt/HD_a2 rsync -avP --delete inreto.de::dns323/ffp-reloaded . funpkg -i ffp-reloaded/packages/*.tgz
Before the first boot, you need to create some essential files, directories and links. We assume that ffp is installed (and later booted) from /mnt/HD_a2.
Create required device files:
cd /ffp/boot sh ./make-devs.sh /mnt/HD_a2/dev
Create and link required directories:
cd /mnt/HD_a2 ln -s ffp/etc ffp/bin ffp/lib ffp/sbin . ln -s ffp usr ln -s /proc/mounts ffp/etc/mtab mkdir -p proc sys
NOTE: if you want to use optware afterwards you need to make sure that you are using the same libraries used with the base fun_plug. If you don't you may get (with xmail, for example) a complaint about a missing symbol in6addr_any. To resolve this, do the following:
cd /lib rm /mnt/HD_a2/lib # remove symbolic link created above tar cf - * | (cd /mnt/HD_a2; tar xvf -)
Now setup the user database:
cp /etc/passwd /etc/shadow /etc/group /ffp/etc
Note that /mnt/HD_a2 will become the root directory (/) after booting. So home directories in passwd that point to /mnt/HD_a2/… will not work.
- Workaround 1: Remove /mnt/HD_a2 from paths: sed -i 's@/mnt/HD_a2@@' /ffp/etc/passwd
- Workaround 2: Create /mnt/HD_a2 link for use after boot: mkdir /mnt/HD_a2/mnt; ln -s / /mnt/HD_a2/mnt/HD_a2
Alternatively, /ffp/etc/examples contains passwd, shadow and group files that only contain root (with empty password). You can use these examples if you don't want to use the firmware files.
Configure network name resolution (DNS):
cp /etc/hosts /etc/resolv.conf /ffp/etc
Booting
To boot into ffp:
cd /ffp/boot nohup ./boot.sh
Your current telnet session will be aborted, but you should be able to relogin in a few seconds. You can check the new kernel version with:
uname -a
RAID Reloaded
If you don't care about the features in the D-Link firmware, and are confident with using fun-plug 0.5, you can join the “reloaded” fun using:
- fun-plug 0.5 installed to
/mnt/HD_a4
or/mnt/HD_b4
(which correspond to the ``sda4`` and ``sdb4`` partitions)- ffp-reloaded from extra-packages
- mdadm. You'll need to run the following after reloading:
mdadm -A /dev/md0 /dev/sda2 /dev/sdb2
Be sure to tweak /ffp/boot/boot.sh
to pass -m 526
to reload.sh
. This is necessary when booting the 2.6.12 kernel. Here is my boot.sh
:
#!/bin/sh set -x cd /ffp/boot ./reload.sh -I root=/dev/sdb4 -m 526
With this setup, I have my Rev B1 DNS-323 reloading into fun-plug 0.5, with RAID1 enabled, and running the NFS kernel server.
Notes
- The included kernel support kernel-level NFS.
- /mnt/HD_a2 doesn't exist anymore after booting into ffp. You might need to adjust some config files (exports, mediatomb, …)
- To boot the ffp kernel using the approach described here, you will need a working reloaded module that supports your kernel. The modules included in the ffp-reloaded package should work with D-Link firmwares up to 1.4 (1.5?) on a DNS-323.
- Mizelf made it work on the NSA-220 http://forum.dsmg600.info/viewtopic.php?pid=32398#p32398