最近偷懒,没学习,反想起自己的路由刷了Openwrt,正好闲置了一个硬盘想拿来做个网络硬盘,于是开始了折腾....这里将不谈论如何刷Openwrt,如何ssh,如何添加PPOE,如何添加相对应服务的包等等,网上太多资料了...

这里只记录了耗时1天半,折磨自己,例如,扩展了系统容量,设置了Samba,aria2和aria2webui, 构建Owncloud私有云盘,的一些过程和一些配置文件干货。有些配置完了突然感觉然并卵,但是过程很愉快算是减压的好玩具。

硬件大概这个样子....WNDR4300

系统环境:

  1. 系统版本:OpenWrt  CHAOS CALMER (15.05, r46767)

  2. 路由型号:WNDR4300

  3. 硬盘分区:/dev/sda2  NTFS    网络共享硬盘  647.51GB

        /dev/sda3  SWAP    SWAP 1GB

        /dev/sda4  EXT4  Openwrt系统 49.09 GB

U盘实现热插拔:

添加USB相关支持
[plain] view plain copy
Kernel modules —> USB Support —> <*> kmod-usb-core. ##默认已经选了
Kernel modules —> USB Support —> <*> kmod-usb-ohci. ##默认已选 old usb1.0
Kernel modules —> USB Support —> <*> kmod-usb-uhci. ## usb1.1
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2. ##默认已经选了 usb2.0 添加SCSI支持
[plain] view plain copy
Kernel modules —> Block Devices —> <*>kmod-scsi-core ##默认已经选了 usb3.0 添加USB挂载
[plain] view plain copy
Base system —> <*>block-mount 添加文件系统支持
[plain] view plain copy
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)
Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)
Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择) 退出保存 make V=99 自动挂载U盘:编辑 /etc/hotplug.d/block/10-mount 写入以下内容
[plain] view plain copy
#!/bin/ash case "$ACTION" in
add)
for i in $(ls /dev/ | grep 'sd[a-z][1-9]')
do
mkdir -p /mnt/$i
mount -o iocharset=utf8,rw /dev/$i /mnt/$i
if [ $? -ne 0 ]
then
mount -o rw /dev/$i /mnt/$i
fi
done
;;
remove)
MOUNT=`mount | grep -o '/mnt/sd[a-z][1-9]'`
for i in $MOUNT
do
umount $i
if [ $? -eq 0 ]
then
rm -r $i
fi
done
;;
esac

USB挂载&U盘启动

确认挂载盘符,文件系统最好选择EXT4 ,可以在路由里格式化也可以用Diskgenius格式化(建议用Diskgenius十分方便)

vim /etc/config/fstab

config global
option anon_swap ''
option anon_mount ''
option auto_swap ''
option auto_mount ''
option delay_root ''
option check_fs '' config swap
option device '/dev/sda3'
option enabled '' config mount
option target '/mnt/sda4'
option uuid 'fbca3c60-5c6a-d748-93bd-d5b54aeb575c'
option enabled '1’ reboot

效果展示: 

Samba + ntfs + guest共享

软件包如果你要挂载NTFS格式的硬盘的话,PS:上面添加的脚本就可以帮助我们不用在手动挂载或者管理页面添加挂载。

 

这里samba使用samba36-server,修改/etc/samba/smb.conf重启Samba服务并不起作用,全局和共享是分开的配置文件,分别修改/etc/samba/smb.conf.template和/etc/config/samba

/etc/samba/smb.conf.template

[global]
netbios name = Sean-OpenWrt
display charset = UTF-8
interfaces = 127.0.0.1/8 lo 66.66.66.60/24 br-lan
server string = Sean-OpenWrt
unix charset = UTF-8
workgroup = WORKGROUP
browseable = yes
deadtime = 30
domain master = yes
encrypt passwords = true
enable core files = no
guest account = nobody
guest ok = yes
#invalid users = root
local master = yes
load printers = no
map to guest = Bad User
max protocol = SMB2
min receivefile size = 16384
null passwords = yes
obey pam restrictions = yes
os level = 20
passdb backend = smbpasswd
preferred master = yes
printable = no
security = user
smb encrypt = disabled
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY IPTOS_LOWDELAY
syslog = 2
use sendfile = yes
writeable = yes
/etc/config/samba

[homes]
comment = Home Directories
browsable = no
read only = no
create mode = 0750 [NetworkShare]
path = /mnt/sda2
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777

效果展示:

最后我将网盘映射成了本地,迅雷下载,百度云盘,还有云音乐下载都放在了网络硬盘上,基本满足了我网络存储需求。

手机IOS访问,nplayer效果,个人感觉nplayer太好用了....

