last modified by Raghu Udiyar on 12/09/11 - 15:24
Release found: Red Hat Enterprise Linux 5
Problem
You need to install Red Hat Enterprise Linux on a server which does not have a floppy drive or CD-ROM drive, but which does has a USB port.
Assumptions
- Your network environment is not set up to allow Red Hat Enterprise Linux to be installed completely from the network (through PXE boot). If it is, please make use of this option, as it is more straightforward than the procedure documented here.
- Your network environment is configured to provide the contents of the Red Hat Enterprise Linux DVDs through a protocol supported by the Red Hat Enterprise Linux installer, such as NFS or FTP.
- The server's BIOS supports booting from a USB mass storage device like a flash/pen drive.
Solution
The following steps configure a USB pen drive as a boot medium to start the installation of Red Hat Enterprise Linux.
- Attach the USB pen drive to a system which is already running Red Hat Enterprise Linux.
Run
dmesg
From the
dmesg
output, identify the device name under which the drive is known to the system.
Sample messages for a 1 Gb flash disk being recognized as/dev/sdb
:Initializing USB Mass Storage driver... scsi2 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning usbcore: registered new driver usb-storage USB Mass Storage support registered. Vendor: USB 2.0 Model: Flash Disk Rev: 5.00 Type: Direct-Access ANSI SCSI revision: 02 SCSI device sdb: 2043904 512-byte hdwr sectors (1046 MB) sdb: Write Protect is off sdb: Mode Sense: 0b 00 00 08 sdb: assuming drive cache: write through SCSI device sdb: 2043904 512-byte hdwr sectors (1046 MB) sdb: Write Protect is off sdb: Mode Sense: 0b 00 00 08 sdb: assuming drive cache: write through sdb: sdb1 sd 2:0:0:0: Attached scsi removable disk sdb
sd 2:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan completeNote: For the remainder of this article, we will assume this device name to be
/dev/sdb
. Make sure you adjust the device references in the following steps as per your local situation.- At this point, the flash drive is likely to have been automatically mounted by the system. Make sure the flash drive is unmounted. E.g. in nautilus, by right-clicking on the icon for the drive and selecting
Unmount Volume
. - Use
fdisk
to partition the flash drive as follows:- There is a single partition.
- This partition is numbered as 1.
- Its partition type is set to '
b
' (W95 FAT32). - It is tagged as bootable.
Format the partition created in the previous step as FAT:
mkdosfs /dev/sdb1
Mount the partition:
mount /dev/sdb1 /mnt
Copy the contents of
/RedHat/isolinux/
from the first installation CD/DVD onto the flash drive, i.e. to/mnt
.
Note: the filesisolinux.bin
,boot.cat
andTRANS.TBL
are not needed and can thus be removed or deleted.Rename the configuration file:
cd /mnt/; mv isolinux.cfg syslinux.cfg
Copy the installer's initial RAM disk
/RedHat/images/pxeboot/initrd.img
from the first installation CD/DVD onto the flash drive, i.e. to/mnt
.Optional step: To configure any boot settings, edit the
syslinux.cfg
on the USB flash drive. For example to configure the installation to use a kickstart file shared over NFS, specify the following:linux ks=nfs:://ks.cfg
Unmount the flash drive:
umount /dev/sdb1
Make the USB flash drive bootable. The flash drive must be unmounted for this to work properly.
syslinux /dev/sdb1
Mount the flash drive again:
mount /dev/sdb1 /mnt
Install GRUB on the USB flash drive:
grub-install --root-directory=/mnt /dev/sdb
Verify that the USB flash drive has a
/boot/grub
directory. If it does not, create the directory manually.cd /mnt
mkdir -p boot/grubCreate the
grub.conf
file. Below is a samplegrub.conf
:default=0 timeout=5 root (hd1,0) title Red Hat Enterprise Linux installer
kernel /vmlinuz
initrd /initrd.imgCopy or confirm the created
grub.conf
file is on the /boot/grub/
directory of the USB flash drive.Unmount the flash drive:
umount /dev/sdb1
At this point, the USB disk should be bootable.
- Attach the USB disk to the system you wish to install Red Hat Enterprise Linux on.
- Boot from the USB disk. Refer to the hardware vendor's BIOS documentation for details on changing the order in which devices are checked for booting from.
- Once you are booted in the Red Hat Enterprise Linux installer, continue with your network installation of choice.