Archive

Archive for the ‘Projects’ Category

Ubuntu 10.10 and MythTV 0.24

December 10th, 2010 No comments

这个小项目的目的是在 Ubuntu 10.10 上面安装 MythTV 0.24。

简介
Ubuntu 是目前比较流行的 linux 发行版本。相对于其它 linux 发行版本,Ubuntu 的安装方便,使用简单,并且集成的软件包都比较新 (详情请看 Ubuntu 的官方网站)。当前 Ubuntu 的最新版本是 10.10。

MythTV 是一个基于 linux 的开源数码录影软件。使用 MythTV 能够把你的电脑转换成一台家庭娱乐系统。MythTV 有很多特点,包括观看和录制电视,时移电视 (类似LG的左右时间),看DVD,听音乐,看图片,甚至可以上网,订购RSS等。另外,用户可以加入第三方或者自己开发的插件来增加自己的需求 (详情请看 MythTV 的官方网站)。当前 MythTV 的最新版本是 0.24。

先介绍一下我的电脑的硬件配置。

硬件

  • CPU: AMD Opteron 165 1.8GHz Dual-Core Processor
  • GPU: eVGA Nvidia GeForce 7900 GTO
  • TV Tuner Card: Hauppauge WinTV-HVR-1600
  • Memory: GSkill DDR400 2x1GB
  • Hard Drives: Western Digital 250GB x2

硬件列表里面最关键的就是显卡和电视卡了,后面关于 MythTV 的一些配置步骤都是跟它们有关。

安装步骤

  1. 安装 Ubuntu
  2. 这一步没有什么好说的,无非是从 Ubuntu 网站上下载镜像文件,刻盘,用光盘启动,给硬盘分区,然后安装。但是需要提一下的是在安装进行到大约 93% 的时候,Ubuntu 的安装程序报错说无法安装 bootloader 到硬盘主引导扇区。我 google 了一下,这个问题是 Ubuntu 比较常见的 bug。解决的方法就是在弹出的对话框里选择 “Proceed without installing bootloader”,安装完成后再次用 Ubuntu Live CD 启动计算机,然后按照 Reinstalling Grub 2 里面的步骤重新安装 Grub2 到硬盘主引导扇区。

  3. 更新 Ubuntu
  4. 第一次运行 Ubuntu,需要对其进行更新。所有更新中最重要的是需要将 linux kernel 的版本从 2.6.35-22-generic 升级到 2.6.35-23-generic。原因是最新的 Hauppauge HVR-1600 驱动程序只能在新的 kernel 里编译通过。

    更新 Ubuntu 很简单。打开一个命令窗口 (Terminal),在里面输入如下命令:

    sudo apt-get update
    sudo apt-get upgrade

    Ubuntu 就会自动更新软件包,其中包括把 linux kernel 升级到最新的 2.6.35-23-generic。

  5. 安装 Nvidia 的驱动程序
  6. 这一步是安装显卡程序。在命令窗口里输入:

    sudo apt-get install nvidia-current

    Nvidia 的最新驱动程序就会自动安装。安装完之后重新启动计算机,然后在命令窗口运行

    sudo nvidia-xconfig

    来进行 X11 的自动配置。

    在这一步需要特别提到的一点就是:如果你的系统里用的是 Nvidia 的显卡和 Hauppauge HVR-1600 电视卡,那么需要更改 Grub 2 的配置文件来防止一个 bug。由于很不幸的我正好使用的是这两块卡,所以我也需要做这额外的一步。用一个文本编辑器打开 /boot/grub/grub.cfg,并在 kernel 那一行的末尾加上:

    vmalloc=256M

    改过之后 kernel 那行应该是这样的

    kernel ...... vmalloc=256M
  7. 安装 KDE
  8. Ubuntu 默认安装的 Gnome 系统。我个人比较喜欢 KDE 桌面系统,所以这一步是安装 KDE。同样的,在命令窗口里输入:

    sudo apt-get install kde-full
  9. 设置 KDE 字体
  10. 这一步不是必需的。不过我觉得 KDE 默认的字体太小,看起来费眼,于是在 System Settings -> Application Appearnce 里面将字体改大了。

  11. 安装 ncurses 运行库
  12. 这个 ncurses 运行库是编译 CX18 驱动程序时必需的。

    sudo apt-get install libncurses5-devel
  13. 安装 Hauppauge HVR-1600 的驱动程序 (CX18)
  14. MythTV 的 Wiki 上有一篇 关于 Hauppauge HVR-1600 的文章。Hauppauge HVR-1600 是基于 CX23418 的电视卡,使用 CX18 驱动程序。

    • 下载源文件
    • v4l-dvb 网站 上下载最新的驱动程序源文件。我下载的文件是 v4l-dvb-abd3aac6644e.tar.gz。

    • 解压缩
    • tar zxvf v4l-dvb-abd3aac6644e.tar.gz
    • 生成和修改配置文件
    • 进入刚才解压缩生成的 v4l-dvb-abd3aac6644e 目录,然后输入以下命令:

      sudo make menuconfig

      不需要修改任何选项直接点击 “Exit” 退出,然后点 “Yes” 保存配置 (这步会自动生成配置文件)。

      下面需要修改 v4l 目录下的 .config 文件以避免一个编译错误。进入 v4l 目录用文本编辑器打开 .config 文件。将这一行

      CONFIG_DVB_FIREDTV=m

      改为

      CONFIG_DVB_FIREDTV=n
    • 编译
    • make

      这一步需要的时间比较长,请耐心等待。

    • 安装驱动程序
    • make install
    • 激活驱动
    • sudo modprobe cx18
  15. 安装 MythTV
  16. 安装 MythTV 很简单。在命令窗口输入以下命令:

    sudo apt-get update
    sudo apt-get install mythtv

    Ubuntu 就会自动安装最新的 MythTV 以及运行 MythTV 需要的其它软件和运行库。这一步需要花好几分钟。在安装过程中会弹出几个对话框向用户询问一些选项,包括:

    • 第一个对话框要求用户输入一个 MySQL 数据库 root 用户的密码;
    • 第二个对话框询问是否允许其它的计算机远程连接到本机的 MythTV 服务器。如果本机是置于一个防火墙之后,建议选择 “Yes”。
    • 安装程序会自动生成一个 MySQL 用户和密码,这些信息保存在 /etc/mythtv/mysql.txt 这个文件中。在下一步 “配置 MythTV” 中会用到这些信息。
  17. 配置 MythTV
  18. 在命令窗口中输入以下命令来配置 MythTV:

    mythv-setup

    配置 MythTV 不是一个简单的任务,不过网上有很多教程和文章。我推荐 MythTV 的 官方文档 以及 MythTV Ubuntu Installation Guide

