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"
    • Debian or Ubuntu
      • First you have to add the DRBL key (ID: 4096R/45599AFD, Key fingerprint = 54C0 821A 4871 5DAF D61B FCAF 6678 57D0 4559 9AFD) to your apt-key as root privilege. There are two ways to do this. First one: "sudo wget -O /etc/apt/trusted.gpg.d/drbl-gpg.asc https://drbl.org/GPG-KEY-DRBL". Second one: Download the key from key server. The KeyID for DRBL is 45599AFD, you can do it by "gpg --keyserver subkeys.pgp.net --recv-key 45599AFD", then run "gpg -a --export 45599AFD | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/drbl-gpg.asc" to add it to your secure apt.
      • Edit /etc/apt/sources.list per the following:
      • If your distribution is Debian Bullseye (11.x):
        ----------
        deb http://ftp.us.debian.org/debian/ bullseye main # (Or any Debian mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If your distribution is Debian Buster (10.x):
        ----------
        deb http://ftp.us.debian.org/debian/ buster main # (Or any Debian mirror site near you)
        deb http://free.nchc.org.tw/drbl-core drbl stable
        ----------
        If it's Ubuntu Jammy (22.04) (Snaps packages are not supported in DRBL client):
        ----------
        deb http://archive.ubuntu.com/ubuntu jammy 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 Focal (20.04):
        ----------
        deb http://archive.ubuntu.com/ubuntu focal 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.
    • RedHat/CentOS
      • Install the DRBL key (ID: 4096R/45599AFD, Key fingerprint = 54C0 821A 4871 5DAF D61B FCAF 6678 57D0 4559 9AFD) 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 45599AFD, you can do it by "gpg --keyserver subkeys.pgp.net --recv-key 45599AFD", then run "gpg -a --export 45599AFD > 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-4.5.16-drbl1.noarch.rpm)
        Stable branch: 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 "yum install drbl-XXX.noarch.rpm" to install package DRBL, the "drbl-XXX.noarch.rpm" is the program name you just downloaded.
    • 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