On 11/6/2013 5:53 PM, John Hupp wrote: > I finished a new installation of LTSP-PNP on Lubuntu 13.10, but I find > that clients won't boot. > > After the Plymouth splash screen, a text screen reads: > > Error: socket failed: connection refused. > Exiting. > > Then it dumps me to a screen with some familiar good LTSP boot messages > followed by unfamiliar bad ones: > > Trying to load: pxelinux.cfg/default ok > mount: mounting /dev/nbd0 on /root failed: Invalid argument > /scripts/init-bottom/ltsp: line 27: panic: not found > chroot: can’t execute ‘/usr/bin/test’: No such file or directory > mount: mounting /root on /rofs failed: Invalid argument > mount: mounting /rofs on /root/rofs failed: Invalid argument > mount: mounting /dev /root/dev failed: No such file or directory > mount: mounting /sys on /root/sys failed: No such file or directory > mount: mounting /proc on /root/proc failed: No such file or directory > Target filesystem doesn’t have requested /sbin/init-ltsp. > No init found. Try passing init= bootarg. > > BusyBox v1.20.2 (Ubuntu 1:1.20.0-8.1ubuntu1) built-in shell (ash) > Enter ‘help’ for a list of built-in commands. > > (initramfs) _ > > --------------------------------------------- > > The initramfs prompt is working. > > --------------------------------------------- > > My setup followed the usual procedure at > https://help.ubuntu.com/community/UbuntuLTSP/ltsp-pnp, except that to > fix an LTSP Client Boot Error: PXE-E32: TFTP open timeout, in > /etc/dnsmasq.d/network-manager, I replaced the "bind-interfaces" line > with a "bind-dynamic" line. > > And to get Internet DNS Name Resolution working, I edited > /etc/dnsmasq.d/ltsp-server-dnsmasq.conf and commented out the port=0 line. > > I also edited /var/lib/tftpboot/ltsp/i386/lts.conf to add OpenDNS, > SpiderOak and the Intel Mesh Agent services to the client > RM_SYSTEM_SERVICES no-load list. >
Still working this old problem, and leaving out material from many intermediate posts: I had suspected a problem with NBD kernel-level support, but from a machine running free-standing Ubuntu, I can run: # Set up the connection to the remote device, the NBD image on the LTSP server: sudo nbd-client <server IP> -N /opt/ltsp/i386 /dev/nbd0 Negotiation: ..sz = 1586MB bs = 1024 sz = 1663057920 bytes # Check the connection: sudo nbd-client -c /dev/nbd0 ; echo $? 2377 # the PID of the nbd-client instance 0 # indicates that a connection exists # Check the size of the remote device: sudo blockdev --getsize64 /dev/nbd0 1663057920 # Make the directory (with a name of your choosing) where the remote device will be mounted as a local device: cd /mnt sudo mkdir ltspimg # Mount the remote device as a local device: sudo mount /dev/nbd0 /mnt/ltspimg # Browse ltspimg in the file manager or do other read-only operations within that file system So at first blush that would *seem* to exonerate NBD. --------------------------------- Looking for clues in the LTSP Manual: The boot process of a thin client, Step 10 is "When ipconfig gets a reply from the server, the information it receives is used to configure the Ethernet interface, and determine the server to mount the root from." I don't see in the server syslog any indication that a DHCP request has been received or answered, but that may be the wrong place to look. In any case, running ifconfig at the initramfs prompt on the client indicates that eth0 is configured and active. Step 11 is: Up to this point, the root filesystem has been a ram disk. Now, the /init script will mount a new root filesystem via either NBD or NFS. In the case of NBD, the image that is normally loaded is /opt/ltsp/images/ <arch>.img. If the root is mounted via NFS, then the directory that is exported from the server is typically /opt/ltsp/<arch>. It can’t just mount the new filesystem as /. It must first mount it to a separate directory. Then, it will do a run-init, which will swap the current root filesystem for a new filesystem. When it completes, the filesystem will be mounted on /. At this point, any directories that need to be writable for regular start up to occur, like /tmp, or /var, are mounted at this time. If I run nbd-client -c /dev/nbd0 ; echo $? the output is 1, indicating that no connection currently exists. If I run the long "exec run-init" command string from the end of /init, the output is "can't open /root/dev/console: no such file." "ls /root" shows only rofs, cow and var. So a few questions occur to me: Where is the NBD image mounted in the initramfs -- at /root? If so, and if NBD mount succeeds, shouldn't it contain most of the directories seen in a working system? Can I add "debug" to the kernel command line in /boot/pxelinux.cfg/default, re-run "sudo ltsp-update-image -c /", and get a useful initramfs boot log somewhere? ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _____________________________________________________________________ Ltsp-discuss mailing list. To un-subscribe, or change prefs, goto: https://lists.sourceforge.net/lists/listinfo/ltsp-discuss For additional LTSP help, try #ltsp channel on irc.freenode.net