From Fedora Project Wiki
(added info that cpio archive can't be transferred to block device)
Line 13: Line 13:
=== Updates from a disk image ===
=== Updates from a disk image ===


The most common way of using an <code>updates.img</code> is to put it on a block device (either a floppy or a USB key).   For a floppy drive, insert your floppy and then run
The most common way of using an <code>updates.img</code> is to put it on a block device (either a floppy or a USB key). This can be done only with [[#ext2 filesystem image|ext2 filesystem type]] of updates.img. For a floppy drive, insert your floppy and then run
<pre> dd if=updates.img of=/dev/fd0 bs=72k count=20
<pre> dd if=updates.img of=/dev/fd0 bs=72k count=20
</pre>
</pre>
Line 41: Line 41:
== How to Create an Anaconda Updates Image ==
== How to Create an Anaconda Updates Image ==


If you are working on anaconda or looking at a bug and want to test your own bug fixes, it's easy to create your own updates.img file.  There are two formats for the updates.img file. The first, and most common, is a gzip-compressed ext2 filesystem. The second is a gzip-compressed cpio archive.
If you are working on anaconda or looking at a bug and want to test your own bug fixes, it's easy to create your own updates.img file.  There are two formats for the updates.img file. The first, and most common, is an ext2 filesystem. The second is a gzip-compressed cpio archive.


Just do the following steps.
Just do the following steps.


=== Compressed ext2 filesystem image ===
=== ext2 filesystem image ===


This is the more traditional form of an updates.img and is required for older releases of anaconda.  It is also slightly more preferred if you are going to transfer the updates image to a floppy disk. Note that this requires root privileges.
This is the more traditional form of an updates.img and is required for older releases of anaconda.  It is needed if you want to transfer it to a block device (floppy, usb disk, etc). Note that this requires root privileges.


# Create a 1.44MB ''updates.img'' image <pre>dd if=/dev/zero of=updates.img bs=1k count=1440</pre>
# Create a 1.44MB ''updates.img'' image <pre>dd if=/dev/zero of=updates.img bs=1k count=1440</pre>
Line 57: Line 57:
=== Compressed cpio archive ===
=== Compressed cpio archive ===


This is the newer form of an updates.img and is likely preferred in most cases with current releases of anaconda.  In contrast to the above, this does not require root privileges.
This is the newer form of an updates.img and is likely preferred in most cases with current releases of anaconda.  In contrast to the above, this does not require root privileges. If can be used only with ''updates=http://'' or ''updates=ftp://'' anaconda boot option.


* Drop updated anaconda files in a flat directory structure, eg: /tmp/updates <pre> (cd /tmp/updates ; find -type f | cpio -c -o) | gzip -c9 > updates.img </pre>
* Drop updated anaconda files in a flat directory structure, eg: /tmp/updates <pre> (cd /tmp/updates ; find -type f | cpio -c -o) | gzip -c9 > updates.img </pre>
Line 63: Line 63:
== How to Examine an Anaconda Updates Image ==
== How to Examine an Anaconda Updates Image ==


updates.img files provided by the Fedora project are ext3 filesystem images.  To examine one of these files complete the following steps:
updates.img files provided by the Fedora project are ext2 filesystem images.  To examine one of these files complete the following steps:


# Obtain an <code>updates.image</code>: <pre> wget http://people.redhat.com/~katzj/updates-f7t2.img</pre>
# Obtain an <code>updates.image</code>: <pre> wget http://people.redhat.com/~katzj/updates-f7t2.img</pre>
# Decide whether it is ext2 filesystem image or gzip compressed cpio archive: <pre> file updates-f7t2.img</pre>
To examine an ext2 filesystem image:
# Mount the file using looopback: <pre>mount -o loop updates-f7t2.img /misc</pre>
# Mount the file using looopback: <pre>mount -o loop updates-f7t2.img /misc</pre>


To examine a cpio updates.img complete the following steps:
To examine a cpio archive image:


# create a top level directory to hold the updates.img contents: <pre> mkdir /tmp/updates</pre>
# create a top level directory to hold the updates.img contents: <pre> mkdir /tmp/updates</pre>

Revision as of 13:14, 5 May 2010

Anaconda Updates

anaconda has the capability to incorporate updates at runtime to fix any bugs or issues with the installer. These updates are generally distributed as a disk image file (referred to as updates.img from here on out). The updates.img can be used in a few different ways.


Updates types

There are a number of sources for the updates.

Updates from a disk image

The most common way of using an updates.img is to put it on a block device (either a floppy or a USB key). This can be done only with ext2 filesystem type of updates.img. For a floppy drive, insert your floppy and then run

 dd if=updates.img of=/dev/fd0 bs=72k count=20

to put the contents of the image on your floppy. Then, boot the installer with

 linux updates

and you will be prompted to provide the location of your update disk.

You can also use a USB key or flash media -- just replace /dev/fd0 with the device that your USB key is at.


Updates from the Tree

If you're doing a CD, hard drive, HTTP, or FTP install, you can also put the updates.img in your tree to be picked up by all installs from that tree. For Fedora Core 6 and later, put the file in as images/updates.img in your Fedora installation tree. Earlier releases look in Fedora/base/updates.img.

NFS installs, however, look for the exploded contents of the updates.img in the RHupdates directory in your Fedora installation tree.

Updates from the Network

If you're doing a network install and cannot modify your installation tree, you can place an updates.img in another location and boot with

 linux updates=http://some.website.com/path/to/updates.img

to load the updates.img from a remote web server.

If you have multiple network interfaces, anaconda will first prompt you to select one (unless you have used the ksdevice= boot parameter). It will then attempt to configure this link using DHCP. If you require other networking configuration, you will need to use various options. ksdevice= can be used to specify a different network device, and the ip= option (along with others for gateway, nameserver, and so forth) can be used for static configuration. All anaconda config options are described elsewhere .

How to Create an Anaconda Updates Image

If you are working on anaconda or looking at a bug and want to test your own bug fixes, it's easy to create your own updates.img file. There are two formats for the updates.img file. The first, and most common, is an ext2 filesystem. The second is a gzip-compressed cpio archive.

Just do the following steps.

ext2 filesystem image

This is the more traditional form of an updates.img and is required for older releases of anaconda. It is needed if you want to transfer it to a block device (floppy, usb disk, etc). Note that this requires root privileges.

  1. Create a 1.44MB updates.img image
    dd if=/dev/zero of=updates.img bs=1k count=1440
  2. Format as an ext2 filesystem
    mke2fs updates.img 
  3. Mount the image
    mount -o loop updates.img /mnt 
  4. Drop updated anaconda python files in a flat directory structure
  5. Unmount the updates.img
    umount /mnt

Compressed cpio archive

This is the newer form of an updates.img and is likely preferred in most cases with current releases of anaconda. In contrast to the above, this does not require root privileges. If can be used only with updates=http:// or updates=ftp:// anaconda boot option.

  • Drop updated anaconda files in a flat directory structure, eg: /tmp/updates
     (cd /tmp/updates ; find -type f | cpio -c -o) | gzip -c9 > updates.img 

How to Examine an Anaconda Updates Image

updates.img files provided by the Fedora project are ext2 filesystem images. To examine one of these files complete the following steps:

  1. Obtain an updates.image:
     wget http://people.redhat.com/~katzj/updates-f7t2.img
  2. Decide whether it is ext2 filesystem image or gzip compressed cpio archive:
     file updates-f7t2.img

To examine an ext2 filesystem image:

  1. Mount the file using looopback:
    mount -o loop updates-f7t2.img /misc

To examine a cpio archive image:

  1. create a top level directory to hold the updates.img contents:
     mkdir /tmp/updates
  2. unpack the updates into the directory:
     zcat updates.img | (cd /tmp/updates ; cpio -ivd)