Möchten wir CentOS auf einem Rechner installieren, der kein CD- oder DVD-Laufwerk besitzt, so können wir die Installation auch von einem USB-Stick aus anstossen.
Für die weitere Installation benötigen wir das Paket syslinux. Wie installieren es - wenn noch nicht bereits geschehen - via yum.
# yum install syslinux
Was uns syslinux alles mitbringt offenbart uns ein rpm -iql:
# rpm -qil syslinux Name : syslinux Relocations: (not relocatable) Version : 3.73 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el5.rf Build Date: Mo 26 Jan 2009 23:59:24 CET Install Date: Fr 30 Jan 2009 18:58:39 CET Build Host: lisse.hasselt.wieers.com Group : Applications/System Source RPM: syslinux-3.73-1.el5.rf.src.rpm Size : 2615123 License: GPL Signature : DSA/SHA1, Di 27 Jan 2009 00:27:58 CET, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://syslinux.zytor.com/ Summary : Einfacher Kernel-loader, der von einem FAT Dateisystem startet Description : SYSLINUX is a suite of bootloaders, currently supporting DOS FAT filesystems, Linux ext2/ext3 filesystems (EXTLINUX), PXE network boots (PXELINUX), or ISO 9660 CD-ROMs (ISOLINUX). It also includes a tool, MEMDISK, which loads legacy operating systems from these media.
Als erstes bereiten wir unseren USB-Stick vor. Damit wir auch die richtige Laufwerk ändern, schauen wir erst einmal im syslog nach, als welches Device der Stick erkannt wird.
# tail -f /var/log/messages
Oct 1 10:25:33 host kernel: usb 1-1: new full speed USB device using uhci_hcd and address 2 Oct 1 10:25:33 host kernel: usb 1-1: configuration #1 chosen from 1 choice Oct 1 10:25:34 host kernel: Initializing USB Mass Storage driver... Oct 1 10:25:34 host kernel: scsi2 : SCSI emulation for USB Mass Storage devices Oct 1 10:25:34 host kernel: usbcore: registered new driver usb-storage Oct 1 10:25:34 host kernel: USB Mass Storage support registered. Oct 1 10:25:39 host kernel: Vendor: 2.0 Model: USB DISK Rev: 1100 Oct 1 10:25:39 host kernel: Type: Direct-Access ANSI SCSI revision: 00 Oct 1 10:25:39 host kernel: SCSI device sdb: 1957888 512-byte hdwr sectors (1002 MB) Oct 1 10:25:39 host kernel: sdb: Write Protect is off Oct 1 10:25:39 host kernel: sdb: assuming drive cache: write through Oct 1 10:25:39 host kernel: SCSI device sdb: 1957888 512-byte hdwr sectors (1002 MB) Oct 1 10:25:39 host kernel: sdb: Write Protect is off Oct 1 10:25:39 host kernel: sdb: assuming drive cache: write through Oct 1 10:25:39 host kernel: sdb: sdb1 Oct 1 10:25:39 host kernel: sd 2:0:0:0: Attached scsi removable disk sdb Oct 1 10:25:39 host kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0 Oct 1 10:25:40 host hald: mounted /dev/sdb1 on behalf of uid 500
Zunächst partitionieren wir unseren Stick mit Hilfe von fdisk. Hier legen wir eine (möglichst) große DOS-Partition an. Die Partition wird dann auch noch mit dem Boot-Flag versehen.
# fdisk /dev/sdb
Als nächstes legen wir das Filesystem auf dem Stick an.
# mkdosfs /dev/sdb1
Als erstes kopieren wir nun den SYSLINUX-Bootloader auf den Stick.
# cat /usr/lib/syslinux/mbr.bin > /dev/sdb # syslinux /dev/sdb1
bzw.
# cat /usr/share/syslinux/mbr.bin > /dev/sdb # syslinux /dev/sdb1
Für die weitere Installations-/Kopierarbeit legen wir uns nun noch zwei Mountpoints an.
# mkdir /mnt/usb-disk # mkdir /mnt/isoboot-image
Nun binden wir unseren USB-Stick ins System ein.
# mount /dev/sdb1 /mnt/usb-disk
Das ISO-Image der ersten Installation-CD mounten wir nun über das Loopback-Device:
# mount CentOS-5.4-i386-bin-1of6.iso /mnt/isoboot-image -o loop
Jetzt können wir den Inhalt unserer ersten Installations-CD auf den Stick kopieren.
# cp /mnt/isoboot-image/isolinux/* /mnt/usb-disk # grep -v local /mnt/isoboot-image/isolinux/isolinux.cfg > /mnt/usb-disk/syslinux.cfg
Vor dem Entfernen des USB-Bootsticks hängen wir die zuvor angelegten Verzeichnisse aus dem Dateisystembaum wieder aus.
# umount /mnt/usb-disk # umount /mnt/isoboot-image
Mit Hilfe unseres präparierten Boot-Sticks können wir nun unseren CD/DVD-losen Rechner Booten und mit der FTP-HTTP-Installation weiter arbeiten. Am besten steckt man nach dem erfolgreichen Bootvorgang kurz vor dem Partitionieren der Platten den USB-Stick ab.