个人工具

UbuntuHelp:UbuntuLTSP/LTSPBootingClientsWithoutPxe

来自Ubuntu中文

跳转至: 导航, 搜索
This page is specific to Ubuntu versions (?)

If you find this information applicable to additional versions/releases, please edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.


Step 1

First identify what network interface card you have in your system. This can easily be done by booting an Ubuntu live cd on the client and running in a terminal. (low memory machines will need to either open the case and read the chip details on the nic, or try to pause the boot display (use the pause key) and read what the pci device ids are for your network card)

lspci -nn | grep Ethernet

I get the following output from various system I have:

(amd64)bob@bob-desktop:~$ lspci  -nn | grep Ethernet
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 01)
ubuntu@ubuntu:~$ lspci  -nn | grep Ethernet
00:09.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
00:0b.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)

Your output will look similar. Alternatively, we can boot a linux floppy disk and check what nic is in the client machine. You will need to have access to a linux machine, and a floppy disk. If you choose to do this then: Download tomsrtbt at http://www.toms.net/rb/download.html (choose the .tar.gz file)

open an terminal and extract the downloaded .tar.gz archive with:
tar xvzf thefile.tar.gz
cd to the tomsrtbt-<version> directory, have a good blank floppy and do:
sudo ./install.s

Boot the client with the fresh tomsrtbt floppy. login as: root and password: xxxx then type dmesg | grep eth0 and note down the the network interface card details like: "RTL-8139" "3com 3C905b". I get the following output from one of my systems

jamie@pinky:~$ dmesg | grep eth0
[   92.150912] eth0: RealTek RTL8139 at 0xda00, 00:05:1c:0a:33:3e, IRQ 5
[   92.150935] eth0:  Identified 8139 chip type 'RTL-8139C'
[  194.558188] eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  205.533001] eth0: no IPv6 routers present

Your output will look similar.

Step 2

  • .zdsk and .ziso methods

Now we need to go to [1] to generate a boot image for the network interface. You will need to select the correct network driver. A * means any value there will work. Some common cards and their drivers are: Realtek 8139 = rtl8139:* Intel EtherExpress100 = eepro100:* Now select a ROM format. There are several choices we can make here: For a boot floppy disk image select .zdsk, (To make a boot floppy) For a boot cdrom image select .ziso, (To make a boot cd) For a boot hard disk partition image select .zhd, (To boot direct from the hard disk - this will totally erase the disk) For a boot LILO/GRUB/SYSLINUX image select .zlilo, (To add to the grub bootlaoder menu) Next select configure. Make sure PXELOADER_KEEP_ALL is ticked, and it is a good idea to also tick POWERSAVE, ALLMULTI, MULTICAST_LEVEL1, MULTICAST_LEVEL2, and DOWNLOAD_PROTO_TFTM When done, click get rom. The .ziso file is a standard iso image that you can burn to disk. The .zdsk file is a raw floppy image - on Linux you can copy it to a floppy like this:

dd if=etherboot.zdsk of=/dev/fd0

while on windows you can use rawwrite, or winimage to write it to a floppy disk. If you chose .zdsk or .ziso congratulations, you are finished. Insert your boot floppy or cd, and boot your clients.

Final Steps

  • .zhd method

If you havn't already done so, download tomsrtbt at http://www.toms.net/rb/download.html (choose the .tar.gz file)

open an terminal and extract the downloaded .tar.gz archive with:
tar xvzf thefile.tar.gz
cd to the tomsrtbt-<version> directory, have a good blank floppy and do:
sudo ./install.s

Boot the client with the fresh tomsrtbt floppy. login as: root and password: xxxx type: dmesg | grep hd and note the hd letter (usually hda on older pcs) A test system that gave the following output

martin@mubuntu:~$ dmesg | grep hd
[4294670.861000]     ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb: DMA
[4294670.861000]     ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd: DMA
[4294671.125000] hda: ST380021A, ATA DISK drive
[4294672.409000] hdc: HL-DT-ST DVDRAM GSA-4163B, ATAPI CD/DVD-ROM drive
[4294674.766000] hda: max request size: 128KiB
[4294674.767000] hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16 /63, UDMA(100)
[4294674.767000] hda: cache flushes not supported
[4294674.845000] hdc: ATAPI 40X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache

Your output will look similar. In the above example hda: ST380021A, ATA DISK drive is the hard disk. Now run

fdisk /dev/hda

You will see output similar to this:

Platte /dev/hda: 80.0 GByte, 80026361856 Byte
255 Köpfe, 63 Sektoren/Spuren, 9729 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/hda1               2        2407    19326195    f  W95 Erw. (LBA)
/dev/hda2   *        2408        4445    16370231+   7  HPFS/NTFS
/dev/hda3            4446        9541    40933620   83  Linux
/dev/hda4            9542        9729     1510110   82  Linux Swap / Solaris
/dev/hda5               2         915     7341673+   7  HPFS/NTFS
/dev/hda6             916        1246     2658726    b  W95 FAT32
/dev/hda7            1247        2407     9325701    b  W95 FAT32

Delete all existing partitions with the d key, then make a new one with the n key. (A small partition is fine). Activate the partition you created with the a key, then press w to write it to disk and exit. Back on your linux machine, copy the downloaded .zhd file (eg eb-5.4.1-3c90x.zhd for an 3com 3C905) on a new dos format floppy. Now insert that floppy into the client machine, and mount it with the following command:

mount -t vfat /dev/fd0 /mnt

Now copy the network interface card boot file to the client with the following:

dd if=/mnt/eb-5.4.1-3c90x.zhd of=/dev/hda1

Now to finish up, type reboot and remove the floppy. Your client will now boot from the hard disk. Congratulations, you are finished.