Differences
This shows you the differences between the selected revision and the current version of the page.
| howto:ffp-reloaded 2017/05/10 13:29 | howto:ffp-reloaded 2017/12/04 19:31 current | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Taking the <a href="http://aetbzuijnf.com">ovveeirw,</a> this post is first class | + | ====== ffp-reloaded ====== |
| + | |||
| + | You can boot directly into [[howto: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 [[http://www.inreto.de/dns323/misc/|firmware-reloaded archive in the misc/]] section of fonz's software repository. | ||
| + | |||
| + | |||
| + | |||
| + | ==== Installation ==== | ||
| + | |||
| + | Download and install ffp-reloaded packages from [[http://www.inreto.de/dns323/ffp-reloaded/|inreto.de]] | ||
| + | <code> | ||
| + | telnet bob | ||
| + | cd /mnt/HD_a2 | ||
| + | rsync -avP --delete inreto.de::dns323/ffp-reloaded . | ||
| + | funpkg -i ffp-reloaded/packages/*.tgz | ||
| + | </code> | ||
| + | |||
| + | 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: | ||
| + | <code> | ||
| + | cd /ffp/boot | ||
| + | sh ./make-devs.sh /mnt/HD_a2/dev | ||
| + | </code> | ||
| + | |||
| + | Create and link required directories: | ||
| + | <code> | ||
| + | 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 | ||
| + | </code> | ||
| + | |||
| + | 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: | ||
| + | |||
| + | <code> | ||
| + | cd /lib | ||
| + | rm /mnt/HD_a2/lib # remove symbolic link created above | ||
| + | tar cf - * | (cd /mnt/HD_a2; tar xvf -) | ||
| + | </code> | ||
| + | |||
| + | Now setup the user database: | ||
| + | <code> | ||
| + | cp /etc/passwd /etc/shadow /etc/group /ffp/etc | ||
| + | </code> | ||
| + | |||
| + | 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): | ||
| + | <code> | ||
| + | cp /etc/hosts /etc/resolv.conf /ffp/etc | ||
| + | </code> | ||
| + | |||
| + | ==== Booting ==== | ||
| + | |||
| + | To boot into ffp: | ||
| + | |||
| + | <code> | ||
| + | cd /ffp/boot | ||
| + | nohup ./boot.sh | ||
| + | </code> | ||
| + | |||
| + | 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: | ||
| + | <code> | ||
| + | uname -a | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | ==== RAID Reloaded ==== | ||
| + | If you don't care about the features in the D-Link firmware, and are confident with using [[http://www.inreto.de/dns323/fun-plug/0.5/|fun-plug 0.5]], you can join the "reloaded" fun using: | ||
| + | |||
| + | * fonz's [[http://www.inreto.de/dns323/misc/|custom 2.6.12 firmware-reloaded kernel]] | ||
| + | * fun-plug 0.5 installed to ''/mnt/HD_a4'' **or** ''/mnt/HD_b4'' (which correspond to the ``sda4`` and ``sdb4`` partitions) | ||
| + | * ffp-reloaded from [[http://www.inreto.de/dns323/fun-plug/0.5/extra-packages/ffp-reloaded/|extra-packages]] | ||
| + | * mdadm. You'll need to run the following **after** reloading: | ||
| + | <code> | ||
| + | mdadm -A /dev/md0 /dev/sda2 /dev/sdb2 | ||
| + | </code> | ||
| + | |||
| + | 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'': | ||
| + | |||
| + | <code> | ||
| + | #!/bin/sh | ||
| + | set -x | ||
| + | cd /ffp/boot | ||
| + | ./reload.sh -I root=/dev/sdb4 -m 526 | ||
| + | </code> | ||
| + | |||
| + | 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 [[http://www.inreto.de/dns323/reloaded|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. | ||
| + | |||
| + | |||
| + | * Mijzelf made it work on the NSA-220 [[http://forum.dsmg600.info/viewtopic.php?pid=32398#p32398]] | ||