Caricamento contenuto pagina

È possibile caricare il contenuto per la pagina indicata sotto. Se viene cambiato il nome della pagina, è possibile caricare il contenuto per un'altra pagina. Se il nome della pagina è lasciato vuoto, il nome della pagina viene ipotizzato dal nome del file.

File da cui caricare il contenuto della pagina
Nome pagina
Commento
Di che colore era il cavallo bianco di Napoleone?

Italiano English
Modifica History Actions

OpenWrtNAS

How to make a Samba NAS with an OpenWrt router

This express howto describes how to create a NAS to share files inside a network out of an USB-capable OpenWrt router and an external hard drive.

tplinknas.jpg tplinkfrombehind.jpg

Ingredients

  • OpenWrt router with USB port (such as TP-Link WR1043ND) already flashed with OpenWrt Backfire and connected to the Internet

  • external USB hard drive with a single ext4 partition
  • cables to connect and power the hardware

Steps

root@QQ:~# opkg update

root@QQ:~# opkg install kmod-fs-ext4

root@QQ:~# opkg install kmod-usb-storage

root@QQ:~# opkg install block-mount
  • plug the disk into the router's USB port

root@QQ:~# dmesg
...
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: Direct-Access     WD       Ext HDD 1021     2021 PQ: 0 ANSI: 4
sd 0:0:0:0: [sda] 1953519616 512-byte logical blocks: (1.00 TB/931 GiB)
usb-storage: device scan complete
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 17 00 10 08
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI disk
  • be sure that sda1 is the name of your hard disk's partition.
  • edit /etc/config/fstab

config global automount
        option from_fstab 1
        option anon_mount 1

config global autoswap
        option from_fstab 1
        option anon_swap 0

config mount
        option target   /mnt                     
        option device   /dev/sda1
        option fstype   ext4   
        option options  rw,sync
        option enabled  1    
        option enabled_fsck 0
           
config swap                      
        option device   /dev/sda2
        option enabled  0
  • then:

root@QQ:~# /etc/init.d/fstab enable
root@QQ:~# /etc/init.d/fstab start
WARNING: /lib/functions/fsck not found
root@QQ:~# mount
...
/dev/sda1 on /mnt type ext4 (rw,sync,relatime,barrier=1,data=ordered)
  • now let's samba:

root@QQ:~# mkdir /mnt/share
root@QQ:~# opkg install samba3
  • edit /etc/config/samba

config samba
        option 'name'                   'QQ'     
        option 'workgroup'              'openwrt'
        option 'description'    'QQ NAS' 
        option 'homes'                  '0'  

config sambashare
        option 'name'                   'share'      
        option 'path'                   '/mnt/share'
        option 'read_only'              'read'
        option 'guest_ok'               'yes'
        option 'create_mask'    '0700'
        option 'dir_mask'               '0700'
        #option 'users'                 'abc'
  • and enable the samba server:

root@QQ:~# /etc/init.d/samba enable
root@QQ:~# /etc/init.d/samba start 
root@QQ:~# 
  • you can now put all the stuff that you want to share inside the harddisk's 'share' directory :D

Troubleshooting

external hard disk not mounted

  • If you cannot access the samba mount from a PC or if by issuing the mount command the drive does not show up in the list then edit /etc/init.d/fstab and add a "sleep 15" command in the start() function as follows:

start() {                                                                           
        . /lib/functions/mount.sh                                                   
                                                                                    
        sleep 15                                                                    
                                                                                    
        config_load fstab                                                           
        mkdir -p /var/lock                                                          
        lock -w /var/lock/fstab.lck && {                                            
                lock /var/lock/fstab.lck                                                                                        
                [ -e /tmp/fstab ] || {                                                                                          
                        echo '# WARNING: this is an auto generated file, please use uci to set defined filesystems' > /tmp/fstab
                }                                                                                                               
                lock -u /var/lock/fstab.lck                                                                                     
        }                                                                                                                       
        config_foreach do_swapon swap                                                                                           
        config_foreach do_mount mount                                                                                           
        config_foreach do_swapon swap  # do swap a second time so that swap on filesystems is enabled                           
}