14
Diskless Remote Boot in Linux (DRBL) [Copyri ght ] [Auth ors ] [Preamble] [Requirements] [Install] [Download] [Upgrade] [Uninstall] [Bug report] [Acknowledgements] [Misc]  [Reference] 1. Copyright This copyright is preserved for the author and pu blisher. Anyone is permitted to copy and distribute verbatim copies of this document under the terms of the GNU FDL Free Documentation License. If you do make any distribution and modification on the documents, please add your name in the author list. We recommend this document principally for works whose purpose is instruction or reference. The author and publisher will not take any responsibility if there is any damage caused by this document. 2. Authors Steven Shiau (steven _at_ nchc org tw) Blake, Kuo-Lien Huang (klhaung _at_ gmail com) H. T. Wang (c00wht00 _at_ nchc org tw) Ceasar Sun (ceasar _at_ nchc org tw) Jazz Wang (jazz _at_ nchc org tw) Thomas Tsai (thomas _at_ nchc org tw) 3. Preamble This document describes the steps to setup the "DRBL" environment in: Debian Woody(3.0), Sarge(3.1), Etch(4.0), Lenny (5.0), Ubuntu Breezy(5.10), Dapper(6.06), Edgy(6.10), Feisty(7.04), Gutsy (7.10), Hardy(8.04), Intrepid(8.10), Jaunty(9.04), Karmic (9.10), Lucid (10.04), Maverick (10.10). B2D, RedHat Linux 8.0, 9, Fedora Core 1, 2, 3, 4, 5, 6, Fedora 7, 8, 9. 10, 11, 12 Mandrake 9.2, 10.0, 10.1, Mandriva LE2005 (10.2), 2006, 2007.0, 2007.1, 2008.0, 2009.0. 2009.1, 2010.0. CentOS 4, CentOS 5, Scientific Linux 4.x/5.x, RHEL 4.x/5.x (Use drblsrv-offline ) SuSE 9.3, SuSE 10.0, OpenSuSE 10.0, 10.1, 10.2. 10.3, 11.0, 11.1, 11.2. Sorry but it will NOT work in other distributions or versions.

Diskless Remote Boot in Linux

Embed Size (px)

Citation preview

Page 1: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 1/14

Diskless Remote Boot in Linux (DRBL)

[Copyright ] [Authors ] [Preamble] [Requirements] [Install] [Download] [Upgrade] [Uninstall] [Bug report][Acknowledgements] [Misc] [Reference] 

1. Copyright

This copyright is preserved for the author and publisher. Anyone is permitted to copy and distributeverbatim copies of this document under the terms of the GNU FDL Free Documentation License. If you do make any distribution and modification on the documents, please add your name in the author list.

We recommend this document principally for works whose purpose is instruction or reference. The

author and publisher will not take any responsibility if there is any damage caused by this document.

2. Authors

Steven Shiau (steven _at_ nchc org tw)Blake, Kuo-Lien Huang (klhaung _at_ gmail com)H. T. Wang (c00wht00 _at_ nchc org tw)Ceasar Sun (ceasar _at_ nchc org tw)Jazz Wang (jazz _at_ nchc org tw)Thomas Tsai (thomas _at_ nchc org tw)

3. Preamble

This document describes the steps to setup the "DRBL" environment in:

• Debian Woody(3.0), Sarge(3.1), Etch(4.0), Lenny (5.0),• Ubuntu Breezy(5.10), Dapper(6.06), Edgy(6.10), Feisty(7.04), Gutsy (7.10),Hardy(8.04), Intrepid(8.10), Jaunty(9.04), Karmic (9.10), Lucid (10.04), Maverick (10.10).• B2D,• RedHat Linux 8.0, 9,

• Fedora Core 1, 2, 3, 4, 5, 6, Fedora 7, 8, 9. 10, 11, 12• Mandrake 9.2, 10.0, 10.1, Mandriva LE2005 (10.2), 2006, 2007.0, 2007.1,2008.0, 2009.0. 2009.1, 2010.0.• CentOS 4, CentOS 5,• Scientific Linux 4.x/5.x, RHEL 4.x/5.x (Use drblsrv-offline)• SuSE 9.3, SuSE 10.0, OpenSuSE 10.0, 10.1, 10.2. 10.3, 11.0, 11.1, 11.2.Sorry but it will NOT work in other distributions or versions.

