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

Från Temperatur.nu
Hoppa till navigeringHoppa till sök
Rad 63: Rad 63:
 
  unzip 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 fun_plug.debian.patch:
+
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
 
  if grep -q -e '--rbind[ \t]/proc' ./fun_plug.debian; then
 
   echo 'mount --rbind /proc exists, not patching.'
 
   echo 'mount --rbind /proc exists, not patching.'
Rad 72: Rad 72:
 
   echo done.
 
   echo done.
 
  fi
 
  fi
 
 
  if grep -q fun_plug.local ./fun_plug.debian; then
 
  if grep -q fun_plug.local ./fun_plug.debian; then
 
   echo 'Reference to fun_plug.local exists, not patching.'
 
   echo 'Reference to fun_plug.local exists, not patching.'
Rad 80: Rad 79:
 
   echo done.
 
   echo done.
 
  fi
 
  fi
 
 
  if grep -q 'Write a log file'; then
 
  if grep -q 'Write a log file'; then
 
   echo 'Loggin is enabled, not patching.'
 
   echo 'Loggin is enabled, not patching.'

Versionen från 23 november 2012 kl. 03.32

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.

Bakgrund

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 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 D-link DNS-320 med 1-wire-USB-adaptern DS9490R.

Hårdvara

Mjukvara

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.

  • Å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.
  • 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 formatteringen en gång till. (Kan hända om du redan har fun_plug installerat.)

Nu är NAS:en färdig. Dags att ladda ner lite 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