Categories: Linux, Projects Tags: ,

Convert a PC Power Supply to a Lab Power Supply (2)

December 2nd, 2010 No comments

收集齐了元件,我们就开始干活吧。首先是打开就电脑电源的盖子。这里要注意的有两点:1一定要拔掉电源线。这点非常重要,带电操作的话会被电击。2打开电源的盖子后电源的保修就彻底没有了,所以动手前先想好哦。好,一切准备就绪,我们现在开始看图说话。

  1. 开工前先展示一下我所用的电脑电源:ThermalTake TR2-430。
  2. DC Power Supply
  3. 破坏电源封条,拧下盖子上的螺钉,打开电源的上盖。
  4. DC Power Supply
  5. 在电源的上盖上面用电钻钻五个孔,装上一个绿色指示灯和四个 binding posts。四个 binding posts 用来链接 3.3V、5V、12V、和地线。指示灯当然是用来显示电源是处于开还是关的状态的。
  6. DC Power Supply
  7. 在电源上盖的里面接上一个 10-Ohm/10-Watt 的电阻。电阻的一端接5V电源线,另一端接地线。这个电阻是用来给电脑电源提供空载荷的。如果不接这个电阻的话,空载时电源的保护机制会自动切断供电。
  8. DC Power Supply
  9. 将盒子外面电源线上的接头用线钳剪断。将电源里的电线线分类理顺并做上标记:橙色的线是3.3V、红色的线是5V、黄色的线是12V、黑色的线是地线。
  10. DC Power Supply
  11. 把相应颜色的线和上盖上相应的 binding post 连起来。
  12. DC Power Supply
  13. 在电源的背面装上四个 rubber feet。
  14. DC Power Supply
  15. 合上上盖,拧上螺钉,大功告成。
  16. DC Power Supply
  17. 接电测试,运行正常。注意绿色的指示灯亮着,有点漂亮哦~~~
  18. DC Power Supply