Page 2: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 2/14

4. Basic hardware requirements

• Check here for more details.

5. Setup the Diskless Remote boot in Linux (DRBL)Environment

I. Setup the Linux Server

• Install the GNU/Linux distribution and configure all network cards. In the following, we use"eth0" to connect the Internet, while eth1, eth2, eth3 are for DRBL environment(set thenetwork card's IP addresses to be private IPs (i.e. 192.168.x.x, the following example, we seteth1:192.168.101.254, eth2:192.168.102.254, eth3:192.168.103.254...); Please remember this principle, private IP (e.g. 192.168.x.x) is used for DRBL environment. If on your GNU/Linux,the NetworkManager service is startup automatically, it is recommended to turn off it or remove it. For Fedora, you can: chkconfig --del NetworkManager, chkconfig --del NetworkManagerDispatcher, and turn on network service by "chkconfig network on". For Debian or Ubuntu, it is recommended to remove it completely by: apt-get remove network-manager. Your firewall rules will be overwritten when setting up the DRBL server. After completing the DRBL setup and successfully testing it, you can config your firewall usingyour own rules. Remember, in the DRBL environment, NFS, NIS, tftp, and dhcp services arerequired, so dot NOT block them in your firwall rules. 

• If you want to get better performance, you can do some tuning as following. This is just anoption, not a must:

o If you are using Gnome as the desktop environment, for example, Fedora Core 6, you

can delete some language files in /etc/gconf/gconf.xml.defaults/ if you are sure theyare useless to you (For Ubuntu 6.10, those files are in directory/var/lib/gconf/defaults/). This will save a lot of disk space in the server (For example,if you just keep %gconf-tree.xml and %gconf-tree-zh_TW.xml, then 40 MB space will be released. Say, if you have 40 clients, then you will save 1.6 GB disk space in thisserver), and the loading of NFS server will be lower. In Debian or Ubuntu, you canalso install localepurge, then run "localepurge" to remove those unnecessary localefiles.

o If reiserfs filesystem is available in your GNU/Linux distribution, it is recommended

for its better performance compared with ext2/ext3. You can refer to this benchmark .• After Linux is installed on the server, make sure the hard disk drive DMA mode is on. It will

accelerate the access speed of the server's hard disk drive. Use "hdparm /dev/hdx" to check tosee if the DMA mode is on or off. If it is off, run "hdparm -d1 -c3 -k1 /dev/hdx" to turn it on.Replace the /dev/hdx to the /dev/hda if your IDE HD for this Linux system is in "PrimaryIDE."

Page 3: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 3/14

•  Note:Regarding Selinux in Fedora Core 3 or later version - Unless you are an administrator who thoroughly understands SELinux, we recommend you turn SELinux off, otherwise youwill probably encounter some unusual problems such as "Permission denied." To disableSELinux, set SELINUX=disabled in /etc/sysconfig/selinux or /etc/selinux/config and thenreboot your machine.

• If you have only one NIC, you may set two IP addresses, i.e. one in eth0 and another alias IPaddress in eth0:1. eth0 will be used for the DRBL server to connect to the public Internetwhile eth0:1 will be used for the DRBL environment. Here's how to setup eth0:1 in RedHat-like Linux. NOTE! This alias IP address will cause some problems if you do not provide staticIP address to DRBL client via its MAC address. In this example, the DRBL server will leaseIP address to any machine connected to eth0 if no MAC address is set in the DHCP service.Hence you'd better not to use alias IP if you do not know exactly what you are doing! Two or more NICs are recommended!

II. Setup the clients

Note: This process is done in the server but its purpose is for use by the clients. NOTE! You 

have to finish the step 1  before doing the step 2 here.

•Before downloading or installing, read the "Change log" for different branches: stable,testing, unstable. Also refer to "Known issues" for different branches. This is especiallyimportant when your client machine has an annoying SIS network interface card:stable,

testing, unstable. Besides, please also refer to "Release Notes" for different branches:stable, testing, unstable.•<Step 2a> According different distribution, we have different method to get and install program "drbl"

o RedHat/Fedora Core/Mandriva (Mandrake)/CentOS

Install the DRBL key (ID: 1024D/D7E8DF3A, Key fingerprint = F532A131 65AF 2168 1634 DB1B 4000 9511 D7E8 DF3A) to your rpmsystem. There are two ways to do this. First one: "rm -f GPG-KEY-DRBL; wget http://drbl.org/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL" or "rm -f GPG-KEY-DRBL; wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL". Second one: Download

the key from key server. The KeyID for DRBL is D7E8DF3A, you cando it by "gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A", thenrun "gpg -a --export D7E8DF3A > GPG-KEY-DRBL; rpm --importGPG-KEY-DRBL" to add it to your rpm system.Download the DRBL RPM file (file name e.g. drbl-1.9.6-35.i386.rpm)Stable branch: sourceforge site or  NCHC siteTesting branch: NCHC siteUnstable branch: NCHC site

Page 4: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 4/14

If you do not login as a system administrator (root), execute thecommand "su - root", then enter root password to sign in at the rootExecute "rpm -Uvh drbl-XXX.i386.rpm" or "yum install drbl-XXX.i386.rpm" (If your GNU/Linux supports yum) to install packageDRBL, the "drbl-XXX.i386.rpm" is the program name you just

downloaded. If you just download the drbl rpm in the stable branch, thenexecute "rpm -Uvh drbl-current.i386.rpm" or "yum install drbl-current.i386.rpm". Note: A perl module is necessary for drbl rpm. Most of the distributionwill install package "perl-Digest-SHA1" by default, if rpm complains perl-Digest-SHA1 is necessary, install it manually. As an example, inFedora 8, you can install it by "rpm -Uvhhttp://opensource.nchc.org.tw/fedora/linux/releases/8/Fedora/i386/os/Packages/perl-Digest-SHA1-2.11-4.fc8.i386.rpm" or by "yum install perl-Digest-SHA1" if you have already configured your yum config.

o Debian or Ubuntu

If your GNU/Linux distribution supports secure apt (such as UbuntuGutsy or Debian Etch), you can add the DRBL key (ID:1024D/D7E8DF3A, Key fingerprint = F532 A131 65AF 2168 1634DB1B 4000 9511 D7E8 DF3A) to your apt-key as root privilege. Thereare two ways to do this. First one: "wget -q http://drbl.org/GPG-KEY-DRBL -O- | sudo apt-key add -". Second one: Download the key fromkey server. The KeyID for DRBL is D7E8DF3A, you can do it by "gpg--keyserver subkeys.pgp.net --recv-key D7E8DF3A", then run "gpg -a--export D7E8DF3A | apt-key add -" to add it to your secure apt.Edit /etc/apt/sources.list per the following: If your distribution is Debian Lenny (5.0):

----------deb http://ftp.us.debian.org/debian/ lenny main # (Or any Debian mirror site near you)deb http://drbl.sourceforge.net/drbl-core drbl stable----------If it's Ubuntu Maverick (10.10):----------deb http://archive.ubuntu.com/ubuntu maverick main restricted universemultiverse # (Or any Ubuntu mirror site near you)deb http://drbl.sourceforge.net/drbl-core drbl stable----------If it's Ubuntu Lucid (10.04):----------deb http://archive.ubuntu.com/ubuntu lucid main restricted universemultiverse # (Or any Ubuntu mirror site near you)deb http://drbl.sourceforge.net/drbl-core drbl stable----------Regarding the 1st line in the above, you can use other apt repository for Debian or Ubuntu. The 2nd line, however, is for DRBL-related

Page 5: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 5/14

Page 6: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 6/14

----------rpm http://drbl.sourceforge.net/drbl-core i386 drbl-stable drbl-testing----------If you want to use the unstable branch of DRBL, set the 2nd line

as:----------rpm http://drbl.sourceforge.net/drbl-core i386 drbl-stable drbl-testing drbl-unstable----------

Execute "apt-get update"Execute "apt --no-checksig install drbl" to install the DRBL program.

For OpenSuSE/SuSE 10.0 or later Download the DRBL RPM file (file name e.g. drbl-1.9.6-

35.i386.rpm)Stable branch: sourceforge site or  NCHC siteTesting branch: NCHC siteUnstable branch: NCHC siteExecute "rpm -Uvh drbl-XXX.i386.rpm" to install packageDRBL, the "drbl-XXX.i386.rpm" is the program name you justdownloaded, such as "drbl-1.5.5-12.i386.rpm".

o PS. There are two DRBL-core mirror sites: (1)

http://ftp.twaren.net/local-distfiles/drbl-core/ (2) http://free.nchc.org.tw/drbl-core

<Step 2b>o Scenario 1: If your network bandwidth to Internet is good, and your 

GNU/Linux distribution provides apt, urpmi or yum repository: Execute"/opt/drbl/sbin/drblsrv -i". Note: There is a space before the "-i". This is theexample execution. If you are uncertain, just press Enter to accept the defaultvalue.o Scenario 2: If you can not access Internet, the network bandwidth is

narrow, you do not want drblsrv to install the required packages for you, or your GNU/Linux distribution does NOT provides apt, urpmi or yum repository (suchas RHEL): You can install the required packages by yourself (such as by apt-get, up2date, yum, yast or urpmi), then use "/opt/drbl/sbin/drblsrv-offline" to

finish this step <2b>. (drblsrv-offline is available from drbl version 1.7.6-22).Those required packages can be listed by "/opt/drbl/sbin/drblsrv-offline -r".After you install those required packages, if you are sure the kernel in the server meets the client's CPU arch, you can run "/opt/drbl/sbin/drblsrv-offline -s`uname -r`", or you can download appropriate kernel rpm/deb file, which meetsthe client's CPU arch. Then run "/opt/drbl/sbin/drblsrv-offline -k $KERNEL_PKG" (Replace $KERNEL_PKG with the downloaded kernel rpmor deb file name with path). If you are uncertain, just press Enter to accept the

Page 7: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 7/14

default value when you run drblsrv-offline. (PS 1. More options for drblsrv-offline can be shown by "/opt/drbl/sbin/drblsrv-offline --help". PS 2. To installDRBL in Scientific Linux 5.0, you can refer to this FAQ)

•For the impatient: If you are impatient, your network bandwidth to Internet is good,

and your GNU/Linux distribution provides apt, urpmi or yum repository, you can run"/opt/drbl/sbin/drbl4imp" to finish step "2b" and "3a". "drbl4imp" uses the defaultvalues to setup the DRBL server. THIS IS VERY IMPORTANT! The default valuemight not fit your environment! It uses the "range" option in dhcp server so your DRBLclient will not always get the same IP address. It also assumes each of the server'snetwork card (except eth0) provides DRBL services to 12 clients. If you want the setupto fit your environment, please run steps "2b" and "3a" step-by-step.

III. Set up the file system for the client in the Server

• Arrange your environment and make sure you know it.

• Taking NCHC's computer class room C as an example: There are 40 computers. In order toget DRBL to work more efficiently, we separated them to 4 subnets: 192.168.100.0,192.168.101.0, 192.168.102.0 and 192.168.103.0. There are four Ethernet cards in DRBLserver. One is for WAN and the others are for LAN. The IPs of DRBL environment (LAN)are 192.168.100.254, 192.168.101.254, 192.168.102.254 and 192.168.3.254. The servicesDHCP, TFTP, NFS, etc will run on eth0:1, eth1, eth2, and eth3.

NIC NIC IP Clients

+-----------------------------+

| DRBL SERVER |

| |

|+-- [eth0] public IP +- to WAN| (ex. 61.216.116.23) |

| |

|+-- [eth0:1] 192.168.100.254 +- to clients group 1 [ 10 clients, their IP

| | from 192.168.100.1 -

192.168.100.10]

|+-- [eth1] 192.168.101.254 +- to clients group 1 [ 10 clients, their IP

| | from 192.168.101.1 -

192.168.101.10]

|+-- [eth2] 192.168.102.254 +- to clients group 2 [ 10 clients, their IP

| | from 192.168.102.1 -

192.168.102.10]

|+-- [eth3] 192.168.103.254 +- to clients group 3 [ 10 clients, their IP

| | from 192.168.103.1 -

192.168.103.10]+-----------------------------+

• There are four modes available from DRBL version 1.6.3 or later: Full DRBL, FullClonezilla, DRBL SSI (Single System Image) and Clonezilla Box. The network bandwidthand disk space requirement are higher in the former two modes, but all the system setting will be saved to server's disk, and every client can have its own individual setting. On the other hand, the DRBL SSI uses single system image for all clients, and the necessary individual

Page 8: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 8/14

settings of clients are created run-time when they boot. This will reduce the required disk space in the server since only one image is necessary. However, the disadvantage is everyclient can NOT have its own individual system setting (Users' setting will be saved to server).In DRBL SSI mode, once there are extra client nodes want to join DRBL environment, all youhave to do is modify the dhcpd config file (dhcpd.conf), then use "/opt/drbl/sbin/dcs -> others

-> gen_3N_conf" to create or run "/opt/drbl/sbin/drbl-3n-conf generate", the necessary fileswill be created. In this mode, theoretically one network card in the server can provide 253clients. The fourth mode, Clonezilla box mode, is based on DRBL SSI mode, especially for clone system. If you want to use DRBL SSI mode, make sure your client has large memory(say > 512 MB), and all the hardware (especially the graphic card) in the clients are the same.Check this comparison table for these four modes.

•  Notes for network switch and NICs when using multiple NICs:

When you use multiple NICs to expand the bandwidth, we recommend you set the MACaddresses so that every node will get the same IP address all the time. (i.e. in the followingstep 3a, when you run "/opt/drbl/sbin/drblpush -i", it prompts "Do you want to fix the IPaddress of client connected to eth1 by giving MAC address ? [y/N]", choose "Y"). If you do NOT set MAC address (we will call it "range" from now), and you have only one 48-portnetwork switch (or many switches but connected to be one), and you use four NICs (or morethan two...) in DRBL server to expand the network bandwidth, a problem will occur (i.e. someclients will not lease IP from DHCP server) so it will not be able to boot.On the other hand, if your DRBL server uses four NICs to expand the network bandwidth(meaning that four NICs with four private subnets such as 192.168.100.x, 192.168,101,x,192.168.102.x, 192.168.103.x), and you have exactly four switches that are separated and not

connected to each other, then you can use range (i.e. you do not have to set the MAC addressof clients).Remember, if you use N NICs to expand network bandwidth in the DRBL server, if using the"range" method, then you must have N switches and they can NOT be connected to eachother.

• Before executing step <3a>, you can do some customized config:1. If you have some specific directories in this DRBL server to share, such as /work1,

then you can use text editor to open file /opt/drbl/conf/drbl.conf, edit thediskless_root_dir_ro_user_add="/work1"(If you want /work1 can only be read byclients, not writable), or diskless_root_dir_rw_user_add="/work1"(If you want /work1to be readable and writable by clients. (Warning!!! drbl.conf is VERY IMPORTANT, be careful when you edit it!!!)

2. If all the clients have their local harddisk, and the partition is formated (For example, /dev/hda1, its filesystem is ext3), then if you want the client to mount/dev/hda1 as /localwork when booting. Therefore you can edit /opt/drbl/conf/client-append-fstab, and its syntax is just like /etc/fstab. In this example, you can make/opt/drbl/conf/client-append-fstab like this:/dev/hda1 /localwork ext3 defaults 0 0

Page 9: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 9/14

(PS: You do not have to create the directory /tftpboot/node_root/localwork in DRBLserver manually, later drblpush will do that for you)

3. If you have extra services (such as apmd and bluetooth) to be on when client boots,you can edit /opt/drbl/conf/client-extra-service, let service_extra_added="apmd bluetooth".

4. If you want to overwrite some or all automatically created hostnames later by"drblpush -i", you can edit "/opt/drbl/conf/client-ip-hostname" now. Check that file for the format. If some machines are not assigned, drblpush will use those automaticallycreated hostname.

• <Step 3a> run "/opt/drbl/sbin/drblpush -i". The software will auto-detect the system to figureout the argument. If the argument is not set up in the system, the system will request you to dothat. Example: see here.

•  Note!!! If newer packages are installed in the server after this step, you have to run"/opt/drbl/sbin/drblpush -i" or "/opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf" (This willloaded the previously saved settings) again so that newer packages will be deployed to clients.

•  Note!!! It is not recommended to turn on the system update automatically. Since If newer  packages are installed in the server automatically, without running "/opt/drbl/sbin/drblpush-i", the programs for client might not be compatible with that newer in server. If you want toturn on system update automatically, remember to follow the above step to update the files inclient automatically.

IV. Setting up clients to use the DRBL environment

o There are four different scenarios where you can make clients boot from network: 1)

the client has PXE network interface card, 2) the client has a floppy drive, 3) the clienthas a CDROM, 4) the client has a local hard drive. We use etherboot 5.4.3 as anexample for cases 2-4. NOTE! With DRBL version 1.3.9 or later, if you want to useEtherboot, Etherboot bersion 5.4.0 or newer is required.

