This post has already been read 2057 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.
- 1 Introduction
- 2 Preparing the USB flash drive (Manual Mode)
- 3 Copying the files to your key
- 4 Installing a bootloader
- 5 Using 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:
dd if=/path/to/image.iso of=/dev/sdc bs=8192k
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
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
If your key is 4GB or larger, use
-F 32to create a FAT32 filesystem.
emerge --ask sys-fs/dosfstools
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:
emerge --ask --verbose sys-boot/syslinux
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:
## (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 supportoption in your kernel configuration.
Mounting the LiveUSB
Mount the newly formatted USB flash drive on /mnt/usb as shown below:
mkdir -p /mnt/usb
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
cp -r /mnt/cdrom/* /mnt/usb
mv /mnt/usb/isolinux/* /mnt/usb
mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
rm -rf /mnt/usb/isolinux*
mv /mnt/usb/memtest86 /mnt/usb/memtest
You can now unmount the ISO image:
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.
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:
Finally install the
syslinux bootloader on the USB flash drive:
You will need to rerun
syslinux /dev/sdc1each 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.