Categories: Projects Tags:

Convert a PC Power Supply to a Lab Power Supply (1)

December 1st, 2010 No comments

Here is a list of the parts and tools:

Parts Purchased from RadioShack

  • Insulated binding posts (4) – RadioShack 274-662
  • Green LED with built-in resistor (1) – RadioShack 276-0271
  • 10-Ohm/10-Watt wirewound resistor (1) – RadioShack 271-132
  • Rubber feet (4) – RadioShack 64-2342
  • SPST flip switch (1) – RadioShack 275-0706

Tools and Parts I have

  • Solder and solder gun
  • Shrink wraps
  • Electrical tapes
  • Screwdrivers
  • Wire cutter and stripper
  • Wires
Categories: Projects Tags:

组建家庭服务器(5) – Wake on Lan

October 30th, 2010 No comments

Wake on Lan (WoL) 简单的说就是通过局域网的一台电脑远程唤醒另外一台电脑。WoL 这个功能很适合我这种懒人哦。比如说我的 WHS 服务器放在地下室里,而我的工作电脑是在一楼的办公室里。有了 WoL,当我想从工作电脑访问服务器上的资料而服务器却是关机的时候,我不需要拖动自己肥胖的身体攀下陡陡的楼梯打开服务器的电源开关然后又攀上陡陡的楼梯拖动肥胖的身体回到办公室。相反的,我只需在工作电脑上面运行一个小软件,鼠标轻轻一点,WoL 就会唤醒地下室的服务器开机,我只要等几分钟就可以访问它上面的资料了。

  1. 网卡设置
  2. 要想使用 WoL 功能,首先需要被唤醒的计算机上的网卡支持这个功能。我的 WHS 服务器上的网卡是 Realtek RTL8100,从 Realtek 网站上查到是支持 WoL 的。于是从 Realtek 的网站上下载最新的驱动程序,安装上了之后从 “硬件管理器 (Device Manager)” 进入网卡的设置界面。在 “Advance” 标签页里需要把 “Shutdown Wake-On-Lan”,“WakeUp on ARP/PING”,“WakeUp on Link Change”,和 “WakeUp using APM Mode” 都激活 (Enabled),如下图所示:

    Network Card Setttings
  3. WoL软件
  4. 设置好被唤醒机器上的网卡之后,在用来唤醒的计算机 (就是我上面说的工作电脑) 上还需要特殊的程序进行远程唤醒。推荐使用这个小软件:Depicus’ WoL GUI。这个软件是个绿色软件,下载之后直接双击 .exe 文件就可以运行。

    在使用 Depicus 的 WoL 软件之前,我们需要找到远程被唤醒机器 (WHS 服务器) 的一些网络参数。在 WHS 服务器上开一个 DOS 窗口然后运行 “ipconfig /all” 命令,如下图所示。记住图中的 “Physical Address”,“IP Address”,和 “Subnet Mask” 。

    ipconfig

    然后运行 Depicus’ WoL GUI,得到如下的界面:

    Depicus' Wake on Lan GUI

    将在前面记下的网络参数输入到相应的文本框里。软件中的 “Mac Address” 对应上面记下的 “Physical Address”,“Internet Address” 对应上面记下的 “IP Address”,“Subnet Mask” 当然是对应 “Subnet Mask”。“Send Options” 选择 “Local Subnet”,“Remote Port Number” 使用默认的 “7”。然后点击 “Wake me up” 按钮。如果一切顺利的话,WHS 服务器就会被唤醒开始启动。

Categories: Projects Tags:

组建家庭服务器(4) – 硬件配置

October 20th, 2010 1 comment

前面提到我有好几台电脑,在组建家庭服务器的计划阶段就决定将其中的一台旧电脑改装为 WHS 服务器。这台旧电脑还是2002年的时候自己 DIY 的,从配好到现在除了换了一次主板外一直运行良好。

