Customization Tips and Tricks
From Bootable Cluster CD
- Configuring Reverse-DNS on a Static Network
- Setting up the BCCD to Go Through a Proxy
- Allowing SSH Access to the User Root
- Enabling USB Mice
- Making the Drives Read/Write
- Supplementing RAM
Configuring Reverse-DNS on a Static Network
This section is for you if you have a static network and, while configuring it with BCCD's, you received the message about the nameserver not resolving to IP numbers. Below are a few simple steps to follow to remedy the problem:
- Since static IP's are being used, go ahead and collect all of them.
- Start up the bccd as usual, and set up the network using static IPs.
- Log in as root. Then, using your favorite editor (vi, joe, nano), edit /etc/hosts. Using the sample format already in the file, add the IPs and host names for your systems.
- Restart the local dns service using
/etc/init.d/pdnsd restart. - Edit /etc/resolv.conf and add the following to the top of the file:
nameserver 127.0.0.1
- After doing this, issue the following where
xxx.xxx.xxx.xxxrepresents one of your local IP addresses. If things are working correctly, the correct name of that host should be reported.
host xxx.xxx.xxx.xxx
- Issue the following and log out. The login prompt should reflect your valid hostname.
assign_hostname
- Do this for all of the hosts, and that should do it!
Setting up the BCCD to Go Through a Proxy
For those of you that must go through a proxy for net-fetched things (such as man pages, list-packages, etc), it's a simple process to set up your environment to do this. In your home directory, fire up your favorite editor and create a file named .wgetrc. Inside of .wgetrc, put the following lines:
use_proxy = on http_proxy = http://myproxy.is.here.net:8080/ proxy_user = (your username) proxy_passwd = (your password)
of course filling in your own values for http_proxy, proxy_user, and proxy_passwd. That's it!
Allowing SSH Access to the User Root
First, open the file /etc/sshd_config using your favorite editor. Find the line that reads:
PermitRootLogin no
Change that no to yes, save, and exit. Secondly, restart sshd using the following command:
/etc/init.d/sshd restart
Enabling USB Mice
The most recent versions of the BCCD have full support for USB mice on bootup and no magic incantations are required. Even the BCCD 2.2.0 release had a quirk where USB mice were detected just fine -- provided you unplugged them and re-inserted them (how strange, I know). If your USB mouse is still lying limp on the desktop, try following these steps:
su ln -sf /dev/input/mice /dev/mouse
One last suggestion is that you'll want to restart X (right click desktop, select Logout, then issue start x at the command line again) in order for the changes to take effect. When X starts back up, there may be a short delay before you see your mouse respond on the desktop. That's "normal."
Making the Drives Read/Write
By default, the BCCD mounts the local drives read-only. This is " a good thing " when you think about it. The BCCD adopts the lnx-bbc mentality of "Do No Harm" to the local system, which also means that it won't mount some journal-based filesystems because while simply mounting the partition read-only does not modify the contents of the partition, it does modify the journal. But if you want to mount your drives read-write, then a simple command will make it so. Find the partition in question (say /mnt/rw/discs/disc0/part1) and issue the following.
mount -o remount,rw /mnt/rw/discs/disc0/part1
Supplementing RAM
Sometimes, if you're trying to install large packages (for instance, mpiBLAST) with list-packages, the system will give you an error similar to this:
Unpacking mpiblast... tar: ./bin/testval: Wrote only 6656 of 10240 bytes tar: Skipping to next header tar: Archive contains obsolescent base-64 headers tar: Error exit delayed from previous errors FAILED
Because the BCCD runs in RAM rather than touching the hard drive, you're limited to only the former when installing items. There are a couple options to give the system additional space to run in. In both of these options, you'll be supplementing the directory /usr/local/, where all of the additional packages are installed by default.
USB Flash Drive
First, become root. If you have a blue prompt that starts with the word root, you're good. Otherwise, log into the bccd with the username root or issue the command su -. Either way, the password should be letmein, or see your distribution's splash screen. Then insert your flash drive.
If you're at the console (text mode interface), you should see a lot of messages dumped to the screen, similar to the following:
Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi1 : SCSI emulation for USB Mass Storage devices Vendor: LEXAR Model: JUMPDRIVE Rev: 1.11 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0 SCSI device sda: 125952 512-byte hdwr sectors (64 MB) sda: Write Protect is off /dev/scsi/host1/bus0/target0/lun0:<7>ldm_validate_partition_table(): Found an MS-DOS partition table, not a dynamic disk. p1 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2 USB Mass Storage support registered.
If you don't see these diagnostic messages, issuing dmesg should produce the same information. The BCCD uses hotplug to automatically register and load the drivers for common USB devices. Most commonly, your USB storage device is registered as a SCSI drive. You can see from the above, that the USB drive has been registered as /dev/sda.
Check the partition table by issuing fdisk -l /dev/sda
Disk /dev/sda: 64 MB, 64487424 bytes 4 heads, 32 sectors/track, 984 cylinders Units = cylinders of 128 * 512 = 65536 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 983 62896 6 FAT16
This disk has a FAT16, or DOS-style, partition on the first partition of the first scsi disk (sda1). That's all the information that you'll need. Finally, mount the USB drive, using the partition information you determined from above (here, sda1):
mount -t vfat -o uid=bccd /dev/sda1 /usr/local

