Differences
This shows you the differences between the selected revision and the current version of the page.
howto:ffp-reloaded 2017/05/08 12:34 | howto:ffp-reloaded 2017/12/04 19:31 current | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | I told my grtadmonher how you helped. She said, "bake them a cake!" http://uiuacphm.com [url=http://ztsmzt.com]ztsmzt[/url] [link=http://uxbfjtql.com]uxbfjtql[/link] | + | ====== 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]] |