经过稍许改装后,我的 WHS 服务器的最终配置如下:

  • CPU: AMD AthlonXP 2800+
  • Memory: 1GB PC2700 DDR
  • Motherboard: Gigabyte GA-7N400S-L
  • HDD: 1 x Hitachi 2TB SATA HDD and 1 x Samsung 1TB HDD

其他的如光驱、鼠标、键盘、显卡之类的只是在安装系统的时候需要,系统装完之后就可以去掉了。

这个硬件配置已经超过了微软给出的 WHS 的最低配置,不过我在组建这个服务器的时候还是有一点担忧。我最开始的设想是这台 WHS 服务器架好以后除了做文件服务器,还要用来做媒体服务器。媒体服务器的主要功能是向 PS3 传输声音和图像,这样我就可以用客厅里的环绕家庭影院欣赏从网上下载的高清电影了。由于 PS3 支持的影音格式比较少,所以媒体服务器在传输声像之前一般需要对声音和图像进行编码。而这个编码的过程对机器的性能要求就比较高了,我不知道前面提到的配置能不能够胜任这个任务。

让我感到高兴的是,在之后进行的测试中,WHS 服务器能够流畅地编码和传输 720p 的高清电影 (通过一个叫 PS3 Media Server 的软件)。这样我的 WHS 就完美了,呵呵。。。。。。

Categories: Projects Tags:

组建家庭服务器(3) – WHS的安全问题

October 20th, 2010 No comments

[注]:本贴转自Hi!PDA 论坛

WHS的安全问题

1. OS玩完了

一般来说WHS在那里跑,你不用它,它不会有问题,很少会出现OS崩溃。但真的玩完了,把安装盘放进去,重新安装,在选择安装类型时,选择 Server Reinstall,其实就是只在那个20G的分区里重装OS,整个POOL(Share目录,所有硬盘上的DE)都会加载。但需要重新建立用户,并授权。

2. POOL中一块硬盘玩完了

把这块硬盘换下来,换上新硬盘,当WHS发现某个tombstone对应的shadow文件少了一个时,就会把另一个复制过来。

3. 第一块硬盘完了

这时先把所有硬盘的连接断开,装上新硬盘,装好WHS,然后关机,把那些硬盘连接上,再开机,开机后WHS发现了一个POOL,并且POOL中每块HD都有相同的标记,就会检索每块HD上的Shadow File,重建Share及tombstone。这个过程持续时间会很长,如果文件很多。

4. 超过一块硬盘损坏了

还能说啥,用RAID,就哭吧。在WHS里,这时肯定会丢失文件了,如果你全部硬盘同时损坏,也得哭。如果不是全部,那还能恢复部分文件。

还是先装上新硬盘,装好WHS,设置好。到网络上另一个机器上,把原WHS的硬盘挂上,就会发现硬盘上的DE目录,就把DE目录复制到新WHS下的 share目录里,能恢复多少就多少了。因为folder duplication的原因,很可能会出现部份文件重了。

这时肯定只能恢复一部分了,但总好过没有了。

同样的做法也可以对付上面的情况3,如果你不信任WHS来自己重建pool。

Categories: Projects Tags:

组建家庭服务器(2) – WHS的存储机制

October 20th, 2010 No comments

[注]:本贴转自Hi!PDA 论坛

WHS的存储机制

WHS实际上是一个MOD版的Windows 2003

在安装WHS时,是在第一块硬盘上,创建一个20G的分区,并将其它空间创建另一个分区。20G的分区就用来安装OS,这一块没什么好谈的。主要谈另一个分区。

在另一个分区中,WHS会建立一个SHARE的目录,下面有一些常用的共享目录。这个共享目录其实就是 Storage Pool 的外在表现,也就是你能看到的部分。同时,在这个分区里还有另一个目录叫DE,是隐藏的,DE其实就是 Driver Extender 的首字母缩写。

当把文件复制到SHARE下的共享目录后,WHS会将这个文件创建一个4K大小的文件代替这个文件,这个4K大小的文件术语叫 “Tombstone”,而实际的文件则变成了 “Shadow File”。能看到的变化,其实是在SHARE目录下原文件被替换成tombstone,shadow file被复制到DE目录中。

