From Fedora Project Wiki

Revision as of 15:14, 15 April 2014 by Mitchwest (talk | contribs) (→‎OS X quick start (direct write): Missed a rdisk2 typo changed to disk2)

File:Artwork DesignService fedora-iso-usb.png
Fedora Guide
The procedure documented in this guide is also detailed at http://docs.fedoraproject.org/readme-burning-isos/ . The Guide may have different content, and be more or less detailed. If you edit this page or find a problem with the Guide, please also file a bug against the guide to have its content updated.

This page explains how to create and use Fedora USB media. A Live USB system stored on flash memory, sometimes called a stick, lets you boot any USB-bootable computer into a Fedora operating system environment without writing to that computer's hard disk.

The Live USB stick can include a feature called a persistent overlay, which allows changes made to persist across reboots. Without a persistent overlay, the stick will return to a fresh state each time it is booted.

It can also have a separate area to store user account information and data such as documents and downloaded files, with optional encryption for security and peace of mind.

You may also use a non-destructive method to create the stick, meaning existing files on the stick will not be destroyed.

By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.

However, if you do not need the extended features, it is recommended you use the simplest possible "direct write" method to write the stick, as this will provide the best chance of it booting on the widest possible range of systems (though it will destroy all data on the stick). The way to do this is described in the "quick start" sections at the top of this page. If you wish to use the extended features, those methods are described later in the page.

With current Fedora releases you can also write the non-live Fedora installation images (the DVD and network installation images) to a USB stick, which many users find more convenient and faster than writing to an optical disc. The "direct write" method is always recommended for writing the installation images.

Windows quick start (direct write)

Destructive method
This method will destroy all data on the USB stick. Alternative, non-destructive methods are described later in this document.
  1. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it
  2. Download and run SUSE Studio ImageWriter or Rawrite32
  3. Choose the Fedora image as the Image (SUSE Studio) or Filesystem image (Rawrite32) - if the image file is not shown, you may have to change the file selector options or change the image's extension
  4. Choose the USB stick in the drop-down box by the Copy button (SUSE Studio) or as the Target (Rawrite32)
  5. Double-check you're really, really sure you don't need any of the data on the USB stick!
  6. Click Copy (SUSE Studio) or Write to disk... (Rawrite32)
  7. Wait for the operation to complete, then reboot your computer, and do whatever you need to do to boot from a USB stick - often this will involve pressing or holding down F12, F2 or Del.

Linux (GNOME) quick start (direct write)

Destructive method
This method will destroy all data on the USB stick. Alternative, non-destructive methods are described later in this document.

This method is for people running Linux with GNOME, Nautilus and the GNOME Disk Utility installed. A standard installation of Fedora, or a standard GNOME installation of many other distributions, should be able to use this method. On Fedora, ensure the packages nautilus and gnome-disk-utility are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the command line "direct write" method.

  1. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it
  2. Run Nautilus (Files) - for instance, open the Overview by pressing the Start/Super key, and type Files, then hit enter
  3. Find the downloaded image, right-click on it, go to Open With, and click Disk Image Writer
  4. Double-check you're really, really sure you don't need any of the data on the USB stick!
  5. Select your USB stick as the Destination, and click Start Restoring...
  6. Wait for the operation to complete, then reboot your computer, and do whatever you need to do to boot from a USB stick - often this will involve pressing or holding down F12, F2 or Del.

OS X quick start (direct write)

Destructive method
This method will destroy all data on the USB stick. Alternative, non-destructive methods are described later in this document.

Unfortunately, there is no known useful graphical tool for a direct write on OS X. The UNetbootin utility described later in this document works on OS X, but cannot be guaranteed to produce reliably bootable Fedora images. This console-based method is not as graphically easy as using UNetbootin, but it is more reliable.

  1. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it
  2. Open a terminal
  3. Run diskutil list. This will list all disks connected to the system, as /dev/disk1, /dev/disk2 and so on. Identify - very carefully! - which one corresponds to the USB stick you wish to use. Hereafter, we'll assume it was /dev/disk2 - modify the commands as appropriate for your stick.
  4. Run diskutil unmountDisk /dev/disk2
  5. Type dd if=, then drag and drop the Fedora image file to the terminal window - this should result in its filesystem location being appended to the command. Now complete the command with of=/dev/disk2 bs=1m, but don't hit Enter yet. You should wind up with something like sudo dd if=/Volumes/Images/Fedora-Live-Desktop-x86_64-20-1.iso of=/dev/disk2 bs=1m
  6. Double-check you have the correct disk number and you're really, really sure you don't need any of the data on the USB stick!
  7. Hit Enter
  8. Wait for the operation to complete, then reboot your computer, and hold down the left Alt/Option key to access the boot menu - you should see a Fedora logo. Click this to boot.
Creating a live ISO image
A Live USB system is created from the same ISO image file that is used to create CD/DVD media. You can download ISO images for the official Fedora release from the Fedora download site. Consult How to create and use a Live CD for more information on creating your own customized live ISO image file.

System Requirements

  • A working computer running GNU/Linux, Windows or OS X.
  • A USB flash drive, also known as USB stick, thumb drive, pen drive, or jump drive. For most Fedora live images, you will need at least 1 GB or more of storage space. For the network install image, 400 MB or more should be sufficient. For a DVD image, you should have at least 4.7 GB.
  • A Fedora ISO file, which you can download from http://fedoraproject.org/get-fedora.

Ability to boot from USB media

  • Not all computers can boot from USB media, due to different BIOS settings and system capabilities. If your computer cannot do so, this procedure will not be useful. If you are not sure and don't mind downloading and installing an image on your USB drive (possibly wiping its data), the only risk is wasting some time.
  • If your USB stick is not in working order, this procedure may fail. Watch for error messages during the process.

UEFI boot of USB sticks

Whether a Fedora image written to a USB stick will be bootable natively via UEFI is a somewhat complex question which depends on the Fedora release, the type of image (live or non-live), and the method used to write it. The --efi parameter to the livecd-iso-to-disk tool attempts to make a stick written with that tool natively UEFI bootable.

As of Fedora 20, all sticks written using "direct write" methods should be UEFI-bootable, at least some sticks written with liveusb-creator should be UEFI-bootable, and all sticks written with livecd-iso-to-disk --format --reset-mbr --efi should be UEFI-bootable. Use of --efi without --format and --reset-mbr can be considered a 'best effort', and may not produce a UEFI-bootable stick. Sticks written with other methods and tools will most probably not be UEFI-bootable.

If you boot a Fedora stick in UEFI native mode and install from it, you will get a UEFI native installation of Fedora. If you wish to do a BIOS native installation of Fedora, you must ensure you boot your stick in BIOS compatibility mode, if your firmware has this capability. The interface for choosing the mode used to boot varies between systems, and so we cannot give precise instructions on this. If you have difficulty, you may want to use a method which is known not to produce a UEFI-bootable stick, and hence force your firmware to boot it in BIOS compatibility mode.

Checking USB disk size / free space

As noted before, the disk must have a certain amount of storage space depending on the type of image you select. If you use a destructive method, the stick must be at least that size; if you use a non-destructive method, it must have at least that much free space. Whichever operating system you are using, you can usually check this with a file manager, usually by right clicking and selecting Properties. Here is a screenshot of how this looks on GNOME:

Writing the image

Remember, the most reliable methods, which are recommended if you do not need to preserve the contents of your stick or use any of the advanced features such as storage persistence, are the "direct write" methods described above. Only use these alternative methods if you need to preserve the contents of your stick, or use advanced features.

After the "direct write" methods, The livecd-iso-to-disk method is the second most reliable, and supports all Fedora images and the full range of advanced features. However, it is a command-line tool, and only available for Fedora. The liveusb-creator method is less reliable and cannot write non-live images, but it is graphical, supports data persistence and non-destructive writing, and is easily available for Windows, OS X and Fedora.

The reliability, ease of use and feature availability of other methods, including UNetbootin, is questionable, and Fedora may be unable to offer support for them.

Using liveusb-creator (Windows and Fedora, graphical, non-destructive)

Fedora live USB sticks can be created on Windows and Fedora using the liveusb-creator utility. It cannot create USB sticks from the non-live installer images.

It is graphical, easy to use, is non-destructive (does not destroy existing data on the stick), and supports data persistence. However, please be aware that it is not quite as actively maintained or heavily tested as the "direct write" methods, and can produce a stick that fails to boot on some systems, depending on the pre-existing format of the stick and the system firmware.

On Fedora, you can use a Fedora graphical software installation tool to install the liveusb-creator package, or use the command line:

su -c 'yum install liveusb-creator'

On Windows, you can download the installer from the liveusb-creator site.

To run the tool, look for Fedora LiveUSB Creator in the system menus, or (in Fedora) run liveusb-creator on the command line.

To use the tool, click the refresh button next to the list of images at the top-right (to refresh the list of available images from the Fedora mirrors), then select a Fedora release to download from the drop-down box (or select an ISO you have already downloaded using the Browse button at top-left), select the USB stick to which you wish to write the image from the Target Device drop-down box, and hit the Create Live USB button.

You can use the slider at bottom-right to make some space available for data persistence if you choose: see the data persistence section for details on how this feature works, and its implications.

Identifying a stick by /dev name on Linux

The following methods will require you to know the /dev name for your USB stick - e.g. /dev/sdc - when using them on Linux. To find this out:

  1. Insert the USB stick into a USB port.
  2. Open a terminal and run dmesg.
  3. Near the end of the output, you will see something like:
[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk

where sdX will be sdb, sdc, sdd, etc. Take note of this label as it is the name of the disk you will use. We'll call it sdX from now on. If you have connected more than one USB stick to the system, be careful that you identify the correct one - often you will see a manufacturer name or capacity in the output which you can use to make sure you identified the correct stick.

Using UNetbootin (Windows, OS X and Linux, graphical, non-destructive)

Reliability not assured
Following each release, Fedora support volunteers receive reports of problems with installation images created by UNetbootin. Using the most recent version of UNetbootin available has been known to improve results. UNetbootin may work in some cases but not others - for instance, it will likely create a stick that is bootable in BIOS mode, but not UEFI mode. Fedora cannot guarantee support for UNetbootin-written images.

While your results may vary, it is usually the case that the direct write, livecd-iso-to-disk, and liveusb-creator methods give better results than UNetbootin. If you encounter problems with UNetbootin, please contact the UNetbootin developers, not the Fedora developers.

UNetbootin is a graphical, bootable USB image creator. Using it will allow you to preserve any data you have in the USB drive. If you have trouble booting, however, you may wish to try with a blank, cleanly FAT32-formatted drive.

If you are running a 64-bit Linux distribution, UNetbootin may fail to run until you install the 32-bit versions of quite a lot of system libraries. Fedora cannot help you with this: please direct feedback on this issue to the UNetbootin developers.

  1. Download the latest UNetbootin version from the official site and install it. On Linux, the download is an executable file: save it somewhere, change it to be executable (using chmod ugo+x filename or a file manager), and then run it.
  2. Launch UNetbootin. On Linux, you might have to type the root password.
  3. Click on Diskimage and search for the ISO file you downloaded.
  4. Select Type: USB drive and choose the correct device for your stick
  5. Click OK
Drive not visible
If you do not see sdX listed, you might have to reformat the drive. You can do this from most file manager or disk utility tools, e.g. the GNOME disk utility ("Disks") on Fedora. The FAT32 format is most likely to result in a bootable stick. This will cause you to lose all data on the drive.

Command line method: Using the livecd-iso-to-disk tool (Fedora only, non-graphical, both non-destructive and destructive methods available)

Potentially destructive method
This method will destroy all data on the USB stick if the --format parameter is passed.

The livecd-iso-to-disk tool is the most capable, non-destructive, and second most reliable method of writing a Fedora ISO image to a USB stick, but it can be used reliably only from within Fedora. It does not work in Windows or OS X, and is not supported (and will usually fail) in non-Fedora distributions. Please use (in order of preference) the direct write methods, liveusb-creator, UNetbootin or other third-party tool on other operating systems. It is also not a good idea to try and write a new Fedora release using the version of livecd-iso-to-disk in a much older Fedora release: It is best to only use a release a maximum of two versions older than the release you are trying to write.

Make sure the livecd-tools RPM is installed with the command:

rpm -q livecd-tools

You will see the name of the RPM and a version number if it is installed, or no output if it is not installed.

If livecd-tools is not installed, install it using this command, or a graphical software installation tool:

su -c 'yum install livecd-tools'

Detailed usage information is available in the first pages of the livecd-iso-to-disk script, which you can also see by running this command:

su -c 'livecd-iso-to-disk --help'

Basic examples follow. Remember to identify your USB stick's device name first. In all cases, you can add the parameter --efi to (try to) render the stick bootable in native UEFI mode.

To make an existing USB stick bootable as a Fedora image - without deleting any of the data on it - make sure that the USB drive is not mounted before executing the following, and give the root password when prompted:

su -c "livecd-iso-to-disk Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"

See Data persistence below for how to create Live USB devices with more than temporary storage of user files and settings.

In case it is not possible to boot from a disk created with the method shown above, before re-partitioning and re-formatting, often resetting the master boot record will enable booting:

su -c "livecd-iso-to-disk --reset-mbr Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"
CAUTION:
Using the --format option in the following command will erase all data on the USB drive! Please read the instructions below carefully.

If necessary, you can have livecd-iso-to-disk re-partition and re-format the target stick:

su -c "livecd-iso-to-disk --format --reset-mbr Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"

Command line "direct write" method (most operating systems, non-graphical, destructive)

Destructive method
This method will destroy all data on the USB stick. Alternative, non-destructive methods are described elsewhere in this document.

This method is equivalent to the other "direct write" methods described in the Quickstarts section, but uses a command line utility named dd. Like the other "direct write" methods, it will destroy all data on the stick and does not support any of the advanced features like data persistence, but it is a very reliable method. The dd tool is available on most Unix-like operating systems, including Linux distributions and OS X, and a Windows port is available.

The first step is to identify the name of the USB drive partition. If using this method on Windows, with the port linked above, the dd --list command should provide you with the correct name.

To write the ISO file directly to the disk, run:

su -c "dd if=/Users/me/Downloads/Fedora-Live-Desktop-x86_64-20-1.iso of=/dev/sdX bs=8M"

Or, if you are running an Ubuntu-based distribution:

sudo dd if=/Users/me/Downloads/Fedora-Live-Desktop-x86_64-20-1.iso of=/dev/sdX bs=8M

Note that the process will take some time and you will not see any information while it is running.

Creating a USB stick from a running live environment

If you are already running a live CD, DVD, or USB and want to convert that into a bootable USB stick, run the following command:

su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/sdX"

(For versions before Fedora 17, use /dev/live instead of /run/initramfs/livedev.)

Booting the image

Set USB as first boot device. Your BIOS may be different.
  1. Power off the computer.
  2. Plug the USB drive into a USB port.
  3. Remove all other portable media, such as CD, DVD, or floppy disks.
  4. Power on the computer.
  5. If the computer is configured to automatically boot from the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown (unless you do a native UEFI boot, where you will see a rather more minimal boot menu).

If the computer starts to boot off the hard drive as normal, you'll need to manually configure it to boot off the USB drive.

  1. Wait for a safe point to reboot safely.
  2. As the machine starts to reboot, watch carefully for instructions on which key to press (usually a function key or Escape) to enter the boot device selection menu, or "BIOS setup". Press and hold that key. If you miss the window of opportunity (often only a few seconds) then reboot and try again.
  3. Use the BIOS setup menu to put your USB drive first in the boot sequence. It might be listed as a hard drive rather than a removable drive. Each hardware manufacturer has a slightly different method for doing so. Use caution! Your computer could become unbootable or lose functionality if you change any other settings. Though these settings can be reverted, you'll need to remember what you changed in order to do so. If you have a UEFI firmware, you may see choices to boot the stick in UEFI native mode or BIOS compatibility mode: remember that, if you intend to install Fedora, a UEFI native boot will result in a UEFI native Fedora installation, while a BIOS compatibility mode boot will result in a BIOS native Fedora installation.
  4. Save the changes, exit, and the computer should boot the Live USB drive.

Data persistence

Data persistence means that your files and settings will remain even after you reboot your live system. You can perform updates just like a regular installation to your hard disk, except that kernel updates require manual intervention and overlay space may be insufficient. The primary use of this feature is booting a USB stick with your live image as well as the persistent changes. Note that you will need to have space on your target USB stick for the live image plus your overlay plus any other data you want on the stick.

Use the liveusb-creator tool described above to do this easily. There is a graphical slider in the interface you can use to assign space on the target stick for persistent storage.

If using the livecd-iso-to-disk tool, add the --overlay-size-mb parameter to add a persistent data storage area to the target stick. For example:

su -c "livecd-iso-to-disk --overlay-size-mb 512 Fedora-Live-Desktop-x86_64-20-1.iso /dev/USBPARTITIONNAME"

where 512 is the desired size (in megabytes) of the overlay. The livecd-iso-to-disk tool will not accept an overlay size value greater than 4095 for VFAT, but for ext[234] filesystems it is only limited by the available space.

Limited Lifetime of Persistent Overlay
One very important note about using the "primary" persistent overlay for system changes is that due to the way it's currently implemented (as a Device-mapper copy-on-write snapshot), every single change to it (writes AND deletes) subtracts from its free space, so it will eventually be "used up" and your USB stick will no longer boot (see this dm-devel discussion and this page for emergency recovery). Because of these limitations, it is advisable to use the system-level persistence sparingly, for configuration changes and important security updates only. Or, if you have sufficient disk space available, changes to the LiveOS root filesystem snapshot can be merged into a new copy of the root filesystem. See this page section for instructions.

See this section for mounting the root filesystem outside of a boot.

For normal, write-many storage, use the --home-size-mb option to create a home directory filesystem for personal files. Home.img can be re-used and loop mounted outside of the Live USB environment.

The persistent overlay status may be queried by issuing this command on the live system:

dmsetup status live-rw

The returned value may look like this:

live-rw: 0 8388608 snapshot 42296/204800 176

where the fraction after 'snapshot' for the logical volume is that of 512-byte sectors consumed in the overlay.

Troubleshooting

liveusb-creator problems

Partition isn't marked bootable!

If you get the following message, you need to mark the partition bootable.

$ su -c "livecd-iso-to-disk Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"
Partition isn't marked bootable!
You can mark the partition as bootable with 
    $ /sbin/parted /dev/sdX
    (parted) toggle N boot
    (parted) quit
Cleaning up to exit...

To mark the partition bootable, run parted, and use the 'toggle X boot' command. For example:

$ parted /dev/sdX
GNU Parted 1.8.6
Using /dev/sdX
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: Imation Flash Drive (scsi)
Disk /dev/sdX: 1062MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  1062MB  1062MB  primary  fat16             

(parted) toggle 1 boot
(parted) print                                                    
Model: Imation Flash Drive (scsi)
Disk /dev/sdX: 1062MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  1062MB  1062MB  primary  fat16        boot 

(parted) quit                                                             
Information: Don't forget to update /etc/fstab, if necessary.             

Partitions need a filesystem label!

If you get the following message, you need to label the partition.

$ su -c "livecd-iso-to-disk Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"
Need to have a filesystem label or UUID for your USB device
Label can be set with /sbin/dosfslabel
Cleaning up to exit...

To label the partition:

su -c "dosfslabel /dev/sdX LIVE"

Partition has different physical/logical endings!

If you get this message from fdisk, you may need to reformat the flash drive, as described earlier in this guide.

MBR appears to be blank!

If your test boot reports a corrupted boot sector, or you get the following message, you need to install or reset the master boot record (MBR).

$ su -c "livecd-iso-to-disk Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"
MBR appears to be blank.
You can add an MBR to this device with
Cleaning up to exit...

To install or reset MBR:

$ su -c "livecd-iso-to-disk --reset-mbr Fedora-Live-Desktop-x86_64-20-1.iso /dev/sdX"

Issues using other Linux distributions

Ubuntu and derivative Linux distributions have a usb-creator program similar to Live USB Creator. This does not work with Fedora ISO images, it silently rejects them. usb-creator requires the ISO to have a Debian layout, with a /.disk/info file and a casper directory. Do not attempt to use this utility to write a Fedora ISO image.

The livecd-iso-to-disk script is not meant to be run from a non-Fedora system. Even if it happens to run and write a stick apparently successfully from some other distribution, the stick may well fail to boot. Use of livecd-iso-to-disk on any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as the "direct write" methods described above.

Testing a USB stick using qemu

You can test your stick using QEMU as shown in the screenshot below.

For example, you could type the following commands:

su -c 'umount /dev/sdX1'
qemu -hda /dev/sdX -m 1024 -vga std

Mounting a Live USB filesystem

You can use the liveimage-mount script in the livecd-tools package to mount an attached Live USB device or other LiveOS image, such as an ISO or Live CD. This is convenient when you want to copy in or out some file from the LiveOS filesystem on a Live USB, or just examine the files in a Live ISO or Live CD.

Kernel updates

If you have sufficient overlay space to accommodate a kernel update on a Live USB installation, the kernel and initramfs will be installed to the /boot directory. To put these into service they must be moved to the /syslinux directory of the installation partition. This is accessible from the running Live USB filesystem at either the /mnt/live or /run/initramfs/live mount point. The new initramfs (such as initramfs-3.12.5-302.fc20.x86_64.img) and kernel (such as vmlinuz-3.12.5-302.fc20.x86_64) should be moved to replace the /run/initramfs/live/syslinux/initrd0.img and /run/initramfs/live/syslinux/vmlinuz0 files, respectively.

  • Note: dracut no longer includes the dmsquash-live module by default. Starting with Fedora 19, dracut defaults to the hostonly="yes" option, which precludes the dmsquash-live module. So one should edit the dracut config file, as root, before updating the kernel:
sed -i 's/^hostonly="yes"/hostonly="no"/' /usr/lib/dracut/dracut.conf.d/01-dist.conf
echo 'add_dracutmodules+=" dmsquash-live "
compress="xz"' >> /usr/lib/dracut/dracut.conf.d/01-dist.conf

The following commands will move the new kernel and initramfs files and create symbolic links to them, in case one later wants to perform a full install of the image to a hard disk.

bootpath=run/initramfs/live/syslinux
bootpath=mnt/live/syslinux
new=3.12.5-302.fc20.x86_64

cd /
mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img

ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new
ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img