DRBL

Diskless Remote Boot in Linux

Setup DRBL server - II. Install the required packages on server

///Note///
  1. 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.
  2. From DRBL version 2.x, those related files are not in /opt/drbl/ anymore. All the files are in /usr/sbin/, /usr/bin, /etc/drbl/ or /usr/share/drbl/.
  • Before downloading or installing, read the Change log. Also refer to Known issues. Besides, please also refer to "Release Notes".
  • <Step 2a> According different distribution, we have different method to get and install program "drbl"
    • RedHat/Fedora Core/CentOS
      • Install the DRBL key (ID: 1024D/D7E8DF3A, Key fingerprint = F532 A131 65AF 2168 1634 DB1B 4000 9511 D7E8 DF3A) to your rpm system. 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 can do it by "gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A", then run "gpg -a --export D7E8DF3A > GPG-KEY-DRBL; rpm --import GPG-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 site
        Testing branch: NCHC site
        Unstable branch: NCHC site
      • If you do not login as a system administrator (root), execute the command "su - root", then enter root password to sign in at the root
      • Execute "rpm -Uvh drbl-XXX.i386.rpm" or "yum install drbl-XXX.i386.rpm" (If your GNU/Linux supports yum) to install package DRBL, the "drbl-XXX.i386.rpm" is the program name you just downloaded. If you just download the drbl rpm in the stable branch, then execute "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 distribution will install package "perl-Digest-SHA1" by default, if rpm complains perl-Digest-SHA1 is necessary, install it manually. As an example, in Fedora 8, you can install it by "rpm -Uvh http://free.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.
    • Debian or Ubuntu
      • If your GNU/Linux distribution supports secure apt (such as Ubuntu Gutsy or Debian Etch), you can add the DRBL key (ID: 1024D/D7E8DF3A, Key fingerprint = F532 A131 65AF 2168 1634 DB1B 4000 9511 D7E8 DF3A) to your apt-key as root privilege. There are 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 from key 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 Squeeze (6.0):
        ----------
        deb http://ftp.us.debian.org/debian/ squeeze main # (Or any Debian mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If it's Ubuntu Precise (12.04):
        ----------
        deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse # (Or any Ubuntu mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If it's Ubuntu Quantal (12.10):
        ----------
        deb http://archive.ubuntu.com/ubuntu quantal main restricted universe multiverse # (Or any Ubuntu mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If it's Ubuntu Raring (13.04):
        ----------
        deb http://archive.ubuntu.com/ubuntu raring main restricted universe multiverse # (Or any Ubuntu mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If it's Ubuntu Saucy (13.10):
        ----------
        deb http://archive.ubuntu.com/ubuntu saucy main restricted universe multiverse # (Or any Ubuntu mirror site near you)
        deb http://free.nchc.org.tw/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 programs, there are some mirror sites of DRBL-related programs available here.
        If you want to use the DRBL's testing branch, the 2nd line is:
      • ----------
        deb http://free.nchc.org.tw/drbl-core drbl testing
        ----------
        If you want to use the unstable branch of DRBL, set the 2nd line as:
        ----------
        deb http://free.nchc.org.tw/drbl-core drbl unstable
        ----------
      • Execute "apt-get update"
      • Execute "apt-get install drbl" to install drbl program.
    • SuSE
      • If you do not login as a system administrator (root), execute the command "su - root", then enter root password to sign in at the root.
      • Install the DRBL key (ID: 1024D/D7E8DF3A, Key fingerprint = F532 A131 65AF 2168 1634 DB1B 4000 9511 D7E8 DF3A) to your rpm system. 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 can do it by "gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A", then run "gpg -a --export D7E8DF3A > GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL" to add it to your rpm system.
      • For SuSE 9.3 (Since there is not built-in apt/yum in SuSE 9.3, you have to install it first.)
        • Download this program first: "http://linux01.gwdg.de/~scorot/install-apt4suse"
        • Execute "sh install-apt4suse" to install apt for SuSE
        • Edit /etc/apt/sources.list, the content should contain these lines at least:
        • -----------------------------------
          rpm ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt SuSE/9.3-i386 base
          rpm http://free.nchc.org.tw/drbl-core i386 drbl-stable
          -----------------------------------
        • You can assign other SuSE apt repository in the fist line above, but keep the 2nd line as.
          If you want to use the testing branch of DRBL, the 2nd line will be:
        • ----------
          rpm http://free.nchc.org.tw/drbl-core i386 drbl-stable drbl-testing
          ----------
          If you want to use the unstable branch of DRBL, set the 2nd line as:
          ----------
          rpm http://free.nchc.org.tw/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 site
          Testing branch: NCHC site
          Unstable branch: NCHC site
        • Execute "rpm -Uvh drbl-XXX.i386.rpm" to install package DRBL, the "drbl-XXX.i386.rpm" is the program name you just downloaded, such as "drbl-1.5.5-12.i386.rpm".
    • PS. There are two DRBL-core mirror sites: (1) http://ftp.twaren.net/local-distfiles/drbl-core/ (2) http://drbl.sourceforge.net/drbl-core
  • <Step 2b>
    • Scenario 1: If your network bandwidth to Internet is good, and your GNU/Linux distribution provides apt, urpmi or yum repository: Execute "drblsrv -i".  Note: There is a space before the "-i". This is the example execution. If you are uncertain, just press Enter to accept the default value.
    • 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 (such as RHEL): You can install the required packages by yourself (such as by apt-get, up2date, yum, yast or urpmi), then use "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 "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 "drblsrv-offline -s `uname -r`", or you can download appropriate kernel rpm/deb file, which meets the client's CPU arch. Then run "drblsrv-offline -k $KERNEL_PKG" (Replace $KERNEL_PKG with the downloaded kernel rpm or deb file name with path). If you are uncertain, just press Enter to accept the default value when you run drblsrv-offline. (PS 1. More options for drblsrv-offline can be shown by "drblsrv-offline --help". PS 2. To install DRBL 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 "drbl4imp" to finish step "2b" and "3a". "drbl4imp" uses the default values to setup the DRBL server. THIS IS VERY IMPORTANT! The default value might not fit your environment! It uses the "range" option in dhcp server so your DRBL client will not always get the same IP address. It also assumes each of the server's network card (except eth0) provides DRBL services to 12 clients. If you want the setup to fit your environment, please run steps "2b" and "3a" step-by-step.

Continue the next step - III. Set up the file system for the client in the Server