打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
搭建基于Ubuntu/XBMC的NAS/HTPC (软件篇)
userphoto

2014.09.15

关注

搭建基于Ubuntu/XBMC的NAS/HTPC (软件篇)  

2012-07-16 17:35:19|  分类: DIY |举报 |字号 订阅

/Build a NAS/HTPC on Ubuntu/XBMC (Software Setup)


接上一篇【硬件篇】


差不多算安装过程中记录流水账,有些因为贪快用英文记录了,望看官海涵。


系统PK

硬件安装好以后开始折腾软件了,首先是系统。试验了FreeNAS(基于FreeBSD),OpenMediaVault(基于Debian Squeeze),结果都无法完美用XBMC播放720P视频。潜心研读国内外各种论坛,得出结论Sandy Bridge的核显驱动只有在Linux内核3.0以上才得到了完美支持。FreeBSD不行,Debian最新版本的内核是2.6也不行。流行的Linux发行版本里面目前只有Ubuntu的内核升级到了3.2。All right, 看来我只有这一个选项了。

最终没有使用的实验过程也记录下来以备不用。

—————————————————————————————————————————————————————

基本系统安装

因为希望安装一个最小化系统,所以下载了Ubuntu minimal 12.04的ISO。找一个不用的U盘(下面称U盘A),在Unix shell下把ISO写到U盘A里:

dd if=mini.iso of=/dev/disk1
这里/dev/disk1是U盘A的位置,执行前务必确认,如果误填了硬盘的位置的话...


将U盘A和新采购用于做系统分区的U盘(下称U盘B)都接到新电脑上,在BOIS里设置好U盘A启动,就开始安装了,安装位置选择到U盘B。将U盘B作为系统盘是参考的OpenMediaVault的方案。好处是即使系统崩溃了,也很容易恢复数据盘上的内容。由于mini版ISO需要实时下载包文件,安装过程会比较长(好在实时下载的都是最新的包,而即便使用完整版ISO,装完之后也要apt-get upgrade,总的时间耗费甚至更长)。之后选择Basic Ubuntu Server, OpenSSH Server和Samba Server三项。用户名设置好,我就选了xbmc。如果你用其它用户名,下面命令中也要相应替换掉。


—————————————————————————————————————————————————————

通用配置


先设置网卡

vi /etc/network/interfaces

# 文件内容

#iface eth0 inet dhcp

iface eth0 inet static

address 192.168.1.3

netmask 255.255.255.0

gateway 192.168.1.1


设置DNS

vi /etc/resolvconf/resolv.conf.d/tail
# 文件内容
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 208.67.220.220

/etc/init.d/resolvconf restart


RAID
在前面OpenMediaVault的链接做过RAID,没想到安装好Ubuntu之后就自动识别出来了。证明不同版本Linux下做的RAID是可以相互识别的。也证明了用U盘做系统盘对于数据更安全。如果全新在Ubuntu下做RAID需要去参考一下madm的手册。注意:上面那个Ubuntu软件RAID实验里的方法和我最后采用的方法并不一样。实验里为了把case变得复杂是对两块硬盘分别进行分区之后再做的RAID,最后采用的方案是把两块硬盘整体做了RAID,复杂度降低了。RAID认出了,不过还需要挂载到文件系统。
mkdir /media/raid
vi /etc/fstab
# 文件内容
/dev/md127      /media/raid     ext4    defaults            0       0


Samba
smbpasswd -a xbmc
vi /etc/samba/smb.conf
# 文件内容
security = user (uncomment)
usershare allow guests = no
map to guest = never
[public]
    browseable = yes
    path = /media/raid/pub
    guest ok = no
    read only = no
    create mask = 0664
    directory mask = 0775
    valid user = xbmc
    public = no


将系统盘(U盘B)整体备份到硬盘(确认设备位置)
dd if=/dev/sdc of=/media/raid/os-dd.img


—————————————————————————————————————————————————————

软件安装/配置

为了加快包下载速度,先更新sources.list,选择速度较快的源。
vi /etc/apt/sources.list
# 使用速度较快的源,我这里网易的不错
deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted


安装xbmc及其它视频播放依赖的软件
apt-get install xbmc vainfo i965-va-driver alsa xinit


设置所有用户都可以运行X Window
dpkg-reconfigure X11-common


安装硬件监控软件(如CPU温度)
apt-get install lm-sensors
sensors-detect
# 全部回车,最后一步 YES (save)
# 重启
sensors


安装硬盘温度监控软件
apt-get install hddtemp
# 安装 daemon 部分可以选 No
hddtemp /dev/sda /dev/sdb


把用户加入audio,video组
gpasswd -a xbmc audio
gpasswd -a xbmc video

# 确认
groups xbmc


关闭部分tty,节约资源,家庭用户不需要那么多
cd /etc/init
mv tty4.conf tty4.conf.bak
mv tty5.conf tty5.conf.bak
mv tty6.conf tty6.conf.bak


设置开机自动登录并启动XBMC
vi ~/.xinitrc
#!/bin/bash
exec /usr/bin/xbmc-standalone
chmod +x .xinitrc

vi ~/.bash_profile
if [ x`pidof X` = "x" ] && [ -z "$DISPLAY" ] && [ `awk -F. '{print $1}' /proc/uptime` -lt 60 ] && [ $(tty) == /dev/tty3 ]; then
  exec /usr/bin/startx;
fi

apt-get install mingetty
vi /etc/init/tty3.conf
#exec /sbin/getty -8 38400 tty3
exec /sbin/mingetty --autologin xbmc tty3


中文界面设置

# 在 Windows 或 OS X 下找到 Arial Unicode 字体,将它复制到 /usr/share/xbmc/media/Fonts
在 XBMC 里将界面和字幕的编码/字体都设置成中文

安装大陆地区专用插件包(在线视频等)
wget http://xbmc-addons-chinese.googlecode.com/files/repository.googlecode.xbmc-addons-chinese-eden.zip

在 XBMC 中选择安装下载完成的插件包

—————————————————————————————————————————————————————

Trouble Shooting
安装到这里就差不多完成了,剩下一些比较妖的问题需要解决

1. no protocol when starting X
rm ~/.Xauthority
rm ~/tmp/.X0-lock

2. Volume too low
apt-get install alsa
alsamixer
tune the volume to max

3. Crash on MKV H264
switch to software decoder in XBMC
其实现代CPU硬解和软解高清视频在性能上差别不怎么明显。就拿我这块入门级Sandy Bridge来说,软解也就是30%占用率(还只是一核,另一核完全闲置在那),硬解最少也要10%占用率吧。此外,软解的兼容性毕竟要高于硬解。你要实在OCD得厉害,必须要硬解,那方法也是有的。

4. Mount MSS through Samba
mkdir /mnt/mss
mount -t cifs -o username=<username>,password=<password> //<mss-ip>/Public /mnt/mss

5. Disk bad sectors scanning
sudo nohup badblocks -v /dev/md127 &
takes 3 hours

6. Poweroff problem

7. Customized Boot Splash
这段是我从别的论坛拷贝来的,但是忘记是那个帖子了,向原作者道歉

If you want to replace the standard Ubuntu boot screen with a custom, XBMC related one TeamXBMC provides the following in its repository:

To install the logo, type the following:

sudo apt-get install plymouth-label v86d sudo wget http://excyle.nl/plymouth-theme-xbmc-logo.deb sudo dpkg -i plymouth-theme-xbmc-logo.deb

Change the Grub-config

sudo nano /etc/default/grub

Add next line to the GRUB_CMDLINE_LINUX_DEFAULT and GRUB_GFXMODE line.

video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap GRUB_GFXMODE=1366x768 

Change the Initramfs-Module

sudo nano /etc/initramfs-tools/modules

Put this in the file as last line:

uvesafb mode_option=1366x768-24 mtrr=3 scroll=ywrap 
sudo nano /etc/initramfs-tools/conf.d/splash

Put this in the file:

FRAMEBUFFER=y 

Update grub and the initramfs.

sudo update-grub sudo update-initramfs -u

Reboot

sudo reboot

8. Auto mount USB storage

sudo apt-get install usbmount


sudo vi /etc/usbmount/usbmount.conf

# update the lines

#FS_MOUNTOPTIONS=""

FS_MOUNTOPTIONS="-fstype=ntfs,gid=xbmc,uid=xbmc,umask=002,sync \
-fstype=vfat,gid=xbmc,uid=xbmc,umask=002,sync\
-fstype=ext2,gid=xbmc,uid=xbmc,umask=002,sync \
-fstype=ext3,gid=xbmc,uid=xbmc,umask=002,sync \
-fstype=ext4,gid=xbmc,uid=xbmc,umask=002,sync \
-fstype=hfsplus,gid=xbmc,uid=xbmc,umask=002,sync \
-fstype=exfat,gid=xbmc,uid=xbmc,umask=002,sync"

完成之后可以把/var/run/usbmount/加入samba共享,方便远程访问。

9. 通过邮件监视RAID状态
http://ubuntuforums.org/archive/index.php/t-1185134.html
此帖的关键是配置好sendmail和最后用下面的命令行将monitor模式下的mdadm进程以daemon形式启动起来

sudo mdadm --monitor --scan --daemonize --test --syslog



—————————————————————————————————————————————————————

围观成果
主界面
 
音乐播放界面
 
视频插件界面
 
在线播放视频
 
 
 播放本地视频

10. 遥控器
感谢 Allen Zhang 分享此功能
在XBMC图形界面,打开设置-网络-服务,启用以下项:
1)HTTP服务及端口
2)允许其它设备控制
3)Zeroconfig

完成之后在其它设备的浏览器里输入上面设置的IP和端口,可以看到一个网页版的遥控器。也可以在智能手机上下载官方或第三方APP,我最后选了yatse ( https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree&hl=en ). 把手机变成了带液晶屏的遥控器,秒杀淘宝上卖几十上百的物理遥控器。

11. 安装 Transmission
sudo apt-get install transmission-daemon
sudo service transmisson-daemon stop
sudo vi /etc/transmission-daemon/settings.json

# update these lines
"rpc-whitelist": "127.0.0.1,192.168.1.*",
"download-dir": "/pub/downloads",
"incomplete-dir": "/pub/downloads/incomplete",
"incomplete-dir-enabled": true,

sudo vi /etc/init.d/transmission-daemon

# update this line
#USER=debian-transmission
USER=xbmc

sudo chown root:xbmc /etc/transmission-daemon/
sudo chown xbmc:xbmc /etc/transmission-daemon/settings.json
sudo chown -R xbmc:xbmc /var/lib/transmission-daemon

sudo service transmission-daemon start

通过浏览器 http://192.168.1.3:9091 访问,用户名/密码:transmission/transmisson
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ubutu12.10安装后相关问题解决办法
VMware安装Ubuntu18
Ubuntu 10.04简明安装配置(1)
Linux当中解决apt-get install E: 无法定位软件包问题(附上详细步骤以及注释)
Ubuntu10.10软件源,163更新源
Ubuntu从安装到配置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服