# Updating a ~10 year old Gentoo tutorial

## The_Pope

Hello,

The tutorial in question is this one.

But first, there's this bit to be accomplished.

The packages listed there all (still) exist, thankfully. And they install just fine.

Then, I get to the net-dns/dnsmasq bit. I'm not sure if I wrote the /etc/whatever.dnsmasq.conf file properly. Then, they say that in /etc/resolv.conf I should have "search cluster.local" even though earlier it was clear that having a domain is optional.

Then, it says dhcpcd must not overwrite resolv.conf when it gets the IP address and so the "-R" option must be forwarded to it in /etc/conf.d/net...

...which doesn't work. When booting, dhcpcd reports that's an invalid option and doesn't get an IP.

Then, at sys-cluster/c3 the tutorial provides an /etc/c3.conf file which I'm not sure I did correctly. I don't want to have a domain and the hostnames are P3cluster_master, P3cluster_node1 and so on. I'm also trying to make it not boot from the network, as the network cards can't netboot and they're not recognized by that Etherboot software. The whatever.dnsmasq.conf file is named Pentium3.dnsmasq.conf but I'm definitely not sure I have it right:

```

#The group name,address range and lease time:

dhcp-range=Pentium3,192.168.96.20,192.168.96.50,12h

# The GROUP_NAME's,option 3:default Gateway (if you really need this, nodes shouldn't require routed access):

dhcp-option=Pentium3,3,192.168.96.20

# The GROUP_NAME's, option 42:time server address:

dhcp-option=Pentium3,42,time.nist.gov

# This is required for PXE booting

#dhcp-boot=net:Pentium3,/pxelinux.0,boothost,192.168.1.2

# As can be seen in the dnsmasq.conf, this option is not guaranteed to work (DN search order)

dhcp-option=Pentium3,119,athome

# Now for the host listing, format is:

# dhcp-host=MACADDRESS,net:GROUP_NAME,NODE_NAME,IP_ADDRESS

dhcp-host=00:00:00:00:00:00,net:Pentium3,P3cluster_node01,192.168.1.51

dhcp-host=00:00:00:00:00:00,net:Pentium3,P3cluster_node02,192.168.1.52

dhcp-host=00:00:00:00:00:00,net:Pentium3,P3cluster_node03,192.168.1.53

```

NeddySeagoon and whoever else knows what this is about, please advise.

----------

## NeddySeagoon

The_Pope,

The important thing with network booting is that you don't change the IP address of the client.

Its needed very early in the boot process to mount the root filesystem and if it gets changed, the root filesystem goes away.

Either statically assigned IP addresses work or dynamically assigned IP addresses bound to the MAC address work.

The latter appears to be static.

First make the system boot normally. Then you know you have a working setup.

Now add PXE booting (etherboot), root over NFS and make it boot the same binary install.

That limits the issues just to the bits you changed.

There are intermediate steps to get going too.  Boot normally but have root on NFS.

Swap over NFS is possible too but it will be a lot faster on a local drive, if you have swap.  

Once you have one diskless node going, the hard bit is behind you. 

Build on what you know works, break the problems into lots of smaller problems and solve the small problems.

Heres a segment of my  /etc/dhcp/dhcpd.conf

```

# PXE hosts share the same subnet as green

# subnet 192.168.100.0 netmask 255.255.255.0 {

# Provide PXE clients with appropriate information

class "pxeclient" {

        match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";

        vendor-option-space PXE;

        # At least one of the vendor-specific PXE options must be set in

        # order for the client boot ROMs to realize that we are a PXE-compliant

        # server.  We set the MCAST IP address to 0.0.0.0 to tell the boot ROM

        # that we can't provide multicast TFTP.

        option PXE.mtftp-ip 0.0.0.0;

        # This is the name of the file the boot ROMs should download.

    filename "pxelinux.0";

}

host mediaplayer {

        # the setup for our diskless system

        hardware ethernet f4:6d:04:6f:c8:0e;

        fixed-address 192.168.100.60;

#       filename

        server-name mediaserver;

        option subnet-mask 255.255.255.0;

        option broadcast-address 192.168.100.255;

        option routers 192.168.100.253;

}
```

----------

## The_Pope

Right, I'd rather have the nodes not netbooted - the network cards I have don't support it and they are not supported by Etherboot or whatever the name was - Realtek RTL8169 chips, I think. Plus, I understand netbooting was only faster in the past, when there were no SSDs. All the nodes have SLC SSDs and really, they boot and generally work quite fast. I don't see the need for netbooting.

So that dhcp -R option was only for netbooting? That's all right then. I have two nodes normally installed, the master node even has X, with Xfce 4. I wouldn't mind setting predefined, static addresses and be done with it, especially since I don't want netbooting. It's not really the Gentoo way to have a canned kernel for all the nodes, unless you have identical nodes.

Moving on with the tutorial, the next question I found is if portage still needs or recognizes these make.conf settings:

```
PORTAGE_NICENESS=-1

AUTOCLEAN="yes"

PORTAGE_TMPFS="/dev/shm"

FEATURES="buildpkg fixpackages sandbox ccache"

CCACHE_SIZE="2G"

CLEAN_DELAY=1

LINGUAS="fr en"
```

I installed Gentoo according to the tutorial. I have a separate tutorial from a very old Gentoo user, on how to install Xfce4. Not rocket science, he just saved a list of packages to emerge and in which order.

Anyway, next up I have the c3.conf, which if is also used for nodes with IPs assigned via DHCP, then I don't need it, either.

Next up is the Apache server config and then /etc/gmond.conf - in both cases, the hostname stuff is my problem. I only want the cluster to be named P3cluster, each node has a hostname and that's it. It won't have a sub-domain on an existing domain or whatever else like that. In the Apache config he had ganglia.livia.etsmtl.ca and in gmond.conf he has name = "Kluster" which is confusing. And then he adds some routes.

----------

