From Fedora Project Wiki
(Created page with "{{autolang}} <noinclude> Category:LiveMedia </noinclude> This page explains '''how to create and use Live USB media'''. A Live USB system stored on flash memory, sometimes c...")
 
mNo edit summary
Line 3: Line 3:
[[Category:LiveMedia]]
[[Category:LiveMedia]]
</noinclude>
</noinclude>
This page explains '''how to create and use Live 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 feature an area to store changes to the system, called a ''persistent overlay''.  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. Finally, with a non-destructive installation, pre-existing files and excess storage space on the stick are accessible from the system. Essentially, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.
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 feature an area to store changes to the system, called a ''persistent overlay''.  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. Finally, with a non-destructive installation, pre-existing files and excess storage space on the stick are accessible from the system. Essentially, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.  


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 actual optical disc.


{{admon/note | Quick start | The process for most people is simple.  Almost all USB sticks are provided by hardware manufacturers ready to use with this process.  If you have any documents on your USB stick, it's not a bad idea to ''back them up'' before you start.
{{admon/note | Quick start | The process for most people is simple.  Almost all USB sticks are provided by hardware manufacturers ready to use with this process.  If you have any documents on your USB stick, it's not a bad idea to ''back them up'' before you start.
Line 14: Line 15:
Then reboot your system and use your computer's built-in function to choose the USB boot device -- usually this is a special key you hold down at boot time, such as '''F12'''.  Then enjoy!
Then reboot your system and use your computer's built-in function to choose the USB boot device -- usually this is a special key you hold down at boot time, such as '''F12'''.  Then enjoy!


If you are into technical details or want more information, please read on.}}
If you are into technical details or want more information on alternative tools and advanced usage, please read on.}}


{{admon/warning | Using UNetbootin | For information about UNetbootin, see [[Common_F12_bugs#unetbootin-broken|this note]] on the F12 issues page.  UNetbootin since version 393 is able to create Fedora Live USB sticks. If you are using an older version, you can download an upgrade from [http://unetbootin.sourceforge.net/ the UNetbootin site].}}
{{admon/warning | Using UNetbootin | 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. While your results may vary, for best results, use the liveusb-creator. If you encounter problems with Unetbootin, please contact the Unetbootin developers, not the Fedora developers.}}




Line 22: Line 23:


{{admon/important | Creating Live CD ISO image | A Live USB system is created from the same ISO image file that is used to create Live CD/DVD media.  You can download ISO images for the official Fedora release from [http://fedoraproject.org/get-fedora the Fedora download site].  Consult [[How to create and use a Live CD]] for more information on creating your own customized ISO image file.}}
{{admon/important | Creating Live CD ISO image | A Live USB system is created from the same ISO image file that is used to create Live CD/DVD media.  You can download ISO images for the official Fedora release from [http://fedoraproject.org/get-fedora the Fedora download site].  Consult [[How to create and use a Live CD]] for more information on creating your own customized ISO image file.}}
{{admon/note | Command formats | Lines beginning with "$" indicate commands you should type (do not include the $; this represents the command line prompt); subsequent lines represent typical output.  You will need to run some commands as root.}}


== System Requirements ==
== System Requirements ==


* A working computer running Fedora or Windows. If you are using other Linux distributions, consider using dd or [http://unetbootin.sourceforge.net/ UNetbootin]. UNetbootin is also available for Mac OS X and Windows, and is in the Fedora repository as well.  
* A working computer running Fedora or Windows. If you are using other Linux distributions, consider using dd or [http://unetbootin.sourceforge.net/ UNetbootin]. UNetbootin is also available for Mac OS X and Windows, and is in the Fedora repository as well.  
* A [[wikipedia:USB flash drive|USB flash drive]], also known as a USB stick, thumb drive, pen drive, or jump drive, with 1 GB or more of storage space, on a ''vfat'' file system (standard for almost all off-the-shelf USB media)
* A [[wikipedia:USB flash drive|USB flash drive]], also known as a USB stick, thumb drive, pen drive, or jump drive, with 1 GB or more of storage space, on a ''vfat'' file system (standard for almost all off-the-shelf USB media)


===Ability to boot from USB media===
=== Ability to boot from USB media ===


Though most modern ones can, 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 it of  
Though most modern ones can, 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 it of  
Line 37: Line 36:
If your USB stick is not in working order, this procedure may fail.  Watch for error messages during the process.
If your USB stick is not in working order, this procedure may fail.  Watch for error messages during the process.


Some flash drives may not be bootable by default, even if your hardware is capable of doing so. You may need to mark the partition bootable or you may just need to reformat the flash drive. See [https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#Errors_and_Solutions Errors and Solutions] below for more information.
Some flash drives may not be bootable by default, even if your hardware is capable of doing so. You may need to mark the partition bootable or you may just need to reformat the flash drive. See [[How_to_create_and_use_Live_USB#Problems_and_solutions|Problems and solutions]] below for more information.


=== Check the size of your USB stick ===
=== Sufficiently large USB stick ===


Many USB sticks indicate the size on the packaging or the outside of the stick.
Many USB sticks indicate the size on the packaging or the outside of the stick.


If you don't know the size of the stick, or want to check it for data, you should be able to auto-mount the USB stick by inserting it into a USB port.  You can check the contents and size using the graphical file manager.  In Linux, you can also use the command line:
If you don't know the size of the stick, or want to check it for data, you should be able to auto-mount the USB stick by inserting it into a USB port.  You can check the contents and size using the graphical file manager.  In Linux, you can also use the command {{command|df -h}}:
 
<pre>
<pre>
$ df -h
$ df -h
Line 55: Line 53:
</pre>
</pre>


USB drives are usually mounted in /media.  In this case, the device is /dev/sdb1, has a 3.9GB capacity and is almost empty.
USB drives are usually mounted in {{filename|/media}} or {{filename|/run/media/username/}}.  In this case, the device is /dev/sdb1, has a 3.9GB capacity and is almost empty. As a rule of thumb, you should use a stick of at least 1GB to write a live image or network install image, and a stick of at least 4GB to write a DVD image.
 
Take note of {{filename|/dev/sdb1}} or equivalent; you will be specifying the device name if you use the command line method. This is the string you substitute for USBPARTITIONNAME where it occurs in the instructions below.
 
== Optional: re-partition and format your USB stick ==


Take note of "/dev/sdb1" or equivalent; you will be specifying the device name if you use the command line method.
If you have a USB stick with a FAT-formatted partition that has a decent amount of free space, you can skip the repartitioning and formatting steps below, and simply continue with the following steps. This should allow you to add the Fedora live image to the stick without destroying any of the data already on it. However, '''it is highly recommended to make a backup copy of the data on the USB drive before proceeding''' in case something goes wrong.


== How to Partition ==
If you have any trouble trying the non-destructive installation path, try first to reset the master boot record, MBR, with the {{command|--reset-mbr}} option.
 
Occasionally, a filesystem can be damaged and re-partitioning and re-formatting before writing the stick may be necessary.  Otherwise, it is [http://wiki.laptop.org/go/How_to_Damage_a_FLASH_Storage_Device recommended to keep the factory formatting] of flash media devices.
=== How to re-partition ===


{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}


If the drive has not been partitioned properly (or if you are unsure), use <code>fdisk</code> to repartition it.
{{admon/note | Skip if using command-line method | If you intend to use the livecd-iso-to-disk tool, documented below, you can skip this step and the ''How to Format'' step below, and simply pass the {{command|--format}} {{command|--msdos}} and {{command|--reset-mbr}} parameters to that tool if you need to re-partition and/or re-format the stick.}} <!-- msdos formatting is no longer the default. -->


It is also possible to do a non-destructive installation of a LiveUSB image, if you have sufficient empty space. See [https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#How_to_install_non-destructively How to install non-destructively] below.
If the drive has not been partitioned properly (or if you are unsure), use {{command|fdisk}} to repartition it.
 
The <code>fdisk</code> command must be run as root.  Include only the drive name in the command, not the partition number.  '''''Be sure to select the correct disk, or you may erase important data!'''''  Check the output of "df -h" if you are unsure. For example, if your partition will be /dev/sdb1, do:


Include only the drive name in the command, not the partition number.  '''''Be sure to select the correct disk, or you may erase important data!'''''  Check the output of "df -h" if you are unsure.  For example, if your partition will be /dev/sdb1, do:
<pre>
<pre>
$ /sbin/fdisk /dev/sdb
su -c 'fdisk /dev/sdb'
</pre>
</pre>
If you don't have fdisk installed, run {{command| su -c 'yum install util-linux-ng'}} to install it.


If you don't have fdisk installed, run <code>yum install util-linux-ng</code> as root.
The following session output from {{command|fdisk}} shows the responses to give to the prompts.  The line starting <code>Last cylinder ...</code> refers to the size of the flash drive, so may be different than in the example. The ''d'' command deletes an existing partition; the ''n'' command creates a new partition; the ''t'' command sets the type of a partition; and the ''w'' command commits your changes (at any point before running the ''w'' command, you can quit fdisk without any changes actually being made to the disk).
 
<pre>
The following session output from <code>fdisk</code> shows the responses to give to the prompts.  The line starting <code>Last cylinder ...</code> refers to the size of the flash drive, so may be different than in the example.
  Command (m for help): '''d'''  
 
  Command (m for help): '''d'''
  Selected partition 1
  Selected partition 1
   
   
Line 108: Line 111:
  information.
  information.
  Syncing disks.
  Syncing disks.
 
</pre>
== How to Format ==
=== How to re-format ===


{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}


If your USB media has sufficient free space on a ''vfat'' file system already, you do not need to perform this step.
To finish, the partition must be formatted with an actual file system using {{command|mkfs.vfat}} as the root user.  Unmount the device before using {{command|mkfs.vfat}}.  In the below example, {{filename|/dev/USBPARTITIONNAME}} might be, for example, {{filename|/dev/sdb1}}.  '''''Be sure to select the correct partition; formatting destroys all data on it!'''''
 
To finish, the partition must be formatted with an actual file system using <code>mkdosfs</code> as the root user.  Unmount the device before using <code>mkdosfs</code>.  In the below example, /dev/USBPARTITIONNAME might be, for example, /dev/sdb1.  '''''Be sure to select the correct partition; formatting destroys all data on it!'''''


<pre>
<pre>
$ umount /dev/USBPARTITIONNAME
su -c 'umount /dev/USBPARTITIONNAME'
$ /sbin/mkdosfs -F 32 -n usbdisk /dev/USBPARTITIONNAME
su -c 'mkfs.vfat -F 32 -n usbdisk /dev/USBPARTITIONNAME'
</pre>
</pre>


If you don't have mkdosfs installed, run "yum install dosfstools" as root.
If you don't have mkfs.vfat installed, run "yum install dosfstools" as root.


== How to install non-destructively ==
== Download an ISO ==


Skip the repartitioning and formatting step above, and simply continue with the below steps.  Please keep in mind you should have at least 1GB free.  '''It is highly recommended to make a backup copy of the data on the USB drive before proceeding''' in case something goes wrong.
(If you intend to use the "Graphical" method below, with a supported Fedora release, you can skip this step.  The program will download the ISO for you.)
 
== From a Downloaded Image ==
 
=== Download an ISO ===
 
(If you are using liveusb-creator - the "Graphical" method below, with a "supported" Fedora release, you can skip this step.  The program will download the ISO for you.)


You can use BitTorrent or your web browser to download a bootable image, or ISO, which you will install on your USB drive.
You can use BitTorrent or your web browser to download a bootable image, or ISO, which you will install on your USB drive.
Line 139: Line 134:
* [http://fedoraproject.org/en/get-fedora Supported releases]
* [http://fedoraproject.org/en/get-fedora Supported releases]
* [http://fedoraproject.org/get-prerelease Pre-releases] (Alpha and Beta; redirects to previous supported release during pre-Alpha phase)
* [http://fedoraproject.org/get-prerelease Pre-releases] (Alpha and Beta; redirects to previous supported release during pre-Alpha phase)
* [[Releases/Rawhide|Rawhide]] daily build
* [http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/ Nightly test composes]


You are looking for a file with "Live" in the name, usually of the form "F<version>-<architecture>-Live.iso".  For example, "F12-i686-Live.iso" is the Fedora 12 release for 32-bit Pentium Pro and compatible CPUs.  "F13-Alpha-x86_64-Live.iso" is the alpha pre-release version of Fedora 13 for 64-bit Intel-compatible CPUs. Be sure to choose the correct file for your architecture.  32-bit releases will generally run on 64-bit hardware, but will not be optimized.
You are looking for a file with "Live" in the name, usually of the form {{filename|Fedora-<version>-<architecture>-Live-Desktop.iso}}.  For example, {{filename|Fedora-{{FedoraVersionNumber}}-x86_64-Live-Desktop.iso}} is the {{FedoraVersion|short}} release for 64-bit Intel-compatible CPUs. Be sure to choose the correct file for your architecture.  32-bit releases will generally run on 64-bit hardware, but will not be optimized.


These instructions will also work for [[Spins Custom|Custom Spins]] of Fedora Live ISO images, including those you make yourself with Revisor (a graphical tool), or LiveCD Creator (command-line tool used by Revisor).  (Pungi is a command-line tool you can use to create installable ISOs, but not Live ISOs.)
These instructions will also work for [[Spins Custom|Custom Spins]] of Fedora Live ISO images, including those you make yourself with Revisor (a graphical tool), or LiveCD Creator (command-line tool used by Revisor).  (Pungi is a command-line tool you can use to create installable ISOs, but not Live ISOs.)
Line 147: Line 142:
If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs (mostly for testers and not everyday use) [https://bugzilla.redhat.com/show_bug.cgi?id=446935 except for the kernel].  See [[Releases/Rawhide]] for more information about daily builds.
If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs (mostly for testers and not everyday use) [https://bugzilla.redhat.com/show_bug.cgi?id=446935 except for the kernel].  See [[Releases/Rawhide]] for more information about daily builds.


Live ISOs are ''not'' made daily for Branched, Alpha, Beta, and Final phases, only at the Alpha, Beta, and Final milestones.
The nightly test composes will be built from the [[Releases/Branched|Branched]] release when there is one, and from [[Releases/Rawhide|Rawhide]] when there is no Branched.
 
== Write the stick ==


=== Graphical Method - Windows or Fedora ===
=== Graphical Method - Windows or Fedora ===


Fedora LiveUSB sticks can be created in Windows and Linux using the [http://fedorahosted.org/liveusb-creator liveusb-creator].
Fedora USB sticks can be created in Windows and Linux using the [http://fedorahosted.org/liveusb-creator liveusb-creator] utility. Note that this utility is only capable of writing Live images. It is possible to write non-live images to a USB stick, but you must use one of the two command-line methods documented below.


For Windows using the following steps:
For Windows using the following steps:
* Download liveusb-creator from http://fedorahosted.org/liveusb-creator
* Download liveusb-creator from [http://fedorahosted.org/liveusb-creator the site]
* Double click 'liveusb-creator'
* Double click 'liveusb-creator'


 
If you are using Fedora, you can use Add/Remove Programs and search for ''liveusb-creator'', or use the command line:
If you are using Fedora, you can use Add/Remove Programs and search for liveusb-creator or on the command line:
 
<pre>
<pre>
$ su -c "yum install liveusb-creator"
su -c 'yum install liveusb-creator'
</pre>
</pre>


To start, run {{command|liveusb-creator}} on the command line, or on the GNOME menu, go to ''Applications -> System Tools -> liveusb-creator''.


To start, run <code>liveusb-creator</code> on the command line, or on the GNOME menu, go to "Applications -> System Tools -> liveusb-creator".
To use the tool, simply select a Fedora release to download from the drop-down box at top-right (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.


If you are using an older version of Fedora (9 or 10), you may need to work around [[Common F11 bugs#494000|bug 494000]].
=== Command Line Methods ===


=== Command Line Method - Linux only ===
In the following examples, replace {{filename|/path/to/ISO}} with e.g. {{filename|Fedora-16-x86_64-Live-Desktop.iso}} or the full path to the ISO you downloaded, e.g. {{filename|/tmp/Fedora-16-x86_64-Live-Desktop.iso}}.


In the following examples, replace "/path/to/ISO" with e.g. F12-Live-i686.iso or the full path to the ISO you downloaded, e.g. /tmp/F12-Live-i686.iso.
Replace {{filename|/dev/USBPARTITIONNAME}} with the appropriate partition name.  For example, {{filename|/dev/sdb1}} in the example above ("Check the size of your USB drive"). '''''Be careful to specify the correct device, or you may lose important data!'''''


Replace /dev/USBPARTITIONNAME with the appropriate partition name.  For example, /dev/sdb1 in the example above ("Check the size of your USB drive"). '''''Be careful to specify the correct device, or you may lose important data!'''''
Both of these methods work with all Fedora images, not just live images: you can use {{command|dd}} or {{command|livecd-iso-to-disk}} to write a Fedora DVD or network installation ISO to a USB stick. However, for Fedora 15, non-live images cannot be written using {{command|dd}}.


The [[livecd-iso-to-disk]] method also works with DVD install iso images, even though these are not Live images.
==== Using dd for a direct copy ====


==== Using dd for a direct copy ====
{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
 
You can simply use dd (or similar direct imaging tools for other operating systems) to write a Fedora ISO to USB, although the specialized tools have additional features like non-destructive writing and data persistence. dd will always destroy any other data on the target stick, and cannot provide a persistent environment.
<pre>
su -c 'dd if=Fedora-16-x86_64-Live-Desktop.iso of=/dev/sd''X'' bs=8M'
</pre>
Note that in this specific case you want the device name (e.g. /dev/sdb) not the partition name (e.g. /dev/sdb1).
 
An equivalent for Windows is the [http://www.chrysocome.net/rawwrite RawWrite for Windows tool]. It should be capable of writing Fedora images much as described above, but this is not regularly tested.


Fedora 12 and above, you can simply use dd although the specialized tools have additional features like non destructive writing and data persistence. Fedora 12 to Fedora 15 this method will only work for liveCD iso's and NOT install media. With Fedora 16, install media will work fine as well.  
In Fedora versions prior to {{FedoraVersion|long|17}}, a DVD image written to a USB stick with dd or an equivalent tool will function as a network installation image unless a special kernel parameter is added on boot: it will be capable of performing an installation, but it will need to retrieve packages from network repositories, it will not be able to use the packages present on the stick. To allow the installer to find the packages present on the stick, use the [[Anaconda/Options#repo|anaconda ''repo='' parameter]], pointing to the USB stick by its device node, label or UUID. DVD images of {{FedoraVersion|long|17}} do not suffer from this limitation.


$ sudo dd if=''F12-Live-i686''.iso of=/dev/sd''X'' bs=8M
==== Using the {{command|livecd-iso-to-disk}} tool ====


Note that you want the device name (e.g. /dev/sdx) not the partition name (e.g. /dev/sdx1).
The {{command|livecd-iso-to-disk}} is the most capable and often most reliable method of writing a Fedora ISO image to a USB stick, but can only reliably be used from within Fedora. It does not work in Windows and is not supported (and will usually fail) in non-Fedora distributions. Please use the liveusb-creator tool, dd (or an equivalent tool), or a third-party tool such as unetbootin on other operating systems. It is also not a good idea to try and write a new Fedora release using the version of {{command|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.


This method also works with netinst.iso and boot.iso images. In Fedora 13, ":/images/install.img" has to be appended to boot parameter stage2=hd:label="Fedora" (you can do it after hitting Tab in boot selection screen) to prevent asking for install.img location in loader text UI. This should be fixed with [https://bugzilla.redhat.com/show_bug.cgi?id=528809 bug 528809]
{{command|livecd-iso-to-disk}} is usually available in the /LiveOS directory of the Live CD .iso file. You may loop mount the .iso, and procede as below, assured that you are using the version intended for your image:


==== Check livecd-tools ====
Make a mount point:
$ su -c "mkdir /tmp/live"


Make sure the livecd-tools RPM is installed.
Mount the .iso filesystem on your mount point:
$ su -c "mount Fedora-16-x86_64-Live-Desktop.iso /tmp/live"


<pre>
Confirm the availability of {{command|/LiveOS/livecd-iso-to-disk}}:
$ rpm -q livecd-tools
$ ls /tmp/live/LiveOS
</pre>


You will see the name of the RPM and a version number if it is installed, and no output if it is not installed.
If the {{command|livecd-iso-to-disk}} script is not listed, your will need to obtain it from another source.  Check if the livecd-tools RPM is installed with this 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 yum.
If "livecd-tools" is not installed, install it using this command, or PackageKit:
<pre>
$ su -c 'yum install livecd-tools'
$ su -c "yum install livecd-tools"
</pre>


==== Run [[livecd-iso-to-disk]] script ====
Detailed usage information is available in the first pages of the [http://git.fedorahosted.org/git/?p=hosted/livecd;a=blob;f=tools/livecd-iso-to-disk.sh;hb=HEAD#l27 livecd-iso-to-disk script], which you can also see by running {{command|su -c 'livecd-iso-to-disk --help'}}. Basic examples follow.


Script usage is available in the first pages of the [http://git.fedorahosted.org/git/?p=hosted/livecd;a=blob;f=tools/livecd-iso-to-disk.sh;hb=HEAD livecd-iso-to-disk script].
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:


Make sure that the USB drive is not mounted before executing the following, and give the root password when prompted.
If {{command|livecd-iso-to-disk}} is available in the .iso filesystem,
$ su -c "/tmp/live/LiveOS/livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
otherwise,
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
(See [[#Data persistence|Data persistence]] below for how to create Live USB devices with more than temporary storage of user files and settings.)


  $ su -c "livecd-iso-to-disk ''/path/to/ISO'' /dev/''USBPARTITIONNAME''"
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:
Password:
  $ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Copying live image to USB stick
Updating boot config file
Installing boot loader
USB stick set up as live image!


In case it is not possible to boot from a disk created with the method shown above, you can also tell livecd to format the medium itself. '''Note that this method causes livecd to format the disk and thus erase all the data on it''':
{{admon/warning | CAUTION | The following method will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
If necessary, you can have {{command|livecd-iso-to-disk}} re-partition and re-format the target stick. This is similar to performing the manual re-partitioning and re-formatting steps described earlier in this guide. 
$ su -c "livecd-iso-to-disk --format --msdos --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"


$ su -c "livecd-iso-to-disk --format --reset-mbr ''/path/to/ISO'' /dev/''USBPARTITIONNAME''"
=== UEFI boot of USB sticks ===


==== Data Persistence ====
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 {{command|--efi}} parameter to the {{command|livecd-iso-to-disk}} tool attempts to make a stick written with that tool natively UEFI bootable.


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 for kernel updates which are not supported. The primary use of this feature is booting a USB stick with your live image as well as the persistent changes.
As of {{FedoraVersion|long|17}}, all images written using the ''dd'' method should be UEFI-bootable, and all images written with {{command|livecd-iso-to-disk --format --reset-mbr --efi}} should also be UEFI-bootable. Use of {{command|--efi}} without {{command|--format}} and {{command|--reset-mbr}} can be considered a 'best effort', and may not produce a UEFI-bootable stick.


Use liveusb-creator, a graphical utility to do this easily. Liveusb-creator is available in the Fedora repository and for Windows users as well.
=== Data persistence ===


If you prefer the command line, you can run the following command:
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 [[#Kernel updates|manual intervention]] and [[#limited overlay|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.


$ sudo livecd-iso-to-disk --overlay-size-mb 512 ''/path/to/ISO'' /dev/''USBPARTITIONNAME''
Use the ''Graphical Method'' 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.


where 512 is the desired size (in megabytes) of the overlay. The [[livecd-iso-to-disk]] shell script won't accept an overlay size value greater than 2047 for VFAT, but for ext[23] filesystems it is only limited by the available space. You can find the livecd-iso-to-disk shell script in the LiveOS directory at the top-level of the CD image. Note that you'll need to have space on your USB stick for the live image plus your overlay plus any other data you want on the stick.
If using the {{command|livecd-iso-to-disk}} tool, add the {{command|--overlay-size-mb}} parameter to add a persistent data storage area to the target stick. For example:
<pre>
su -c "livecd-iso-to-disk --overlay-size-mb 512 Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
</pre>


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 2047 for VFAT, but for ext[234] filesystems it is only limited by the available space.
{{anchor|limited overlay}}
{{admon/note | 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 LVM 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 [http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/14644 dm-devel discussion] and [http://wiki.sugarlabs.org/go/LiveOS_image#Overlay_recovery 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. For a truly persistent write-many (vs write-once) overlay, use the ''--home-size-mb'' option to create a home directory filesystem image for personal files. Unlike the primary system overlay image, the home.img can be re-used and loop mounted outside of the liveusb environment.}}
{{admon/note | 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 LVM 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 [http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/14644 dm-devel discussion] and [http://wiki.sugarlabs.org/go/LiveOS_image#Overlay_recovery 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. For a truly persistent write-many (vs write-once) overlay, use the ''--home-size-mb'' option to create a home directory filesystem image for personal files. Unlike the primary system overlay image, the home.img can be re-used and loop mounted outside of the liveusb environment.}}


The persistent overlay status may be queried by issuing this command on the live system:
The persistent overlay status may be queried by issuing this command on the live system:
dmsetup status live-rw
<pre>
dmsetup status live-rw
</pre>
The returned value may look like this:
The returned value may look like this:
<pre>
live-rw: 0 8388608 snapshot 42296/204800 176
</pre>
where the fraction after 'snapshot' for the logical volume is that of 512-byte sectors consumed in the overlay.


live-rw: 0 8388608 snapshot 42296/204800 176
=== From a running Live CD/DVD/USB ===


where the fraction after 'snapshot' for the logical volume is that of 512-byte sectors consumed in the overlay.
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:


== From a running Live CD/DVD/USB ==
su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/USBPARTITIONNAME"


If you are already running a live CD or DVD and want to convert that into a bootable USB stick, run the following command as a root user:
: (For versions before Fedora 17, use {{Code|/dev/live}} instead of {{Code|/run/initramfs/livedev}}.)


<pre>
# livecd-iso-to-disk /dev/sr0 /dev/USBPARTITIONNAME
</pre>
From a running Live USB, use /dev/live as the source:
<pre>
# livecd-iso-to-disk /dev/live /dev/USBPARTITIONNAME
</pre>


== How to Boot a Live USB Drive ==
== How to Boot a Live USB Drive ==
Line 266: Line 278:
** Save the changes, exit, and the computer should boot the Live USB drive.
** Save the changes, exit, and the computer should boot the Live USB drive.


{{Anchor|dvd2usb}}
== Problems and solutions ==
 
== How to Make a bootable USB Drive to Install Fedora instead of using a physical DVD ==
 
=== Why would I want to make a USB device installer from the DVD instead of the LiveCD? ===
 
If you are installing to a netbook, or otherwise do not have an optical drive (or burner, or media), and you want the extra flexibility of using the regular DVD installer instead of the Live image, then this method will give a useful install medium. You are then free to customize package selection, choose which filesystem you prefer for your rootfs (ext3 OR ext4, btrfs, etc), and rescue mode is available.
 
=== Preparing the USB stick ===
 
The easiest setup method is to install Fedora's own '''[[livecd-iso-to-disk]]''' script from livecd-tools. Note that the liveusb-creator GUI, however, does not support putting the DVD installer on USB.  (Unetbootin has worked in the past as well, but does not currently work for Fedora 14 and 15.)
 
The manual setup method follows:
 
First, download the iso file Fedora-15-i386-DVD.iso from a Fedora mirror.  This method also works for the boot and netinstall iso's.
 
Then, from your running {{FedoraVersion||current}} system (including an {{FedoraVersion||current}} livecd) make sure you have the livecd-tools package installed by doing:
<pre>
yum install livecd-tools
</pre>
 
Use the "mount" command to find the USB stick (e.g., /dev/sdb1) or look at /var/log/messages to find where the stick was mounted.
 
Next unmount the USB stick either from the desktop icon or using the umount command - but keep a note of where the USB stick is attached to the filesystem, e.g., /dev/sdb1
 
Now as root run:
<pre>
# livecd-iso-to-disk path-to/Fedora-15-i386-DVD.iso /dev/sdb1
</pre>
 
If the stick is not bootable, then refer to the information below to make it bootable, otherwise this command will fail.
 
You should now have a bootable USB stick which will run an {{FedoraVersion||current}} install. When you boot the stick, you may also add askmethod to the boot line and select a hard drive install and select the drive as /dev/sdb1 (or your USB device drive) and the path should be /
 
The remainder of the install should be the same as for using a DVD in an optical drive, but when you select options make sure that you select your disk partitioning carefully if you are doing custom partitioning and also make sure that the bootloader is installed on the correct drive - by default it will be installed on the USB stick so you will need to change it to the master boot record on the hard drive.
 
== Errors and Solutions ==


=== liveusb-creator problems ===
=== liveusb-creator problems ===


* Try the [https://fedorahosted.org/liveusb-creator/wiki/FAQ liveusb-creator FAQ].
* Try the [http://fedorahosted.org/liveusb-creator/wiki/FAQ liveusb-creator FAQ].
* Bugs are tracked in [https://fedorahosted.org/liveusb-creator/ Trac] - see e.g. [https://fedorahosted.org/liveusb-creator/report/1 existing tickets].  Please [https://fedorahosted.org/liveusb-creator/newticket open a new ticket] if you encounter any problems that have not already been reported.
* Bugs are tracked in [https://fedorahosted.org/liveusb-creator/ Trac] - see e.g. [https://fedorahosted.org/liveusb-creator/report/1 existing tickets].  Please [https://fedorahosted.org/liveusb-creator/newticket open a new ticket] if you encounter any problems that have not already been reported.
* The [https://fedorahosted.org/mailman/listinfo/liveusb-creator liveusb-creator mailing list] has [https://fedorahosted.org/pipermail/liveusb-creator/ archives] which may also be useful.
* The [https://fedorahosted.org/mailman/listinfo/liveusb-creator liveusb-creator mailing list] has [https://fedorahosted.org/pipermail/liveusb-creator/ archives] which may also be useful.
Line 314: Line 290:
If you get the following message, you need to mark the partition bootable.
If you get the following message, you need to mark the partition bootable.
<pre>
<pre>
$ livecd-iso-to-disk Fedora-<release>-Live-i686.iso /dev/sdb1
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Partition isn't marked bootable!
Partition isn't marked bootable!
You can mark the partition as bootable with  
You can mark the partition as bootable with  
Line 323: Line 299:
</pre>
</pre>


To mark the partition bootable,
To mark the partition bootable, run parted, and use the 'toggle X boot' command. For example:
<pre>
<pre>
$ parted /dev/sdb
$ parted /dev/sdb
Line 356: Line 332:
If you get the following message, you need to label the partition.
If you get the following message, you need to label the partition.
<pre>
<pre>
$ livecd-iso-to-disk Fedora-<release>-Live-i686.iso /dev/sdb1
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Need to have a filesystem label or UUID for your USB device
Need to have a filesystem label or UUID for your USB device
Label can be set with /sbin/dosfslabel
Label can be set with /sbin/dosfslabel
Line 362: Line 338:
</pre>
</pre>


To label the partition.
To label the partition:
<pre>
<pre>
$ dosfslabel /dev/sdb1 usbdisk
su -c "dosfslabel /dev/USBPARTITIONNAME LIVE"
</pre>
</pre>


=== Partition has different physical/logical endings! ===
=== Partition has different physical/logical endings! ===


If you get the following message, you may need to reformat the flash drive.
If you get this message from fdisk, you may need to reformat the flash drive, as described earlier in this guide.
<pre>
$ fdisk -l /dev/sdb
 
Disk /dev/sdb: 2029 MB, 2029518848 bytes
129 heads, 32 sectors/track, 960 cylinders
Units = cylinders of 4128 * 512 = 2113536 bytes
 
Device Boot      Start        End      Blocks  Id  System
/dev/sdb1  *          1        961    1981936    6  FAT16
Partition 1 has different physical/logical endings:
phys=(967, 128, 32) logical=(960, 31, 32)
</pre>


=== MBR appears to be blank! ===
=== MBR appears to be blank! ===


If your test boot reports a corrupted boot sector, or you get the following message, you need to install MBR.
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).
<pre>
<pre>
$ livecd-iso-to-disk Fedora-<release>-Live-i686.iso /dev/sdb1
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
MBR appears to be blank.
MBR appears to be blank.
You can add an MBR to this device with
You can add an MBR to this device with
Line 393: Line 357:
</pre>
</pre>


To install or reset MBR:
$ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"


To install MBR,
=== Issues using other Linux distributions ===
<pre>
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.
$ cat /usr/share/syslinux/mbr.bin > /dev/sdb
</pre>


=== SYSLINUX Boot Error! ===
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 described above.


If you were using the script on previous Red Hat or Fedora Release and getting following error message,
== Testing Live Image on USB ==
<pre>
SYSLINUX 3.xx ... EBIOS Load error - Boot error
</pre>


You may need to upgrade your syslinux to 3.50 or higher from Peter Anvin's [http://syslinux.zytor.com/faq.php SYSLINUX] .
You can test your Live Image on USB using QEMU as shown in the screenshot below.


* http://www.kernel.org/pub/linux/utils/boot/syslinux/RPMS/i386/
[[Image:FedoraLiveCD_USBHowTo_usb_flash_with_qemu.png|thumb]]


=== Ubuntu issues ===
For example, if your USB flash drive is {{filename|/dev/sdb}}, you could type the following commands:
Ubuntu and derivative Linux distributions have a usb-creator program similar to Live USB Creator.
<pre>
This ''does not work'' with Fedora .iso images, it silently rejects them.
su -c 'umount /dev/sdb1'
(usb-creator requires the .iso has a Debian layout, with a /.disk/info file and a casper directory.)
qemu -hda /dev/sdb -m 1024 -vga std
 
</pre>
The livecd-iso-to-disk script isn't meant to be run from a non-Fedora system.
== Mounting a Live USB filesystem ==
Testers have reported that even though it runs in an Ubuntu 10.10 terminal and may complete successfully, the resulting USB flash drive does not boot ({{bz|699554}}).
 
Expert users may be able to use dd to write the Fedora .iso to the USB flash drive (thereby overwriting its partition information and all files on it).
Another workaround is to burn the Fedora .iso to a CD-R, boot from this, and then run Live USB Creator or livecd-iso-to-disk from the Fedora environment.


== Testing Live Image on USB ==
You can use the [http://git.fedorahosted.org/git?p=hosted/livecd;a=blob_plain;f=tools/liveimage-mount;hb=HEAD '''''liveimage-mount'''''] script in the {{package|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.


You can test your Live Image on USB using QEMU as shown in the screenshot below.
== Kernel updates ==


  [[Image:FedoraLiveCD_USBHowTo_usb_flash_with_qemu.png|thumb]]
If you have [[#limited overlay|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.3.2-6.fc16.x86_64.img) and kernel (such as vmlinuz-3.3.2-6.fc16.x86_64) should be moved to replace the /mnt/live/syslinux/initrd0.img and /mnt/live/syslinux/vmlinuz0 files, respectively.
* '''Note''': Beginning with Fedora 17, [[dracut]] no longer includes the dmsquash-live module by default. So one should include it in {{Code|/etc/dracut.conf}} with, for example,<br><pre># echo 'add_dracutmodules+=" dmsquash-live "' >> /etc/dracut.conf</pre>


For example, if your USB flash drive is on /dev/sdb1, you could type following command:
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.3.2-6.fc16.x86_64


<pre>
cd /
$ umount /dev/sdb1
mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
$ qemu -hda /dev/sdb -m 256 -vga std
mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img
</pre>
&nbsp;
ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new
ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img


== See also ==
== See also ==

Revision as of 11:31, 14 July 2012

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 feature an area to store changes to the system, called a persistent overlay. 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. Finally, with a non-destructive installation, pre-existing files and excess storage space on the stick are accessible from the system. Essentially, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.

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 actual optical disc.

Note.png
Quick start
The process for most people is simple. Almost all USB sticks are provided by hardware manufacturers ready to use with this process. If you have any documents on your USB stick, it's not a bad idea to back them up before you start.

Then reboot your system and use your computer's built-in function to choose the USB boot device -- usually this is a special key you hold down at boot time, such as F12. Then enjoy!

If you are into technical details or want more information on alternative tools and advanced usage, please read on.
Warning.png
Using UNetbootin
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. While your results may vary, for best results, use the liveusb-creator. If you encounter problems with Unetbootin, please contact the Unetbootin developers, not the Fedora developers.


Important.png
Creating Live CD ISO image
A Live USB system is created from the same ISO image file that is used to create Live 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 ISO image file.

System Requirements

  • A working computer running Fedora or Windows. If you are using other Linux distributions, consider using dd or UNetbootin. UNetbootin is also available for Mac OS X and Windows, and is in the Fedora repository as well.
  • A USB flash drive, also known as a USB stick, thumb drive, pen drive, or jump drive, with 1 GB or more of storage space, on a vfat file system (standard for almost all off-the-shelf USB media)

Ability to boot from USB media

Though most modern ones can, 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 it of 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.

Some flash drives may not be bootable by default, even if your hardware is capable of doing so. You may need to mark the partition bootable or you may just need to reformat the flash drive. See Problems and solutions below for more information.

Sufficiently large USB stick

Many USB sticks indicate the size on the packaging or the outside of the stick.

If you don't know the size of the stick, or want to check it for data, you should be able to auto-mount the USB stick by inserting it into a USB port. You can check the contents and size using the graphical file manager. In Linux, you can also use the command df -h:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
143G   14G  122G  10% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                1009M     0 1009M   0% /dev/shm
/dev/sdb1             3.9G  4.0K  3.9G   1% /media/usbdisk

USB drives are usually mounted in /media or /run/media/username/. In this case, the device is /dev/sdb1, has a 3.9GB capacity and is almost empty. As a rule of thumb, you should use a stick of at least 1GB to write a live image or network install image, and a stick of at least 4GB to write a DVD image.

Take note of /dev/sdb1 or equivalent; you will be specifying the device name if you use the command line method. This is the string you substitute for USBPARTITIONNAME where it occurs in the instructions below.

Optional: re-partition and format your USB stick

If you have a USB stick with a FAT-formatted partition that has a decent amount of free space, you can skip the repartitioning and formatting steps below, and simply continue with the following steps. This should allow you to add the Fedora live image to the stick without destroying any of the data already on it. However, it is highly recommended to make a backup copy of the data on the USB drive before proceeding in case something goes wrong.

If you have any trouble trying the non-destructive installation path, try first to reset the master boot record, MBR, with the --reset-mbr option.

Occasionally, a filesystem can be damaged and re-partitioning and re-formatting before writing the stick may be necessary. Otherwise, it is recommended to keep the factory formatting of flash media devices.

How to re-partition

Warning.png
CAUTION
This will erase all data on the USB drive! Please read the instructions below carefully.
Note.png
Skip if using command-line method
If you intend to use the livecd-iso-to-disk tool, documented below, you can skip this step and the How to Format step below, and simply pass the --format --msdos and --reset-mbr parameters to that tool if you need to re-partition and/or re-format the stick.

If the drive has not been partitioned properly (or if you are unsure), use fdisk to repartition it.

Include only the drive name in the command, not the partition number. Be sure to select the correct disk, or you may erase important data! Check the output of "df -h" if you are unsure. For example, if your partition will be /dev/sdb1, do:

su -c 'fdisk /dev/sdb'

If you don't have fdisk installed, run su -c 'yum install util-linux-ng' to install it.

The following session output from fdisk shows the responses to give to the prompts. The line starting Last cylinder ... refers to the size of the flash drive, so may be different than in the example. The d command deletes an existing partition; the n command creates a new partition; the t command sets the type of a partition; and the w command commits your changes (at any point before running the w command, you can quit fdisk without any changes actually being made to the disk).

 Command (m for help): '''d''' 
 Selected partition 1
 
 Command (m for help): '''n'''
 Command action
 e   extended
 p   primary partition (1-4)
 '''p'''
 Partition number (1-4): '''1'''
 First cylinder (1-960, default 1): '''↵'''
 Using default value 1
 Last cylinder or +size or +sizeM or +sizeK (1-960, default 960): '''↵'''
 Using default value 960
 
 Command (m for help): '''t'''
 Selected partition 1
 Hex code (type L to list codes): '''6'''
 Changed system type of partition 1 to 6 (FAT16)
 
 Command (m for help): '''a'''
 Partition number (1-4): '''1'''
 
 Command (m for help): '''w'''
 The partition table has been altered!
 
 Calling ioctl() to re-read partition table.
 
 WARNING: If you have created or modified any DOS 6.x
 partitions, please see the fdisk manual page for additional
 information.
 Syncing disks.

How to re-format

Warning.png
CAUTION
This will erase all data on the USB drive! Please read the instructions below carefully.

To finish, the partition must be formatted with an actual file system using mkfs.vfat as the root user. Unmount the device before using mkfs.vfat. In the below example, /dev/USBPARTITIONNAME might be, for example, /dev/sdb1. Be sure to select the correct partition; formatting destroys all data on it!

su -c 'umount /dev/USBPARTITIONNAME'
su -c 'mkfs.vfat -F 32 -n usbdisk /dev/USBPARTITIONNAME'

If you don't have mkfs.vfat installed, run "yum install dosfstools" as root.

Download an ISO

(If you intend to use the "Graphical" method below, with a supported Fedora release, you can skip this step. The program will download the ISO for you.)

You can use BitTorrent or your web browser to download a bootable image, or ISO, which you will install on your USB drive.

Quick links:

You are looking for a file with "Live" in the name, usually of the form Fedora-<version>-<architecture>-Live-Desktop.iso. For example, Fedora-40-x86_64-Live-Desktop.iso is the F40 release for 64-bit Intel-compatible CPUs. Be sure to choose the correct file for your architecture. 32-bit releases will generally run on 64-bit hardware, but will not be optimized.

These instructions will also work for Custom Spins of Fedora Live ISO images, including those you make yourself with Revisor (a graphical tool), or LiveCD Creator (command-line tool used by Revisor). (Pungi is a command-line tool you can use to create installable ISOs, but not Live ISOs.)

If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs (mostly for testers and not everyday use) except for the kernel. See Releases/Rawhide for more information about daily builds.

The nightly test composes will be built from the Branched release when there is one, and from Rawhide when there is no Branched.

Write the stick

Graphical Method - Windows or Fedora

Fedora USB sticks can be created in Windows and Linux using the liveusb-creator utility. Note that this utility is only capable of writing Live images. It is possible to write non-live images to a USB stick, but you must use one of the two command-line methods documented below.

For Windows using the following steps:

  • Download liveusb-creator from the site
  • Double click 'liveusb-creator'

If you are using Fedora, you can use Add/Remove Programs and search for liveusb-creator, or use the command line:

su -c 'yum install liveusb-creator'

To start, run liveusb-creator on the command line, or on the GNOME menu, go to Applications -> System Tools -> liveusb-creator.

To use the tool, simply select a Fedora release to download from the drop-down box at top-right (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.

Command Line Methods

In the following examples, replace /path/to/ISO with e.g. Fedora-16-x86_64-Live-Desktop.iso or the full path to the ISO you downloaded, e.g. /tmp/Fedora-16-x86_64-Live-Desktop.iso.

Replace /dev/USBPARTITIONNAME with the appropriate partition name. For example, /dev/sdb1 in the example above ("Check the size of your USB drive"). Be careful to specify the correct device, or you may lose important data!

Both of these methods work with all Fedora images, not just live images: you can use dd or livecd-iso-to-disk to write a Fedora DVD or network installation ISO to a USB stick. However, for Fedora 15, non-live images cannot be written using dd.

Using dd for a direct copy

Warning.png
CAUTION
This will erase all data on the USB drive! Please read the instructions below carefully.

You can simply use dd (or similar direct imaging tools for other operating systems) to write a Fedora ISO to USB, although the specialized tools have additional features like non-destructive writing and data persistence. dd will always destroy any other data on the target stick, and cannot provide a persistent environment.

su -c 'dd if=Fedora-16-x86_64-Live-Desktop.iso of=/dev/sd''X'' bs=8M'

Note that in this specific case you want the device name (e.g. /dev/sdb) not the partition name (e.g. /dev/sdb1).

An equivalent for Windows is the RawWrite for Windows tool. It should be capable of writing Fedora images much as described above, but this is not regularly tested.

In Fedora versions prior to Fedora 17, a DVD image written to a USB stick with dd or an equivalent tool will function as a network installation image unless a special kernel parameter is added on boot: it will be capable of performing an installation, but it will need to retrieve packages from network repositories, it will not be able to use the packages present on the stick. To allow the installer to find the packages present on the stick, use the anaconda repo= parameter, pointing to the USB stick by its device node, label or UUID. DVD images of Fedora 17 do not suffer from this limitation.

Using the livecd-iso-to-disk tool

The livecd-iso-to-disk is the most capable and often most reliable method of writing a Fedora ISO image to a USB stick, but can only reliably be used from within Fedora. It does not work in Windows and is not supported (and will usually fail) in non-Fedora distributions. Please use the liveusb-creator tool, dd (or an equivalent tool), or a third-party tool such as unetbootin 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.

livecd-iso-to-disk is usually available in the /LiveOS directory of the Live CD .iso file. You may loop mount the .iso, and procede as below, assured that you are using the version intended for your image:

Make a mount point:

$ su -c "mkdir /tmp/live"

Mount the .iso filesystem on your mount point:

$ su -c "mount Fedora-16-x86_64-Live-Desktop.iso /tmp/live"

Confirm the availability of /LiveOS/livecd-iso-to-disk:

$ ls /tmp/live/LiveOS

If the livecd-iso-to-disk script is not listed, your will need to obtain it from another source. Check if the livecd-tools RPM is installed with this 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 PackageKit:

$ 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 su -c 'livecd-iso-to-disk --help'. Basic examples follow.

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:

If livecd-iso-to-disk is available in the .iso filesystem,

$ su -c "/tmp/live/LiveOS/livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"

otherwise,

$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"

(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-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Warning.png
CAUTION
The following method 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. This is similar to performing the manual re-partitioning and re-formatting steps described earlier in this guide.

$ su -c "livecd-iso-to-disk --format --msdos --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"

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 17, all images written using the dd method should be UEFI-bootable, and all images written with livecd-iso-to-disk --format --reset-mbr --efi should also 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.

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 Graphical Method 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-16-x86_64-Live-Desktop.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 2047 for VFAT, but for ext[234] filesystems it is only limited by the available space.

Note.png
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 LVM 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. For a truly persistent write-many (vs write-once) overlay, use the --home-size-mb option to create a home directory filesystem image for personal files. Unlike the primary system overlay image, the home.img can be re-used and loop mounted outside of the liveusb 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.

From a running Live CD/DVD/USB

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/USBPARTITIONNAME"
(For versions before Fedora 17, use /dev/live instead of /run/initramfs/livedev.)


How to Boot a Live USB Drive

  • Power off the computer.
  • Plug the USB drive into a USB port.
  • Remove all other portable media, such as CD, DVD, or floppy disks.
  • Power on the computer.
  • If the computer is configured to automatically boot off of the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown.
  • If the computer starts to boot off the hard drive, you'll need to manually configure it to boot off the USB drive.
    • Wait for a safe point to reboot safely.
    • 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.
    • 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.
    • Save the changes, exit, and the computer should boot the Live USB drive.

Problems and solutions

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-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Partition isn't marked bootable!
You can mark the partition as bootable with 
    $ /sbin/parted /dev/sdb
    (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/sdb
GNU Parted 1.8.6
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: Imation Flash Drive (scsi)
Disk /dev/sdb: 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/sdb: 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-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
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/USBPARTITIONNAME 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-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
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-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"

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 described above.

Testing Live Image on USB

You can test your Live Image on USB using QEMU as shown in the screenshot below.

For example, if your USB flash drive is /dev/sdb, you could type the following commands:

su -c 'umount /dev/sdb1'
qemu -hda /dev/sdb -m 1024 -vga std

Mounting a Live USB filesystem

You can use the liveimage-mount script in the Package-x-generic-16.pnglivecd-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.3.2-6.fc16.x86_64.img) and kernel (such as vmlinuz-3.3.2-6.fc16.x86_64) should be moved to replace the /mnt/live/syslinux/initrd0.img and /mnt/live/syslinux/vmlinuz0 files, respectively.

  • Note: Beginning with Fedora 17, dracut no longer includes the dmsquash-live module by default. So one should include it in /etc/dracut.conf with, for example,
    # echo 'add_dracutmodules+=" dmsquash-live "' >> /etc/dracut.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.3.2-6.fc16.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

See also

Red Hat Magazine | I am Fedora, and so can you!

References