传送:

  [Openwrt扩展中篇]添加Aria2和webui

  [Openwrt 扩展上篇]USB挂载&U盘启动&Samba共享

参考资料:

  http://blog.csdn.net/u011641885/article/details/46530327

  http://blog.sina.com.cn/s/blog_4849d5ac0102v4hy.html

  

[Openwrt 扩展上篇]USB挂载&U盘启动&Samba共享的更多相关文章

  1. [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...

  2. android usb挂载分析---MountService启动

    android usb挂载分析---MountService启动 分类: android框架 u盘挂载2012-03-27 23:00 11799人阅读 评论(4) 收藏 举报 androidsock ...

  3. android usb挂载分析----vold启动

    http://blog.csdn.net/new_abc/article/details/7396733 前段时间做了下usb挂载的,现在出了几个bug,又要把流程给梳理下,顺便也把相关的知识总结下, ...

  4. [Openwrt 扩展下篇] Openwrt搭建私有云Owncloud 9

    网上很多资料讲用Linux打造owncloud构建私有云 ,花了些时间研究了下,我将之前的需求打造成了Openwrt下的Owncloud 9.其实网上还有Seafile.大家对比来看下知乎的评论,其实 ...

  5. [Openwrt扩展中篇]添加Aria2和webui

    上一篇说了我构建了简单的网络硬盘,这一篇说的是我构造的aria2和webui,大概是这样我觉得有了网络硬盘,那么我是不是可以远程下载呢,翻阅了网上资料发现迅雷的Xware貌似不更新了,然后我发现了ar ...

  6. linux下挂载U盘方法

    1.使用 cat /proc/partitions 查看系统现在有哪些分区:[root@localhost ~]# cat /proc/partitions major minor  #blocks  ...

  7. 『学了就忘』Linux基础命令 — 39、挂载U盘和挂载NTFS分区

    目录 1.在Linux系统中挂载U盘 (1)插入U盘 (2)查询U盘设备文件名 (3)挂载U盘 (4)U盘中的中文乱码 (5)U盘卸载 2.在Linux系统中挂载NTFS分区 (1)Linux的驱动加 ...

  8. OpenWrt挂载USB储存设备实现Samba共享

    没有USB接口的路由器不是好路由器,有了USB接口OpenWrt才有更多的玩法,比如挂载U盘.移动硬盘等USB储存设备实现Samba共享,打造小型家庭服务器. 1.安装与USB相关的软件包: opkg ...

  9. u盘启动openwrt

    opkg update opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext3 opkg install kmod-usb-storage reboot m ...

随机推荐

  1. python web调用docker-py

    在 /etc/init.d/docker的start()函数末尾加入:chmod 777 /var/run/docker.sock 否则web程序会没有权限去操作  

  2. Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  3. 一道面试题:StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer

    前几天又看到这个面试题,再次看看 public class Jtest{ public static void main(String[] args) { StringBuffer a=new Str ...

  4. 第218天:Angular---模块和控制器

    1.使用NG实现双边数据绑定 所有需要ng管理的代码必须被包裹在一个有ng-app指令的元素中ng-app是ng的入口,表示当前元素的所有指令都会被angular管理(对每一个指令进行分析和操作) & ...

  5. Redis 基础:Redis 配置

    Redis 配置 Redis的配置文件位于Redis安装目录下,文件名为redis.conf.可以通过CONFIG命令查看或设置配置项.其语法为: # Redis CONFIG命令格式如下: > ...

  6. uoj318 [NOI2017]蔬菜 【贪心 + 堆 + 并查集】

    题目链接 uoj 题解 以前看别人博客,在考场上用费用流做,一直以为这题是毒瘤网络流题 没想到竟然是贪心模拟题... 如果只有一个蔬菜呢?这就是一个经典的普及难度的贪心,正着推面临优先选择的困难,而逆 ...

  7. 使用telnet访问百度

    这里主要是玩一下http协议,查看http的header. 1.输入命令telnet访问百度 # telnet www.baidu.com 80 Trying 220.181.112.244... C ...

  8. Java EE之表达式语言EL(下)

    1.在EL表达式中使用作用域变量 表达式语言对作用域变量的支持,以及它解析变量的方式都使它变得非常有用. 1.1 EL表达式的隐式变量 EL表达式的作用域中定义了11个隐式变量. 当EL表达式引用了一 ...

  9. Java List /ArrayList 三种遍历方法

    java list三种遍历方法性能比较http://www.cnblogs.com/riskyer/p/3320357.html JAVA LIST 遍历http://blog.csdn.net/lo ...

  10. 调用Android系统设置项

    Intent mIntent = new Intent(); ComponentName comp = new ComponentName("com.android.settings&quo ...