o Case 1: The client has a PXE network interface card

Set the client's BIOS to boot from "LAN" or "network".

Take one of the Asus motherboards for example, in this manual file.1. Page 4-24, you will see OnBoard LAN, there is a subfuncton "OnBoard

LAN BOOT ROM", normally it's disabled, you have to enable it.2. Usually you have to reboot it now, make the function re-read by BIOS.3. After rebooting, enter BIOS setting again, this time, in Page 4-35, you

have to make LAN boot as the 1st boot device. That's it. Let client boot and enjoy DRBL!!!

Page 10: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 10/14

o Case 2: The client has a floppy drive.

<Step 4a> Get the image file first. Use the "universal" image /opt/drbl-etherboot/etherboot-net.zdsk in the

DRBL server. It supports most modern network cards. (Ref: here. If this universal image fails, try using specific image for client's network 

card, the image file is located in /opt/drbl-etherboot/. As an example, if you have a Realtek 8139 network card, use the image /opt/drbl-etherboot/rtl8139.zdsk.

<Step 4b> Insert the floppy to floppy drive in DRBL server  Run "cat /opt/drbl-etherboot/etherboot-net.zdsk > /dev/fd0" in the

DRBL server. If you want to create the image floppy in M$ windows, download

rawrite.exe or "RawWrite for windows"(http://uranus.it.swin.edu.au/~jn/linux/) to write the ROM image tofloppy.

<Step 4c> Put this floppy to client's floppy drive, make sure the floppy is the

first boot device in the client's BIOS. If everything was done correctly, after afew minutes, the clients will be waiting for you to login, All the accounts aresame as the ones in server.

o Case 3: Client has a CDROM (Reference):

1) The "universal" image is located in /opt/drbl-etherboot/etherboot-net.iso2) Burn the ISO to a CD:cdrecord -v speed=12 fs=16m dev=0,0,0 -data etherboot-net.iso(If necessary, modify "dev=0,0,0", run "cdrecord -scanbus" to get your CD burner.)3) Ensure the PC is set to boot from CDROM, place the burned CD in the