当把第二块硬盘加入WHS中后,可以选择是否加入 storage pool,这个只有加入和不加入,没有说一部分加入的话。加入了POOL之后,这个硬盘上就会创建一个标识,使之被WHS认为是POOL的成员,并且创建DE目录。再加第三,第四块硬盘,WHS处理是一样的。

当加入了两块硬盘后,在管理台中,目录的 “Folder Duplication” 属性就变的可用,当把这个属性选中后,就会创建两个shadow file,并存放在不同的硬盘的DE目录下。

WHS中有一个叫 storage balance 的机制,会决定两个shadow file应该存放在那个硬盘上,一般来说,会尽量把pool里的文件优先分配在非“第一块硬盘”上。

这个过程就使 WHS在PP2 (Power Pack 2) 之前存在一个问题,因为文件先被复制到Share目录,如果文件太大,或第一块硬盘上空间不够,即使整个POOL空间足够,文件仍然无法复制。另外还有一个问题,就是 tombstone,虽然只有4K大,但如果tombstone太多,吃掉所有空间,也无法再储存文件。幸运的是PP2早就出来了,PP3已经BETA了,相对PP2,改进在于支持Win7的library,以及支持Win7的Image方式的备份。但还是推荐第一块硬盘使用你手上最大的那块。

这里要注意几点:

1. 绝对不要手工在SHARE目录下创建目录,一定要通过管理台。

2. tombstone虽然只有4K大小,但是在术语里其实他是一个symbol link,系统仍然会认为它的大小是原文件的大小。所以会发现SHARE目录的大小甚至会大于整个第一块硬盘。正因为这个原因,GHOST什么的复制硬盘会出错,有些程序与磁盘整理什么的也会出问题。

3. 尽量只从共享目录访问文件,而不要本地操作SHARE目录。

4. 如果没有指定目录进行Duplication,那所有DE中都只有一个副本,硬盘坏了就没了。这种设计的好处在于,可以对有些目录设置 duplication,有些不怕丢的文件不设置,最大化的利用空间。

Categories: Projects Tags:

组建家庭服务器(1) – FreeNAS还是WHS

October 20th, 2010 No comments

经过几年的折腾,家里有了好几台计算机,还有好多块用来备份的外置硬盘。这么多的机器和硬盘,在查找资料的时候不太方便,往往是要翻遍好几处才找到想要的东西。另外,我的大多数工作文档在各个电脑上都有拷贝,时间长了就搞不清哪台电脑上的文档是最新的版本。于是我萌生了组建一台家庭服务器的念头。有了一个大容量存储服务器之后,就可以集中存放所有的数据,可以轻松在数台电脑之间分享数据,还可以建一个媒体服务器以便在电视上观看从网上下载的电影。

在做了一些研究之后,我准备在 FreeNAS 和 Windows Home Server 之间选一个。很多网友推荐的FreeNAS有如下的优点:1)、对硬件配置要求很低;2)、基于FreeBSD,支持 CIFS/SMB、NFS、FTP,同时支持SSH和rsync协议,还支持 UPnP;3)、完全免费。Windows Home Server (WHS) 是微软于2007年推出的面向家庭用户的服务器操作系统。WHS 的主要功能和优点包括:1)、自带客户机备份和还原功能;2)、扩充硬盘容量非常容易;3)、自带远程访问功能;4)、基于 Windows 2003 Server,产品成熟,性能稳定;5)、对硬件的要求不高。

经过一番思考之后我决定选择 WHS。做出这个决定最主要的两个原因是 WHS 使用 NTFS 文件系统以及其扩充硬盘容量的方便性。NTFS 是Windows的原生文件系统,以后万一 WHS 的系统坏掉了我还可以把服务器的硬盘拆出来直接接到别的 Windows 电脑上恢复数据。如果是 FreeNAS 的话就没有这么方便了 (FreeNAS 使用的是 Windows 不能直接读写的 UFS/ZFS 文件系统)。另外 WHS 的“储存池”概念让添加硬盘变得很容易,使得 WHS 具有良好的扩充性。

决定了用 WHS,接下来就开始架设自己的家庭服务器了。

Categories: Projects Tags: