Saturday, March 15, 2008

Burn CDs and DVDs under FreeBSD

This howto explain how to burn CDs and DVDs under FreeBSD

1. Compile the FreeBSD kernel with the following options:
-------------------------------------------------------------------
device atapicam
device ata
device scbus
device cd
device pass


2. Install cdrtools package
-------------------------------
You will need to install cdrtools package (cdrecord and mkisofs are included in cdrtools)


3. Find dev parameters
--------------------------------
To see the name of device for burning CDs and DVD use the the command:
cdrecord -scanbus

If after issuing this command no device ids will appear that means the kernel is not compiled with cd burning support.

To blancd / dvd rw
---------------------
cdrecord -v dev=1,0,0 -blank=fast

To burn a cd or dvd
-----------------------
cdrecord -v dev=1,0,0 speed=8 image_file.iso

To create an ISO with mkisofs
----------------------------------
mkisofs -R -J -o "image_file.iso" /pat_to_files_that_will_be burned

To create an bootable ISO with mkisofs
---------------------------------------------
mkisofs -b "boot/cdboot" -no-emul-boot -c "boot/boot.catalog" -R -J -o "image_file.iso" /pat_to_files_that_will_be burned

(assuming that boot/cdboot is where the boot files are located)

Burning DVDs
-----------------
Version of burncd included on cdrtools package does not support burning DVDs so
for burning DVDs we will use growisofs(1) which is a frontend to mkisofs.

Add in /boot/loader.conf:
hw.ata.atapi_dma="1"
You will need this to activate DMA for atapi devices in order to properly burn DVDs. This option is recommended for burning CDs too.

How to burn a DVD:
# growisofs -dvd-compat -Z /dev/cd0 -J -R /pat_to_files_that_will_be burned

How to burn an ISO to DVD
# growisofs -dvd-compat -Z /dev/cd0=image_file.iso

No comments: