2005/05/30 | 有关 Linux 和 CD
类别(LINUX专栏) | 评论(0) | 阅读(31) | 发表于 12:51
有关 Linux 和 CD
有关 Linux 和 CD-R 的支援情况
  • 支援的 CD-R
    • YAMAHA 的 CDE-10x (两倍速及四倍速都没问题)
    • Philips 的 CDD-52x、CDD-2000 (都是两倍速以下的)
    • HP 的 4020i (这台其实是 Philips CDD-2000, 但少了些规格)
  • 支援的 kernel
    • 理论上 1.2.x 以上的均可,但要在 drivers/scsi/scsi.c 中 做一个修改 (你可以用文字编辑器的 find 功能去找『WORM』字眼), 把 TYPE_WORM 的 writeable 打开。
        case TYPE_TAPE:
        case TYPE_DISK:
        case TYPE_MOD:
        case TYPE_PROCESSOR:
        case TYPE_SCANNER:
        case TYPE_WORM:
          SDpnt->writeable = 1;
          break;
        case TYPE_ROM:
          SDpnt->writeable = 0;
          break;
        default:
          printk ("scsi: unknown type %d\n", type); 
    • 把 SCSI Generic Device (sg) 也加入 kernel config 中,但可以 compile 成 module 没问题。
  • 准备软体
    • mkisofs 1.05
    • cdwrite 2.0

      cdwrite 的 source code 在 compile 时需要 /usr/include/linux 下的 .h 档, 所以要在 kernel 已做过 make dep 之後才能 compile 之。

  • 准备一个 partition 放 image 档
    • DOS partition: 只要 670MB 即可。
    • linux native partition for ext2 fs: 约 692MB (如果 inode size=4K) 即可。
    • 如果您需要编辑音乐光碟,则需要 760MB 的空间才足够。不过一般在 DOS/Windows 下编辑会方便很多。
  • 如何使用 mkisofs?

      一般而言,我们在 Linux 上 (或说是 Unix 上) 跑这玩意儿都只是为了做出支援 长档名的 image 来供烧录程式烧入 CD 中,所以我们大概只需要下列参数:

    • -R
    • -A [Applications ID] : 加上本 CD 的专辑名称
    • -p [preparer's ID] : 加上准备者的 ID
    • -P [Publisher's ID] : 加上出版者的 ID
    • -V [Volumn ID] : 加上本 Volume ID
    • -v : verbose mode

      我想後面那五个应该很好懂,而『-R』是指做出 Rock Ridge 延伸格式的 ISO9660 image 档,以支援长档名及各类档案属性 (ownership, permission, link 等等)。 至於如何安排这些参数?As you wish,只要别忘了加上 -o [output file] 及 最後加上 [source dir] 就是了。直接打 mkisofs 也会提示这些参数。

  • 如何使用 cdwrite?

      这是一个很危险的程式,一不小心还说是损失掉一片空白片,甚至有可能会损坏 您的硬碟资料。

    • 先搞清楚您的 scsi device 有哪些?
    • 它们在开机时被 probe 到的顺序?
    • OK,上面的顺序请从 a 列到 z 分别给它们一个字母代号 (这是最重要的一件事, 千万不要算错)。
    • 您的 CD-R 是哪个字母代号?以下我们以 f 为例,请记住 sgf 就是您的 CD-R 的 generic scsi device 名称。
    • 在 /dev/ 下作一个 symbolic link /dev/cdwriter 到 /dev/sgf:
      cd /dev ; ln -s sgf cdwriter
    • 搞清楚您的 CD-R 的牌子、烧写速度?例如是 YAMAHA 4 倍速的。
    • 最後再确定一次您的 image 档所在?例如它放在 /dos/thisimg.iso
    • 准备好了?那就执行 cdwrite -s 4 -v /dos/thisimg.iso 就可以了, 这个 cdwrite 会分辨该 CD-R 的 vendor name (所以应该会显示出 正确的资讯),预设值是烧 data (不是 audio)
    • 其他参数请自行研究 man cdwrite。
0

评论Comments