Making a DVD from CDs

From openSUSE

(Redirected from Making a DVD from CD's)


Contents

Introduction

This article tells you how to make a DVD from the CDs comprising the SUSE distribution. The procedure outlined here has also found to be applicable to the currently (as of 2006-Jul-07) downloadable preview of SLED 10.

A SUSE user has written a program called makeSUSEdvd that can make the DVD in a very easy manner. First download the CDs. These can be either the openSUSE CDs or the SLED 10 preview CDs. You do not need to burn them, just put them in one directory with only the 3, 5 or 6 CDs in it. You may need the root password to install missing software. If you do not have that, the program is not good and you should do it by hand.

Always use the latest version when a new SUSE version comes out.

The latest release is version 0.40

Version 0.37 has provisional support for making a bootable DVD for the systems using PPC processor. This is alpha code, and untested by the authors.

One Click Install

These are the links to the One Click Install for [1] and openSUSE factory

Getting ready

If you already ran makeSUSEdvd you can skip this part. Just run it. Easiest is to just install the latest RPM version. This will make the rest of the getting ready obsolete.

If not, then first open a terminal. Verify the space left on disk, you will need approx 4 GB for unpacking the CD ISOs the same for the DVD ISO.

CD ISOs can be anywhere, you must have the writing rights on the folder. They must be the only files in the folder, if necessary create one with

# mkdir SUSECD

If you do not have enough place for the DVD, change in the script the line DVD_DIR="/tmp/DVD_DIR" to point to a place where there is enough space. The CD_DIR variable determines where the contents of the CD images are unpacked.

The versions prior to 0.37 could run from the bin folder in $HOME. With version 0.37, this changed. To properly install makeSUSEdvd, you either need to install the rpm package, or use the instructions below.

Now, download makeSUSEdvd and unpack it in an empty directory with

# tar -xzf makeSUSEdvd-0.37.tar.gz

next you need to copy or move makeSUSEdvd to /usr/bin it from where you downloaded and unpacked it. To do this, as a normal user

# mv makeSUSEdvd /usr/bin/

If you know the root password, you can use

# sudo mv makeSUSEdvd /usr/bin/

The next step is to create the folder /var/lib/makeSUSEdvd by using either

# mkdir /var/lib/makeSUSEdvd

as a normal user, or as root:

# sudo mkdir /var/lib/makeSUSEdvd

The final step is to copy the following supporting data-files into /var/lib/makeSUSEdvd

gpg-pubkey-guru.asc
gpg-pubkey-guru.gpg
gpg-pubkey-packman.asc
gpg-pubkey-packman.gpg
VERSION_FILE
bootinfo.txt
hfsmap.lst

As root, you do this by using

# cp VERSION_FILE gpg-pubkey-guru.asc gpg-pubkey-guru.gpg /var/lib/makeSUSEdvd
# cp gpg-pubkey-packman.asc gpg-pubkey-packman.gpg /var/lib/makeSUSEdvd
# cp bootinfo.txt hfsmap.lst /var/lib/makeSUSEdvd

Running the program

Go to the directory where you downloaded the ISO CDs and just type

# makeSUSEdvd

Be sure the SUSE ISOs are the only ISOs in that directory. Just follow instructions onscreen and your DVD ISO will be copied to /tmp/DVD_DIR/ and can be burned with your favorite burner. You can change the script to put the DVD ISO anywhere you like. To see what it can do, just type

# makeSUSEdvd -o /dir/to/output 

Script settings

Standard the script expects to be run in the directory where the ISOs are and will write an ISO to /tmp/DVD_DIR. Other things the script can do for you and the way this can be done. Just fill it out after the script.

Help

makeSUSEdvd -h This will show what parameters can be used. An explanation is given with each parameter.

Interactive

makeSUSEdvd -I A way to get interactive with the script. Instead of using all the options, you are asked questions and are offered defaults.

Version

makeSUSEdvd -v This will show the version

ISO directory

makeSUSEdvd -d /dir/to/iso Directory where the CD ISOs are installed. By default, the directory where the script is run.

DVD ISO directory

makeSUSEdvd -o /dir/to/output Output directory where the DVD ISO will be written.

Source directory

makeSUSEdvd -t /dir/to/source Source directory where the sources or temporary files are placed. Ideal if you use the -i option and want to install it on your harddrive for a network installation to e.g /srv/ftp/suse

CDs instead of ISO files

makeSUSEdvd -c CDs will be used instead of ISOs. You will be asked to enter the place where the CDs are mounted/ Standard is /media/cdrom.

No DVD ISO needed

makeSUSEdvd -i - ISO will not be made. It will give you an example of what to put in grub and lilo so you can boot and install without a CD At the end it will show an entry that can be used in GRUB or LILO so you can boot and do the installation without a DVD or CD player. It will also make a file ~/.makeSUSEdvdrc for use with the makeSUSEdvd -C option.

Continue the making of an ISO

makeSUSEdvd -C will continue the making of an ISO after you have edited the files and also reads ~/.makeSUSEdvdrc made by makeSUSEdvd -i. No other parameters can be used.

Add directory with RPMs

makeSUSEdvd -a When you have a directory with RPM files, you can add this directory to your ISO. The directory and all subdirectories will be added to suse/ on the ISO. This includes non-rpm files as well. RPMs that are found can be installed during installation. e.g. if you have placed the makeSUSEdvd RPM in /usr/local/bin/RPMS/noarch/ just add /usr/local/bin/RPMS as source and you can install makeSUSEdvd during the SUSE installation process or any time later.

GPG key to be used

makeSUSEdvd -g FOO selects the top gpg key you would get normally with gpg --list-secret-keys FOO. If there is no key found, you are asked to make a new key and the new key will be used.

Add a third-party repository

makeSUSEdvd -x FOO adds FOO to the list of repositories to be configured during the online-update configuration step in stage two of the installation.

Customise the volume ID

makeSUSEdvd -n FOO gives the DVD custom volume name FOO rather than naming it something like SU102DVD.001

Combination of the above

-h, -I, -C and -v can not be combined. Also -c and -s can not be used together. An example of the program wher it will be installed to the ftp directory and the ISOs are installed in a different directory then where the program is run:

# makeSUSEdvd -d download/cd -s /srv/ftp/suse -i

Example where an ISO is made from CDs and where /tmp is not large enough for both the DVD ISO and the temporary files

# makeSUSEdvd -c -o /data1/DOS

More details on the program

Specific details

  • As of 0.30 most standard opperations can be done without the knowledge of the root password. Only installing programs with either rpm and yast obviously need it.
  • A gpg will be asked to be created if none is availble
  • An interactive mode is available
  • As of 0.35, the Packman and Guru repositories are able to be selected during the online update configuration part of the installation.
  • Additional third-party repositories can also be added for selection.
  • As of 0.36, added the Packman and Guru public keys so no more warnings. Also, the Packman and Guru repositories are pre-selected during the online update configuration part of the installation.
  • A new ARCHIVES.gz, INDEX.gz, and ls-lR.gz, are created to match the contents of the new DVD.
  • As of 0.37, the volume name can be specified. This lets you create a custom name for your DVD, rather than one using the default SU???DVD.001 style.

Programs

The program will look if several programs are installed, these are create_package_descr, mkisofs and rpm among others. First the program looks if create_package_descr is installed and has the proper function. If not, you are asked if you like to upgrade with rpm. If not, the script is halted and you need to install it by hand. If you use the gz file, please put it in your $PATH and chmod +x it.

The other programs will be asked to be installed either by YaST if not available or you need to install them manually

You need to have the following programs installed:

  1. create_package_descr. This is a perl script and is written specifically for SUSE for this purpose. Please note that the old version of create_package_descr from Novell's page does NOT work (at least with makeSUSEdvd 0.29 and SUSE 10.1 RC3). Therefore, you must either
    1. download the package from the Sourceforge site, unpack and put create_package_descr anywhere in your $PATH. See that the file is executable (chmod 755). Preferably download and install the RPM which is available from the Sourceforge site.
    2. for users of openSUSE 10.2, or later, you can install the package inst-source-utils
  2. rpm. Some distributions already have this. Others might need to. If this is not possible, the program will NOT run
  3. mkisofs. This is used to make the ISO files and will most likely already be installed if you have a DVD burner.
  4. gpg for the signing of the files and iso's
  5. tagmedia for creating an MD5SUM of the entire DVD contents. When installing, you are given the option to use checkmedia to ensure this MD5SUM matches, and that the DVD was created properly. To make sure, you either need to
    1. download the package from the Sourceforge site, unpack and put tagmedia anywhere in your $PATH. See that the file is executable (chmod 755). Preferably download and install the RPM which is available from the Sourceforge site.
    2. for users of SUSE Linux 10.0, 10.1 or openSUSE 10.2, or later, you can install the package checkmedia

If it is not possible to get any of these programs installed the script will fail. The moment these programs are installed, the program will run as normal.

Additonal info and links