Skillnad mellan versioner av "OWFS på DNS-320/325"

Från Temperatur.nu
Hoppa till navigeringHoppa till sök
(Ersätter sidans innehåll med 'Denna guide har flyttat till http://wiki.m.nu/index.php/OWFS_p%C3%A5_DNS-320/325')
 
(54 mellanliggande versioner av en annan användare visas inte)
Rad 1: Rad 1:
Här följer en beskrivning för att komma igång med [[OWFS]] på D-links nätverkshårddisk (NAS - Network Attached Storage) DNS-320/325 med Debian Squeeze. För att konfigurera OWFS på ett normalt Linux-system, se [[OWFS HowTo]].
+
Denna guide har flyttat till http://wiki.m.nu/index.php/OWFS_p%C3%A5_DNS-320/325
{| align="right"
 
  | __TOC__
 
  |}
 
== Bakgrund ==
 
[http://sharecenter.dlink.com/products/DNS-320 D-link DNS-320] är en billig nätverkshårddisk från D-link med plats för två hårddiskar och en USB-port. Trots att programvaran är specialskriven för att agera just nätverkshårddisk så finns det möjighet att öppna upp enheten och få vad som nästan är ett normalt linux-system. D-link har släppt [ftp://ftp.dlink.pl/dns/dns-320/driver_software/DNS-320&325_linuxDebian_revA_Squeeze_all_en_20110111.zip instruktioner] för hur man ska göra för att få en chroot:ad installation av Debian Squeeze. Tyvärr är inte USB-porten tillgänglig i Debian om man följer den instruktionen. Den här beskrivningen visar hur man kan ta sig runt det problemet.
 
 
 
== Mål ==
 
 
 
Att få igång ett [[1-wire]]-nät med OWFS på en [http://sharecenter.dlink.com/products/DNS-320 D-link DNS-320] med 1-wire-USB-adaptern [http://www.m.nu/adapter-usb-1wire-ds9490r-p-49.html DS9490R].
 
 
 
== Hårdvara ==
 
 
 
* [http://sharecenter.dlink.com/products/DNS-320 D-link DNS-320] med firmware v2.02 daterat 2011-09-23. Det är troligt att det fungerar utan modifikationer på [http://sharecenter.dlink.com/products/DNS-3205 D-link DNS-325] (ej testat).
 
* [http://www.m.nu/adapter-usb-1wire-ds9490r-p-49.html USB-adaptern DS9490R].
 
 
 
== Mjukvara ==
 
 
 
* Linux 2.6.22.18 (förinstallerat).
 
* [http://nas-tweaks.net/371/hdd-installation-of-the-fun_plug-0-7-on-nas-devices fun_plug v0.7]. För att öppna upp det förinstallerade operativsystemet.
 
* [ftp://ftp.dlink.pl/dns/dns-320/driver_software/DNS-320&325_linuxDebian_revA_Squeeze_all_en_20110111.zip Debian Squeeze rel.20110111] För att få Debian Squeeze installerat.
 
* [http://sourceforge.net/projects/owfs/files/owfs OWFS-2.8p20]. Filerna till OWFS.
 
 
 
== Beskrivning ==
 
 
 
Beskrivningen startar med att nollställa och formattera om hårddiskarna på NAS:en. Se noterna längst ner om du har data på hårddiskarna du inte vill radera eller t.o.m. har Debian Squeeze installerat.
 
 
 
=== Steg 1, återställ NAS:en och ge den baslinjeinställningar ===
 
* Logga in på din NAS via dess web-interface.
 
* Välj Management/System Management/System Settings/Defaults/Restore to Factory Defaults Settings.
 
* Vänta på reboot.
 
* Logga in med admin/<blank>.
 
* Välj Management/Account Management/Admin Password och sätt password.
 
* Välj Management/System Management/Time and Date.
 
** Sätt tidszon och NTP-server.
 
* Välj Management/System Management/Device.
 
** Namnge enheten workgroup/eddie/DNS-320. (NAS:en heter alltså 'eddie' i denna beskrivning.)
 
* Följande punkter är ej nödvändiga.
 
** Välj Management/System Management/System Settings.
 
*** Sätt Idle Time till 60 minuter.
 
** Välj Management/System Management/Power Management.
 
*** Sätt Hibernation=5 minuter, Power Recovery=on och Fan Control=Auto.
 
** Välj Management/System Management/Notifications och fyll i din mail-info.
 
 
 
=== Steg 2, formattera om hårddiskarna ===
 
* Välj Management/Disk Management/Hard Drive Configuration.
 
* Välj Set RAID Type and Re-Format.
 
* Bestäm själv RAID-typ. Jag kör med RAID 1 och Disable Auto-rebuild.
 
* Om du får ett felmeddelande under formatteringen, välj 'Restart' och kör steg 2 en gång till. (Kan hända om du redan har fun_plug installerat.)
 
 
 
Nu är NAS:en färdig.
 
 
 
=== Steg 3, ladda ner filer ===
 
 
 
På din PC, kör följande (koden fungerar på ett linux-system, kör du t.ex. Windows får du ev. ladda ner filerna med din web-läsare.)
 
# Create a dir for downloaded files.
 
mkdir dns320deb
 
cd dns320deb
 
 
# Download fun_plug v0.7 from uli.
 
wget http://wolf-u.li/u/433 -O fun_plug
 
wget http://inreto.de/dns323/fun-plug/0.7/arm/fun_plug.tgz
 
 
# Download fun_plug.debian and squeeze.tar.gz from dlink.
 
wget ftp://ftp.dlink.pl/dns/dns-320/driver_software/DNS-320\&325_linuxDebian_revA_Squeeze_all_en_20110111.zip
 
unzip DNS-320\&325_linuxDebian_revA_Squeeze_all_en_20110111.zip
 
 
 
Du bör nu ha filerna fun_plug, funplug.tgz, fun_plug.debian, squeeze.tar.gz och DNS-320&325_howto_Linux-Debian-in-chroot.txt i samma katalog. Lägg följande kod i en fil med namnet fun_plug.debian.patch:
 
if grep -q -e '--rbind[ \t]/proc' ./fun_plug.debian; then
 
  echo 'mount --rbind /proc exists, not patching.'
 
else
 
  echo -n 'mount --rbind /proc not found, patching...'
 
  sed -i 's:mount[ \t]*--bind[ \t]/proc:mount --rbind /proc:' ./fun_plug.debian
 
  sed -i 's:mount[ \t]*--bind[ \t]/dev:mount --rbind /dev:' ./fun_plug.debian
 
  echo done.
 
fi
 
 
if grep -q fun_plug.local ./fun_plug.debian; then
 
  echo 'Reference to fun_plug.local exists, not patching.'
 
else
 
  echo -n 'No reference to fun_plug.local found, patching...'
 
  perl -pi -e '/chroot/ && print "# run fun_plug.local, if present\nif [ -x ./fun_plug.local ]; then\n\techo -n \"* Running ./fun_plug.local ...\"\n\t./fun_plug.local\n\techo done.\nfi\n\n"' fun_plug.debian
 
  echo done.
 
fi
 
 
if grep -q 'Write a log file'; then
 
  echo 'Loggin is enabled, not patching.'
 
else
 
  echo -n 'Enabling logging...'
 
 
  perl -ni -e 'chomp; print "echo \"$_\"\n" unless (/^\s*$/ || /^\s*(if|fi|echo|#)/); print "$_\n"' fun_plug.debian
 
 
  perl -ni -e 'print; print "\n# Write a log file\nexec >> /mnt/HD/HD_a2/ffpdeb.log 2>&1\necho\ndate\n" if m:/bin/sh:' fun_plug.debian
 
fi
 
 
 
=== Steg 4, kopiera filerna till din NAS och boota om ===
 
 
 
Anslut \\eddie\Volume_1 som en nätverksenhet via Samba (byt ut eddie mot vad din NAS heter).
 
 
 
Kopiera fun_plug, fun_plug.tgz, fun_plug.debian, fun_plug.debian.patch och squeeze.tar.gz till \\eddie\Volume_1.
 
 
 
Boota om din NAS genom att logga in på den via dess web-interface och välja Management/System Management/System Settings/Restart/Restart.
 
 
 
=== Steg 5, logga in med telnet och packa upp Debian ===
 
 
 
Om allt gått som det ska så har fun_plug 0.7 installerats efter boot och telnet-porten öppnats.
 
 
 
Logga in med telnet (putty på Windows) till din NAS. Du bör välkomnas av en prompt sh.4-1#. Kör följande kommandon i telnet-fönstret för att packa upp Debian Squeeze (tagna från beskrivningen i filen DNS-320&325_howto_Linux-Debian-in-chroot.txt):
 
cd /mnt/HD/HD_a2
 
gunzip squeeze.tar.gz # may take a minute
 
tar -xf squeeze.tar  # ditto
 
 
 
Om du kör
 
ls
 
bör du se en ny katalog squeeze.
 
 
 
=== Steg 6, patcha debians start-script och boota upp debian ===
 
Kör
 
source ./fun_plug.debian.patch
 
Du bör få utskriften
 
mount --rbind /proc not found, patching...done.
 
No reference to fun_plug.local found, patching...done.
 
Enabling logging...done.
 
 
 
Patch-scriptet gör tre saker med fun_plug.debian:
 
* Byter ut mount --bind mot mount --rbind på /proc och /dev. Detta gör att även underkataloger till /proc och /dev blir synliga för Debian efter chroot. Detta behövs för att kunna kommunicera med usb-enheter som blir synliga under /proc/bus/usb.
 
* Lägger in att om en fil fun_plug.local finns och är körbar så kommer den att köras före chroot. Kan behövas för att installera stöd för t.ex. usb-to-serial-converters. (Hmm...fun_plug.local bör kanske placeras nån annanstans än i \\eddie\Volume_1 av säkerhetsskäl...hmm...)
 
* Slår på loggning så man kan kolla hur bootningen gick. Bra för felsökning.
 
 
 
Till sist, flytta original-fun_plug åt sidan och kopiera in debian:s fun_plug
 
mv fun_plug fun_plug.ffp
 
cp fun_plug.debian fun_plug
 
 
 
På detta sätt kan man senare tillfälligt boota upp i fun_plug-läge genom att kopiera fun_plug.ffp till fun_plug och boota om.
 
 
 
Boota om din NAS genom att logga in på den via dess web-interface och välja Management/System Management/System Settings/Restart/Restart.
 
 
 
=== Steg 7, installera baspaket i Debian Squeeze ===
 
 
 
Om allt gått som det ska Debian Squeeze nu ha startat på din NAS och telnet-porten ha stängts. I stället ska vi logga in som root med ssh
 
ssh eddie -l root
 
lösen: dlink.
 
 
 
Byt lösenord för root:
 
passwd
 
 
 
Installera locale för att slippa en massa varningsutskrifter (jag vet inte om dom är farliga, men dom är i vart fall irriterande). Byt ut en_GB.UTF-8 mot din locale (skriv 'locale' om du inte vet vilken du har).
 
 
 
apt-get update && apt-get -y install locales
 
sed -i 's/^.*en_GB.UTF-8/en_GB.UTF-8/' /etc/locale.gen
 
locale-gen
 
 
 
Lägg till säkerhetsuppdateringar och installera baspaket.
 
 
 
echo "deb http://security.debian.org/ squeeze/updates main contrib non-free" >> /etc/apt/sources.list
 
apt-get -y upgrade && apt-get -y python fuse-utils less at sysklogd
 
 
 
=== Fortsätt ===
 
 
 
Härifrån ska det gå att följa [[OWFS_HowTo]], förutom den snygga metoden att få OWFS att starta automatiskt vid boot inte verkar fungera, antagligen för update-rc.d uppdaterar filer i det chroot:ade filsystemet och inte i originalfilsystemet. Nån med bättre linux-kunskaper än jag får gärna reda ut problemet. Jag funderar på nån ful-lösning med hjälp av cron. Kommer att posta här om jag får nåt att fungera.
 
 
 
[[Kategori:Linux]]
 
[[Kategori:HowTo]]
 

Nuvarande version från 26 september 2014 kl. 19.18