至少 2.2.16 或 2.4 系列的较新内核应该已经支持 DVD ioctl,所以你只需要确保在内核配置中启用了 MTRR 支持,然后像往常一样编译并安装它。
如果你想为现有的旧内核打补丁,首先访问 http://www.kernel.dk/ 并下载适用于你内核的正确补丁。
如果你不知道如何安装或修补你的内核,你应该去阅读内核 HOWTO,地址是 http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html
要安装 LiViD 工具,你需要确保 /usr/local/lib 在 /etc/ld.so.conf 中的某个位置。
DVD 播放只需要构建 OMS。它会自行构建 ac3 和 mpeg2 编解码器。但是,如果你愿意,可以随意使用独立的编解码器。以下命令应该可以在你的系统上编译和安装 LiViD 工具。如果你遇到问题,请查看“问题”部分。
ac3dec: (optional) # cd ~/livid/ac3dec # ./autogen.sh # make # make install mpeg2dec: (optional) # cd ~/livid/mpeg2dec # ./autogen.sh # make # make install oms: # cd ~/livid/oms # ./autogen.sh # ./configure # make # make install
有一些额外的选项可以使用。它们作为参数放置在 ./configure 脚本中。OMS 有 --enable-devel,它将在代码中启用一些开发和实验性功能。如果你希望安装到 /usr/local 以外的其他位置,可以使用标准的 autoconf 参数,例如 --prefix。例如,要安装到源目录的子目录中,你可以这样做
# ./configure --prefix=`pwd`/inst
运行 ./configure --help 以获取完整的选项列表。如果你将 X 安装在奇怪的位置(例如,你同时安装了 XFree86 3.3.x 和 4.x),你可能需要 --x-includes 和 --x-libraries 选项。
现在应该已经安装了必要的 LiViD 工具。下一节不是必需的,但是如果你使用 "pipes" 插件,你将需要为 DVD 数据传输制作一些特殊的 fifo 管道。这些可以使用以下命令制作(如果它们尚不存在)
# mkfifo /tmp/video # mkfifo /tmp/audio
控制 oms_devel 版本中可用数据的另一种方法是使用原始 I/O,这在最新的 Linux 内核中可用。如果你没有这些,数据将从标准设备读取。建议使用原始 I/O,但不是必需的。如果它们不存在,请按如下方式创建两个设备
# mknod /dev/rawctl c 162 0 # mknod /dev/raw1 c 162 1
最后一件事要做。OMS 需要 /dev/dvd 成为指向你的 DVD 驱动器所在位置的符号链接,例如 /dev/hdb1 或 /dev/scd0。如果在 /dev/cdrom,你将通过键入以下内容创建链接
# ln -s /dev/cdrom /dev/dvd
通常最好不要制作指向符号链接的符号链接,因为它会增加不必要的 I/O。将 /dev/cdrom 替换为你的 DVD 驱动器所在的正确设备。