This post has already been read 2172 times!

This HOWTO explains how to create a Gentoo Linux LiveUSB or, in other words, how to emulate an x86 or AMD64 Gentoo Linux LiveCD using a USB flash drive.


The LiveUSB

This HOWTO explains how to create a Gentoo Linux LiveUSB or, in other words, how to emulate an x86 or AMD64 Gentoo Linux LiveCD using a USB flash drive. This is particularly useful for installing Gentoo Linux on a modern laptop with no CD-ROM drive.

The sys-boot/unetbootin package provides a much easier alternative to create a bootable USB stick from any bootable CD image.

Although the instructions found in this document aim at emulating a Gentoo Linux LiveCD using a USB flash drive, they should work for any arbitrary block device as long as you adjust the device names accordingly.

Using dd command

When using the latest install isos (installcds or livedvd), it is sufficient to directly copy the ISO contents on the USB device. The dd command can be used to accomplish this. For instance, assuming the USB device is at /dev/sdc:

root #dd if=/path/to/image.iso of=/dev/sdc bs=8192k

On Windows, the dd command is also available through various projects, such as GNUWin32 or Chrysocome.

The remainder of this document explains how to setup a manual vfat partition that's writable using the syslinux bootloader instead of isolinux.


In order to use a Gentoo Linux LiveUSB you need the following:

  • Bootable USB flash drive with at least 1GB
  • i686 or x86_64 computer with support for booting from USB

You will also need access to the following for creating the LiveUSB:

  • A computer running Gentoo Linux (or alternatively another Linux distribution)

Preparing the USB flash drive (Manual Mode)

Partitioning the drive

These instructions will erase all data from the USB flash drive. Make sure to backup your data first.
This HOWTO assumes that the /dev/sdc device node corresponds to your USB flash drive. If you have other SCSI-like devices make sure to use the correct device node.

Create a FAT16 partition on your USB flash drive and mark it bootable using fdisk. An example partitioning scheme can be seen below:

If your key is 4GB or larger, use partition type b (W95 FAT32).
root #fdisk -l /dev/sdc
Disk /dev/sdc: 2063 MB, 2063597056 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1         250     2008124+   6  FAT16

Creating the filesystem

Create a FAT16 filesystem on the USB flash drive using mkdosfs:

If your key is 4GB or larger, use -F 32 to create a FAT32 filesystem.
root #emerge --ask sys-fs/dosfstools
root #mkdosfs -F 16 /dev/sdc1
mkfs.fat 3.0.22 (2013-07-19)

Installing a Master Boot Record

Install the precompiled Master Boot Record (MBR) from syslinux on the USB flash drive:

root #emerge --ask --verbose sys-boot/syslinux
root #dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
0+1 records in
0+1 records out
440 bytes (440 B) copied, 0.00522668 s, 84.2 kB/s

Copying the files to your key

Mounting the Gentoo Linux Installation CD

Download the Gentoo Weekly Minimal Install CD for your architecture from your local Gentoo Linux mirror site and mount the ISO image on /mnt/cdrom as shown below:

CODE Mounting the Gentoo Linux Installation CD ISO image
## (Create the /mnt/cdrom mount point if needed)
# mkdir -p /mnt/cdrom
# mount -o loop,ro -t iso9660 /path/to/iso.iso /mnt/cdrom
If you receive a Could not find any loop device error message when mounting the iso, you need to enable the Loopback device support option in your kernel configuration.

Mounting the LiveUSB

Mount the newly formatted USB flash drive on /mnt/usb as shown below:

root #mkdir -p /mnt/usb
root #mount -t vfat /dev/sdc1 /mnt/usb

Copying the files

Copy the files from the Gentoo Linux Installation CD to the LiveUSB. The files need to be reordered a bit as we will be using the syslinux bootloader instead of isolinux:

root #cp -r /mnt/cdrom/* /mnt/usb
root #mv /mnt/usb/isolinux/* /mnt/usb
root #mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
root #rm -rf /mnt/usb/isolinux*
root #mv /mnt/usb/memtest86 /mnt/usb/memtest

You can now unmount the ISO image:

root #umount /mnt/cdrom

Adjusting the bootloader configuration

Adjust the syslinux configuration file using sed as shown below. The slowusb parameter will introduce some extra delays before attempting to mount the filesystem. This is needed to allow the USB flash drive to settle upon detection.

root #sed -i -e "s:cdroot:cdroot slowusb:" -e "s:kernel memtest86:kernel memtest:" /mnt/usb/syslinux.cfg

Installing a bootloader

Unmounting the drive

Make sure you unmount the USB flash drive before installing the bootloader:

root #umount /mnt/usb

Installing syslinux

Finally install the syslinux bootloader on the USB flash drive:

root #syslinux /dev/sdc1
You will need to rerun syslinux /dev/sdc1 each time you modify the syslinux.cfg file for the configuration changes to take affect.

Using the LiveUSB


Insert the USB flash drive and turn on the computer, making sure the BIOS is set to boot from USB. If all goes well you should be presented with a standard syslinux prompt.

You should be able to follow the generic installation instructions found in the Gentoo Handbook from here on.

source for article

Leave a Reply

Post Navigation