How I Spent My Summer Vacation: Bringing Linux to Nicaragua, Part II
You most likely will get a TFTP error of some kind. Your client has grabbed an IP address--static or dynamic, depending on your dhcpd.conf file--and should tell you what it is. Verify that everything fits your network. If you go back and revisit the boot sequence, you can see that it's time to configure TFTP on the server.
In SuSE, this step is dead easy. Open YaST -> Network Services -> TFTP Server. Select Activate and leave the default directory of /tftpboot. Don't worry if it doesn't exist, YaST will create it for you. Click Finish, and you have TFTP configured. If you navigate to the root (/) directory, you should see the appearance of /tftpboot. If you're using a different distro, you may have to install a TFTP server package, configure it and get it going, I can't really help you here. Consult forums and mailing lists, and good luck.
If you restart your client now, you should get a TFTP: File not found error error. This is because the pxelinux.0 file it's looking for (from dhcpd.conf) is not there. We're using LTSP 4.0, but the LSTP 3.0 initrd kits work fine. These are files that contain the necessary components to boot an LTSP system. Download this tarball, and you'll find a file called pxelinux.0; move it to the /tftpboot directory. Now, we must configure the PXE Linux boot loader, which is done on the server.
In the /tftpboot directory, make a subdirectory called pxelinux.cfg. The boot loader searches this directory for a config file named after the MAC address of the network card in multiple ways. I found that I didn't need separate files for the clients, so I used only one file, called default. This file is much like a LILO config file. Place the following lines in the file, using your favorite text editor:
/tftpboot/pxelinux.cfg/default prompt=0 label linux kernel <kernel image> append init=/linuxrc rw root=/dev/ram0 initrd=<initrd image>
where <kernel image> is the name of the kernel image and <initrd image> is the name of the initrd image included in the initrd kit. The kernel should be named bzimage something and the initrd image is initrd something.gz. Please don't use the LPP (Linux progress patch) kernel until you're sure everything works correctly; it has lpp in its name. This process displays a nice progress bar, which is wonderful--unless something goes wrong. In that case, it's far more useful to have the kernel messages.
Next, you need to place the kernel and init images in the /tftpboot directory. Do not place them in a subdirectory, simply in the /tftpboot directory. If you boot up your client now, you should see it try to mount the root filesystem and fail. That's because it doesn't exist yet; it comes from installing LTSP on the server.
The LTSP team has done a fantastic job of making this step as painless as possible. The install process is described on the LTSP site; it installs LTSP to /opt/ltsp/i386.
Go through the installer again, but this time select the X package instead of the base package.
Make sure the LTSP install path (the default is /opt/ltsp/i386) is exported by way of NFS, or your client will not be able to mount the root filesystem. This means you need to configure NFS if you haven't already done so. Again, this step is dead easy on a SuSE system; all you have to do is utilize the appropriate module is YaST.
The client now should boot up to a grey screen with an X mouse cursor; alternatively, you may get a login screen. If you got the login, you're done. Otherwise, you're almost there. Whether you get a login is dependent on whether the login manager on the server is set up to accept remote connections. f you didn't get a login screen, then most likely your login manager is not configured to accept remote logins. On SuSE, go to YaST, System, /etc/sysconfig Files Editor, find Desktop -> Display Manager -> DISPLAY_MANAGER_REMOTE_ACCESS and set it to Yes. Your client now should boot up into a fully functional desktop, as if you were sitting at the server.
If you aren't using SuSE or if YaST leaves you in the cold, the configuration file for KDM is located at /etc/opt/kde3/share/config/kdm on a standard directory structure. If you use Red Hat or another non-standard distro, then I can't help you. Check your documentation. Once your login manager accepts remote connections, you should have a fully functional thin client.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Sony Settles in Linux Battle
- Libarchive Security Flaw Discovered
- Peppermint 7 Released
- Profiles and RC Files
- Maru OS Brings Debian to Your Phone
- The Giant Zero, Part 0.x
- Snappy Moves to New Platforms
- Astronomy for KDE
- Git 2.9 Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide