|
|
(16 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 och rc.d-init-scripten körs inte som dom ska. 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.
| |
− | * [http://www.debian.org/ Debian Squeeze.]
| |
− | * [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 [[#Om du inte vill börja från början|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 fun_plug ===
| |
− | | |
− | 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
| |
− | | |
− | === Steg 4, skapa/ladda ner Debian Squeeze ===
| |
− | | |
− | Jag kallar filen nedan mysqueeze.tar.gz för att minska risken för sammanblandning med den version som D-link släppt, där filen heter squeeze.tar.gz.
| |
− | | |
− | ==== Alt. A, packa din egen fil ====
| |
− | Välj det här alternativet om du vill göra allt själv och har en linux-dator.
| |
− | | |
− | Installationen av Debian Squeeze görs i två steg, det första på din linux-dator och det andra på din NAS. Först behöver du installera paketet debootstrap
| |
− | sudo apt-get install debootstrap
| |
− | | |
− | Skapa sen en katalog och kör debootstrap (OBS! En versioner av debootstrap har en bugg och hänger sig vid nedladdningen. Det gäller t.ex. versionen i Ubuntu 10.04. Detta är testat i Ubuntu 12.04.)
| |
− | mkdir ~/squeeze_on_dns320
| |
− | cd ~/squeeze_on_dns320
| |
− | sudo debootstrap --include=openssh-server,locales --arch=armel --verbose --foreign squeeze ./mysqueeze
| |
− | sudo tar cf mysqueeze.tar mysqueeze
| |
− | sudo gzip mysqueeze.tar
| |
− | Du ska nu har en fil mysqueeze.tar.gz innehåller det packade squeeze-systemet.
| |
− | | |
− | ==== Alt. B, ladda ner en förpackad fil ====
| |
− | Välj det här alternativet om du saknar linux-dator och litar på mig ;)
| |
− | | |
− | Ladda ner [http://www8.cs.umu.se/~niclas/mysqueeze.tar.gz mysqueeze.tar.gz (88Mb)]. Filen har md5-summan 48b247ca693e3bf4599f79da25f5d4d3.
| |
− | | |
− | === Steg 5, 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 och mysqueeze.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 6, 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:
| |
− | cd /mnt/HD/HD_a2
| |
− | tar xzf mysqueeze.tar.gz
| |
− | chroot /mnt/HD/HD_a2/mysqueeze /bin/bash
| |
− | Du kör nu "inne" i den halvfärdigt uppackade squeeze-installationen. Dags att köra steg 2.
| |
− | /debootstrap/debootstrap --second-stage
| |
− | I: Installing core packages...
| |
− | ...
| |
− | I: Base system installed successfully.
| |
− | | |
− | Nu är Squeeze uppackat. Lite "housekeeping" innan vi är klara.
| |
− | | |
− | Byt lösenord för root.
| |
− | passwd
| |
− | | |
− | Skapa locale för att slippa varningsmeddelanden senare. Byt ut en_GB.UTF-8 till din egen.
| |
− | sed -i 's/^.*en_GB.UTF-8/en_GB.UTF-8/' /etc/locale.gen
| |
− | locale-gen
| |
− | | |
− | Nu är uppackningen klar. Lämna squeeze.
| |
− | exit
| |
− | | |
− | === Steg 7, skapa Debians start-script och boota upp Debian ===
| |
− | Skapa en fil /mnt/HD/HD_a2/fun_plug.mydebian på din NAS med följande innehåll:
| |
− | #!/bin/sh
| |
− |
| |
− | export DIR=/mnt/HD/HD_a2
| |
− | export DIST=mysqueeze
| |
− | export CHROOT=$DIR/$DIST
| |
− |
| |
− | # Write a log, in case something goes wrong
| |
− | FFP_LOG=$DIR/ffpdeb.log
| |
− | #FFP_LOG=/dev/null
| |
− | exec >>$FFP_LOG 2>&1
| |
− |
| |
− | echo
| |
− | echo "Debian mysqueeze fun_plug"
| |
− | date
| |
− |
| |
− | # Create /ffp link
| |
− | FFP_PATH=$DIR/ffp
| |
− | echo "ln -snf $FFP_PATH /ffp"
| |
− | ln -snf $FFP_PATH /ffp
| |
− |
| |
− | # run fun_plug.init, if present
| |
− | if [ -x /ffp/etc/fun_plug.init ]; then
| |
− | echo "Running /ffp/etc/fun_plug.init ..."
| |
− | /ffp/etc/fun_plug.init
| |
− | fi
| |
− |
| |
− | cd $DIR
| |
− |
| |
− | mkdir -p $DIST$DIR
| |
− | mount --bind $DIR $DIST$DIR
| |
− |
| |
− | mkdir -p $CHROOT/mnt/root
| |
− | mount --bind / $CHROOT/mnt/root
| |
− | mount -o bind /dev $CHROOT/dev
| |
− | mount -o bind /proc $CHROOT/proc
| |
− | mount -o bind /proc/bus/usb $CHROOT/proc/bus/usb
| |
− | mount -o bind /sys $CHROOT/sys
| |
− | mount -o bind /dev/pts $CHROOT/dev/pts
| |
− |
| |
− | cp /etc/resolv.conf $CHROOT/etc/resolv.conf
| |
− | cp /etc/hosts $CHROOT/etc/hosts
| |
− |
| |
− | cp -f /proc/mounts $CHROOT/etc/mtab
| |
− | rm -f $CHROOT/etc/fstab
| |
− | touch $CHROOT/etc/fstab
| |
− | cp -f /etc/resolv.conf $CHROOT/etc
| |
− | hostname >$CHROOT/etc/hostname
| |
− | cp -f /etc/hosts $CHROOT/etc
| |
− |
| |
− | #echo "env > /mnt/HD/HD_a2/env"
| |
− | #env > /mnt/HD/HD_a2/env
| |
− |
| |
− | #echo "ls -l > /mnt/HD/HD_a2/ls-l"
| |
− | #ls -l > /mnt/HD/HD_a2/ls-l
| |
− |
| |
− | # run fun_plug.local, if present in current directory
| |
− | if [ -x /mnt/HD/HD_a2/fun_plug.local ]; then
| |
− | echo "Running /mnt/HD/HD_a2/fun_plug.local..."
| |
− | /mnt/HD/HD_a2/fun_plug.local
| |
− | fi
| |
− |
| |
− | echo "$CHROOT/usr/sbin/chroot $CHROOT /etc/init.d/rc 2"
| |
− | $CHROOT/usr/sbin/chroot $CHROOT /etc/init.d/rc 2
| |
− | | |
− | Se till att filen är körbar.
| |
− | chmod +x fun_plug.mydebian
| |
− | | |
− | Till sist, flytta original-fun_plug åt sidan och kopiera in mydebian:s fun_plug
| |
− | mv fun_plug fun_plug.ffp
| |
− | cp fun_plug.mydebian 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. Återställning till debian sker sen genom att kopiera fun_plug.debian 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
| |
− | | |
− | Du bör få utskriften
| |
− | Generating locales (this might take a while)...
| |
− | en_GB.UTF-8... done
| |
− | Generation complete.
| |
− | | |
− | 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 install python fuse-utils less at sysklogd ed usbutils
| |
− | | |
− | == Fortsätt ==
| |
− | | |
− | Vi är strax redo att följa [[OWFS_HowTo]], men först ska vi skapa en användare så vi slipper köra allt som root.
| |
− | adduser owfs
| |
− | apt-get -y install sudo
| |
− | adduser owfs sudo
| |
− | | |
− | Logga nu ut som root och in som owfs och kör [[OWFS_HowTo]]. Räkna med att kompileringssteget 'sudo make && sudo make install' tar runt 20 minuter.
| |
− | | |
− | Tyvärr verkar inte den snygga metoden att få OWFS att starta automatiskt 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.
| |
− | | |
− | == Om du inte vill börja från början ==
| |
− | | |
− | * Om du har data och/eller inställningar på din DNS-320 som du inte vill tappa kan du förmodligen skippa steg 1 och 2.
| |
− | * Har du fun_plug v0.5 kan du förmodligen starta från steg 3 och bara skippa nedladdning av fun_plug v0.7.
| |
− | * Har du redan installerat debian vill göra en minimal förändring så editera fun_plug (den som följde med debian) och ändra raderna
| |
− | mount --bind /proc $DISTDIR/proc
| |
− | mount --bind /dev $DISTDIR/dev
| |
− | till
| |
− | mount --rbind /proc $DISTDIR/proc
| |
− | mount --rbind /dev $DISTDIR/dev
| |
− | | |
− | == Källor ==
| |
− | | |
− | * http://nas-tweaks.net/371/hdd-installation-of-the-fun_plug-0-7-on-nas-devices/
| |
− | * http://wiki.temperatur.nu/index.php/OWFS_HowTo
| |
− | * ftp://ftp.dlink.pl/dns/dns-320/driver_software/DNS-320&325_linuxDebian_revA_Squeeze_all_en_20110111.zip
| |
− | * http://archive.pfb.no/2010/04/01/owfs-on-debian-squeeze/
| |
− | | |
− | [[Kategori:Linux]]
| |
− | [[Kategori:HowTo]]
| |