drive, and reboot. Done!

o Case 4: client has a local hard drive

If the client has a local hard drive which is installed with the bootloader grub inGNU/Linux:1. Copy the file "/opt/drbl-etherboot/etherboot-net.zlilo" to client's directory"/boot/" in its harddisk 2. Append one block in the client's /boot/grub/menu.lst or /boot/grub/grub.conf (depends on your distribution) like this:---------------title Etherboot-PXE

kernel /boot/etherboot-net.zlilo---------------3. Change the default boot to the corresponding one above, like "default 1", inmenu.lst or grub.conf in client.

If the client is running M$ Windows XP/2K on its hard disk:You can install WINGRUB. Put the file etherboot-net.zlilo in C:\, and the files:C:\boot.ini and C:\GRUB\MENU.LST look like: (This method is only suitablefor installing wingrub in BOOT.INI (Tool -> Install grub -> Boot from

Page 11: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 11/14

BOOT.INI). If necessary, you can use other modes provides by WinGRUB): boot.ini:---------------[boot loader]timeout=30

default=C:\GRLDR [operating systems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XPProfessional" /fastdetectC:\GRLDR="Etherboot"---------------MENU.LST:---------------timeout 7

title etherboot

root (hd0,0)kernel /etherboot-net.zlilo

title Windows at (hd0,0)root (hd0,0)chainloader +1---------------

If the client has local hard drive which is installed with M$ Windows 9x:1. Copy the file "/opt/drbl-etherboot/etherboot-net.com" to client's hard disk 2. Rename it so that it is shorter in client, for example, "eb-net.com".3. Write a multi-boot config file in the client (e.g. add one paragraph to run"eb-net.com").

V. Additional usage for the DRBL environment

o Some useful scripts are located in the directories /opt/drbl/sbin and /opt/drbl/bin in the

server, Take a look at them. Usage will appear by running them without parameters.o The most useful command is /opt/drbl/sbin/dcs which sets the client's default boot

mode. Here's a screenshot of what it looks like:

Page 12: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 12/14

o Another useful command is drbl-SL.sh, it can load Small GNU/Linux (DSL,

PuppyLinux, INSERT, PLD, Debian Live, GeeXbox, PUD-Linux...) into DRBLenvironment. By doing this, the client can use that Small GNU/Linu after booting viaPXE. The client still can work even if the network cable is unplugged. It's fire andforget. For more info, check here.

6. Upgrade

If newer DRBL packages are available, and you want to upgrade, you can do it by:

1. Backup the important files, such as those files in /etc/drbl and /etc/dhcpd.conf or /etc/dhcp3/dhcpd.conf, etc...

2. Run "/opt/drbl/sbin/drblsrv -u" to uninstall all the DRBL-related packages

3. Follow the step II, download the drbl main program, re-install and configure it again(i.e. /opt/drbl/sbin/drblsrv -i and /opt/drbl/sbin/drblpush -i)

Sometimes if the versions are close, maybe you can try to upgrade the packages without re-install and re-configure it (i.e. just use apt-get update; apt-get upgrade or yum upgrade).However, this is not recommended, since some of the files will only be deployed to clientsafter drblsrv and drblpush are run.

Page 13: Diskless Remote Boot in Linux

8/8/2019 Diskless Remote Boot in Linux

http://slidepdf.com/reader/full/diskless-remote-boot-in-linux 13/14

7. Uninstall

To uninstall DRBL, run: "/opt/drbl/sbin/drblsrv -u", then follow it to uninstall DRBL andrelated packages.

8. Bug report

If you find any bug or any problem, please follow this to report:

o Excute "/opt/drbl/bin/drbl-bug-report", then you will get a report (refer to this

example). Please follow the the format to fill your description.o Mail that to DRBL user mailing list drbl-user _at_ lists sourceforge net (You have to

subscribe to that mailing list), or post that in the DRBL forum. 

Donation

If you use DRBL and it does the job for you, please donate to help us to make DRBL better.

Acknowledgements

The authors would like to thank NCHC's Director Joe Juang for his support in the growth of Free and Open Source Software. Special thanks also to Dr. San Ko. The authors also wouldlike to thank Prof. Mao, Mr. Yu and the Ministry of Education, Taiwan for its support of 

multi-disciplinary education.We would like to thank 邓江华 for donating the domain name "drbl.org".

Misc.

If you think DRBL is the greatest thing since sliced bread, email NCHC (webmaster _at_ nchcorg tw), and the developers to let us know how you use it. If you find any bug, please  let usknow.

References

o http;//drbl.nchc.org.tw

o http://drbl.sf.net

o http://free.nchc.org.tw

o http://www.study-area.org/

o http://etherboot.sourceforge.org/

o http://www.rom-o-matic.net/

o http://www.ltsp.org/