PDA

View Full Version : new need a little help with pxeboot nodes



chipmonk010
02-03-2005, 12:58 PM
hi! im new been lurking for a lil while and ive taken interest in this boot from lan stuff, i read through the guides on this forum as well as other guides but im stuck. ive got everything configured. when the client boots it gets its ip from the dhcp server, but then when it tries to access tftp i get this
tftp: tftp open timeout
im not sure whats causing this can anyone guide me to a file i need to mod?
thanks for any help, great forum btw:D

chipmonk010
02-03-2005, 03:37 PM
ha, i figured it out, it was the damn firewall in fedora now. hey maybe this will help someone else......lol

chipmonk010
02-03-2005, 05:19 PM
ok now i really do have a question lol, i logged into the server from one of the clients and i noticed that when i run D2OL it used the cpu power of the server to run, as if its just running on the server and is just told to run by the client how do i use the clients cpu power to fold? when i log onto the server i see the desktop as if i was on sitting at the server all the same icons everything the same is this the way its suposed to be? mabye i need to load a different kernel or something?

PCZ
02-03-2005, 06:10 PM
chipmonk10

You are using ltsp as it was designed to run.
The clients run apps on the server.

This is no good for DC though.
We need to set the workstations up to run local apps.

Are you paying attention steep learning curve approaching :D

chipmonk010
02-03-2005, 06:58 PM
yeah i figured out thats what i need to do, BUT that means i have to setup and NIS server and even with a guide suggested by ltsp.org it doesnt look very easy. anywhere i can find info thats made for people that are unix programers? lol where u able to setup local apps urself?

gah my brains gonna explode:help:

PCZ
02-03-2005, 07:09 PM
Are you using ltsp version 3 or 4 ?

You do not need a nis server.
Yes I have a PXE farm

chipmonk010
02-03-2005, 07:16 PM
im using version 4.1, ohh theres a way to do it without a server lol might actually be doable then, thanks for the replies btw:cheers:

PCZ
02-03-2005, 07:23 PM
Yes it's doable.

I use ltsp ver 3 but you should be able to do the same with 4.

The run level needs to be changed to 3
edit /opt/ltsp/i386/etc/lts.conf
set the default run level to 3 and set local apps to no

I guess at the moment you have a monitor and keyboard on the remote node ?
You will need it for a while till telnet to the node is setup.

your nodes names are ws001 002 etc I presume?

chipmonk010
02-03-2005, 07:28 PM
Originally posted by PCZ
Yes it's doable.

I use ltsp ver 3 but you should be able to do the same with 4.

The run level needs to be changed to 3
edit /opt/ltsp/i386/etc/lts.conf
set the default run level to 3 and set local apps to no

I guess at the moment you have a monitor and keyboard on the remote node ?
You will need it for a while till telnet to the node is setup.

your nodes names are ws001 002 etc I presume?

set this for the individual nodes or under the [default] settings?

yep my nodes are ws001 ws002 etc.

yeah right now theres a monitor keyboard n mouse hooked up to the test node

PCZ
02-03-2005, 07:33 PM
change the defaults at the top of the file.

dont set the runlevel individually for each node, if it is specified remove it.

IronBits
02-03-2005, 07:38 PM
Originally posted by PCZ
We need to set the workstations up to run local apps.

Are you paying attention steep learning curve approaching :D :rotfl: If I can do it, then anyone can do it :)

PCZ and Bok helped me setup a 10 node PXE Server last year. :notworthy

chipmonk010
02-03-2005, 07:38 PM
gottcha changed and saved


If I can do it, then anyone can do it

PCZ and Bok helped me setup a 10 node PXE Server last year.

its seems so cool i just couldnt resist trying it:D

PCZ
02-03-2005, 07:41 PM
Before we go any further reboot the node to make sure it comes up ok.
If it does you should boot up to a shell.

IronBits
02-03-2005, 07:46 PM
Originally posted by chipmonk010
its seems so cool i just couldnt resist trying it :D Well, when ya have it working, burn the HDD to a CD .iso file.
Then you can repeat on any computer that has several nodes lying around without having to work at it. ;)
Instant server :D
:cheers:

chipmonk010
02-03-2005, 07:56 PM
Originally posted by PCZ
Before we go any further reboot the node to make sure it comes up ok.
If it does you should boot up to a shell.

hmmm it boots fine but it still goes straight into fedora heres my whole its.conf file maybe somethings wrong that i dono about


[Default]
SERVER = 192.168.2.100
XSERVER = auto
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
USE_XFS = N
SCREEN_01 = startx
LOCAL_APPS = N
RUNLEVEL = 3

[ws001]
USE_NFS_SWAP = N
SWAPFILE_SIZE = 64m

[ws002]
USE_NFS_SWAP = N
SWAPFILE_SIZE = 64m

did i do somethin else wrong?

PCZ
02-03-2005, 08:01 PM
remove
SCREEN_01 = startx

and try again

IronBits
02-03-2005, 08:05 PM
Go ahead...

make me look bad...

took me pages and pages of posts to get mine working...

Just go ahead :blush:





:D

chipmonk010
02-03-2005, 08:05 PM
now the client hangs after this line

syslogd: cant write to remote file handle on 192.168.2.100

192.168.2.100 is my server

PCZ
02-03-2005, 08:10 PM
edit /opt/ltsp/i386/etc/rc.local
comment out the line that loads syslogd

warning it is a long file.

chipmonk010
02-03-2005, 08:20 PM
i dont seem to have that file:confused: i thought i had edited it before but the only thing close in the dir is rc.localdev and its very short (about apage and a half)

chipmonk010
02-03-2005, 08:23 PM
oh and if i put screen_01 = startx back in i get the same message but its doesnt hang it just keeps goin

PCZ
02-03-2005, 08:26 PM
better find out what it is called in ver 4.1.
in ver 3 rc.local loads everything up.

looks like ver 4 is set up differently.

PCZ
02-03-2005, 08:30 PM
It is rc.sysinit

chipmonk010
02-03-2005, 08:34 PM
well i glanced at the ltsp docs, n i added this

SCREEN_01 = shell

the client now boots to a bash shelll

PCZ
02-03-2005, 08:38 PM
good

Have you got name resolution and internet access from the node.
can you ping yahoo.com for example.

NFS shares are next.

Is the node already logged in ?
Probably is and running as root.
If not you will have to copy passwd and shadow from your servers etc dir to /opt.ltsp/i386/etc

chipmonk010
02-03-2005, 08:44 PM
well how do i ping yahoo in the shell?

if i type "ping www.yahoo.com" it says failed host lookup

PCZ
02-03-2005, 08:50 PM
You will need to be able to resolve internet names or none of the DC clients will run.

On your network do you have a router as your internet gateway and is a gateway specified in dhcp.
it will be the router option.

Do you have a DNS server on your network or does the internet router do this ?
need to know because it has to be in resolv.conf.

chipmonk010
02-03-2005, 08:59 PM
yees i have a router heres my setup

internet > router(192.168.1.1 > windows comps(192.168.1.*)
linux comp eth0(192.168.1.2)
linux comp eth1 (192.168.2.100) > client nodes

i should be setting "option router 192.168.1.1"

the router gets DNS info dynamically from my isp but there is no DNS server on my lan

PCZ
02-03-2005, 09:05 PM
You have 2 networks and the link between them is the linux server.
That will have to be your gateway for the nodes
192.168.2.100.

Your linux server will be a router/firewall

Your windows boxes will need 192.168.1.1 as there gateway so this should be in the default section of your dhcpd.conf.
The PXE nodes need to have the router option specified as 192.168.2.100

Unless your internet router is still doing dhcp for the 192.168.1.0 network ?

chipmonk010
02-03-2005, 09:11 PM
yes exactly, so i had the option router set to 192.168.2.100 which is the linux server but it doesnt seem to be routing the requests to the router.

my resolve.conf contains the dns servers given by my isp.
i can acess the internet and ping from the server

chipmonk010
02-03-2005, 09:14 PM
well right now the linux dhcp is only serving the node clients, the router is giving out ip adresses to the windows boxes. the dhcp on the linux server only listens on the 192.168.2.* network and the route listens on the 192.168.1.* network. i basically need the linux server to bridge the two networks

PCZ
02-03-2005, 09:16 PM
First find out if your linux server is routing ping an internet address from the node.
Type an IP of a site you know will respond to icmp.
198.133.219.25

chipmonk010
02-03-2005, 09:19 PM
the client sucessfully pinged that ip!!

EDIT: wait maybe not...no it just sends the packets no response lol damnit

PCZ
02-03-2005, 09:33 PM
If you type route you should see the gateway listed as 192.168.2.100.

Looks like youwill have to sort out the ipchains config.
Hopefully someone will be able to offer some assistance there as I dont know how to set that up.

chipmonk010
02-03-2005, 09:36 PM
so what u have setup is one network behind a router, and dhcp for all computers is given by the linux server?

PCZ
02-03-2005, 09:42 PM
Yes

I have one network and the linux server does dhcp for all my windows and linux boxes.

# Sample configuration file for ISCD dhcpd
#
# Make changes to this file and copy it to /etc/dhcpd.conf
#
ddns-update-style none;

default-lease-time 432000;
max-lease-time 864000;

option subnet-mask 255.255.255.0;
option broadcast-address 172.31.158.255;
option routers 172.31.158.254;
option domain-name-servers 172.31.158.100;
option netbios-name-servers 172.31.158.100;
option domain-name "itsoapbox.com";
option root-path "172.31.158.240:/opt/ltsp/i386";
option log-servers 172.31.158.240;

shared-network WORKSTATIONS {
subnet 172.31.158.0 netmask 255.255.255.0 {
range 172.31.158.1 172.31.158.99;
}
}
group {
use-host-decl-names on;
host ws001 {
hardware ethernet 00:0C:6E:2D:DE:C2;
fixed-address 172.31.158.101;
filename "/lts/pxelinux.0";
}
host ws002 {
hardware ethernet 00:0C:6E:2D:DE:93;
fixed-address 172.31.158.102;
filename "/lts/pxelinux.0";
}
host ws003 {
hardware ethernet 00:0C:6E:2D:DE:8F;
fixed-address 172.31.158.103;
filename "/lts/pxelinux.0";
}
host ws004 {
hardware ethernet 00:0C:6E:5B:C7:25;
fixed-address 172.31.158.104;
filename "/lts/pxelinux.0";
}
host ws005 {
hardware ethernet 00:0C:6E:2D:DE:BD;
fixed-address 172.31.158.105;
filename "/lts/pxelinux.0";
}
host ws006 {
hardware ethernet 00:10:DC:F5:B5:E0;
fixed-address 172.31.158.106;
filename "/lts/pxelinux.0";
}
host ws007 {
hardware ethernet 00:11:09:AB:52:6E;
fixed-address 172.31.158.107;
filename "/lts/pxelinux.0";
}
host ws008 {
hardware ethernet 00:50:8D:FB:11:AE;
fixed-address 172.31.158.108;
filename "/lts/pxelinux.0";
}
host ws009 {
hardware ethernet 00:0C:76:57:87:1E;
fixed-address 172.31.158.109;
filename "/lts/pxelinux.0";
}
host ws010 {
hardware ethernet 00:E0:18:D9:1A:02;
fixed-address 172.31.158.110;
filename "/lts/pxelinux.0";
}
host ws011 {
hardware ethernet 00:01:80:40:3A:04;
fixed-address 172.31.158.111;
filename "/lts/pxelinux.0";
}
host ws012 {
hardware ethernet 00:01:80:40:3A:C7;
fixed-address 172.31.158.112;
filename "/lts/pxelinux.0";
}
host ws013 {
hardware ethernet 00:01:80:40:3A:54;
fixed-address 172.31.158.113;
filename "/lts/pxelinux.0";
}
host ws014 {
hardware ethernet 00:11:09:AB:52:DB;
fixed-address 172.31.158.114;
filename "/lts/pxelinux.0";
}
host ws015 {
hardware ethernet 00:01:80:40:3A:59;
fixed-address 172.31.158.115;
filename "/lts/pxelinux.0";
}
host ws016 {
hardware ethernet 00:11:09:AB:52:81;
fixed-address 172.31.158.116;
filename "/lts/pxelinux.0";
}
host ws017 {
hardware ethernet 00:00:20:20:20:20;
fixed-address 172.31.158.117;
filename "/lts/pxelinux.0";
}
}

chipmonk010
02-03-2005, 10:48 PM
ahhh i need to setup ip masquerading in order for things to work the way they are setup right now, i think tomorrow ill set all my windows machines with static ips and use a single network and single dhcp server unless someone knows a simple way to setup ip masquerading. the guides that ive found are very long, and require recompliling the kernel

thanks again pcz for helping

chipmonk010
02-04-2005, 11:14 AM
haha! sucess i can now resolv domain names on the client from the shell!! whats next pcz?

hmm even though all seems well i dont think im logging in when i boot to the shell
it looks like this

bash-2.05b#

i copied my passwd and shadow files but same thing, it does login with XDM so i dono whats up with that

PCZ
02-04-2005, 11:45 AM
Good
What changes did you make ?

Next you need to set the NFS exports for your DC programs.
What do you want to run ?
I think you mentioned D2OL.

You will be logged in to the console as root automatically.
When you telnet in to the client which you haven't set up yet then the passwrd files are critical.



create a directory on the server
/d2ol
create subdirectories under d2ol called ws001, ws002 etc.

make a directory
/opt/ltsp/i386/d2ol

you will need to untar the d2ol linux client with the built in jvm somewhere and copy this to all the ws directories.

chipmonk010
02-04-2005, 12:21 PM
Good
What changes did you make ?

first i loaded firestarter which is a routing firewall proggy i used this to make my linux box a router just as if it were routing an internet connection but it just routed the two networks together. once this was done i could ping ip addresses from the client but no dsn names like www.yahoo.com i checked out the /opt/itsp/i386/etc directory and there was no resolv.conf file, just a broken link, so i copied the resolv.conf from the the server /etc and now it works fine:D

ok for d2ol i have it installed on the server already, so can i just copy the install to /d2ol/ws001,ws002 etc ? and should i put anything in /opt/itsp/i368/d2ol at this point?

EDIT: oh i just realize i need to do separate installs for each node. so ill install d2ol in ws001 then ws002 and so on so i have unique node numbers

chipmonk010
02-04-2005, 12:35 PM
ok d2ol is loaded in my ws directories and a dir is created in /opt/itsp/i386
called d2ol

PCZ
02-04-2005, 12:36 PM
It is important that you use the guilesinstall with jvm.

On your server you have a working java and a gui your nodes dont.
copy the D2OL and JVM directories from /sengentd2ol
to ws001 002 etc

Some changes need to be made to the config files to ensure that it doesn't try to fire up a gui.
go into the d2ol/res directory and edit general.prp
change launch main to false

A quick way to set them up is to copy a node.prp file to the res directory but as you want unique node id's then set them up seperately.

You can do this from the server just cd to the ws001/D2OL directory and run it up.

Now you will need to export the d2ol/ws001 directory

edit /etc/exports

add the following:
/d2ol/ws001 192.168.2.0/255.255.255.0(rw,no_root_squash,sync)
/d2ol/ws002 192.168.2.0/255.255.255.0(rw,no_root_squash,sync)

chipmonk010
02-04-2005, 12:55 PM
ohh ok the guiless one, ok i downloaded that un-tared it. copied the sergentd2ol (with jvm) folder to /d2ol/ws001, ws002 etc.

then went into /d2ol/res/general.prp changed launchmain to false for each

now what is this about exporting ws001?

EDIT: ahh u added it nvm
edited and saved:D

PCZ
02-04-2005, 01:05 PM
each ws directory should have a D2OL directory and a jvm directory underneath.
no sengentd2ol directory.

when you have edited the export file you will need to restart nfs.

next you need to try and mount it on the node.
this mount will eventually be added to the rc.sysinit script but try it manually for debugging.

on the node try to mount the nfs export
mount -t nfs -o nolock 192.168.2.100:/d2ol/ws001 /d2ol

chipmonk010
02-04-2005, 01:21 PM
i get this error:
192.168.2.100:/d2ol/ws001/d2ol not found in /etc/fstab

PCZ
02-04-2005, 01:23 PM
you missed out a space after ws001

/d2ol/ws001 space /d2ol

chipmonk010
02-04-2005, 01:30 PM
closer
mounting: 192.168.2.100:/d2ol/ws001 on /D2OL failed: no such directory

i typed the correct directory cap sensitive

PCZ
02-04-2005, 02:12 PM
type on the server
showmount -e

When you created the /opt/ltsp/i386/d2ol directory did you call it d2ol or D2OL ?

chipmonk010
02-04-2005, 02:19 PM
[root@farmserver ~]# showmount -e
Export list for farmserver:
/opt/ltsp 192.168.2.0/255.255.255.0
/d2ol/ws002 192.168.2.0/255.255.255.0
/d2ol/ws001 192.168.2.0/255.255.255.0
/var/opt/ltsp/swapfiles 192.168.2.0/255.255.255.0
[root@farmserver ~]#


/opt/ltsp/i386/d2ol/ (no caps)

PCZ
02-04-2005, 02:30 PM
you need to mount /d2ol/ws001 /d2ol
not /d2ol/ws001 /D2OL

/D2OL does not exist.
Do not get confused by the /D2OL directory underneath ws001

when you have the mount working CD to /d2ol
do an ls and you should see 2 directories
D2OL and jvm

chipmonk010
02-04-2005, 06:30 PM
got it working mounted and i see D2OL and jre in the /d2ol folder on the client

PCZ
02-04-2005, 06:35 PM
you should be able to cd to the D2OL directory and fire the client up

./D2OL controller:cli

If it runs we can move on to the next stage.

chipmonk010
02-04-2005, 06:59 PM
ok the client starts but it starts the first conformer then says it has 1 result to upload, starts another conformer #1 and keeps going, theres no way it could go that fast, is there?
it should do 20 conformers before its ready to upload a cand
also it keeps changing lauchmain to true in general.prp when it starts something must not be right

PCZ
02-04-2005, 07:15 PM
Dont panic !
That is a known problem with D2OL.

One of your libs iis to new.
Either on this forum or the D2OL Forum is some info about which lib you need.
Give me a few mins I will go and find the info.

PCZ
02-04-2005, 07:41 PM
Ignore my previous post
I think it might be a permissions problem.

Try this

On the server.
cd /
chown -R 777 /d2ol *
chmod -R 777 /d2ol *

I ran a client up and it did what you described changing the permissions on the d2ol directory fixed it.

linux permissions bite !!

chipmonk010
02-04-2005, 07:49 PM
found it, over at the d2ol forum theres a thread about it missing lib like u said i checked for lib dependencies on the "DockWin.exe" and im missing libstdc++. ill track it down n fix it we can move on tho if since its not tragic and i can still test.

man all this help it great i reallly owe u one:cheers:

chipmonk010
02-04-2005, 07:50 PM
hmm lemmie try what u said real quick

nope, ill have to find the lib

PCZ
02-04-2005, 07:58 PM
It will be working soon.
The great thing is once you have one node working properly you can add others really easily.

BTW

D2OL is one of the most difficult DC clients to get working on discless nodes, you could have started with something easy like EON or FAD :D

PCZ
02-04-2005, 08:31 PM
Probably easiest to install the RPM's on the Server then copy the libs into the ltsp tree.

Mind you if d2ol is working properly on your Server you should have the libs already

chipmonk010
02-04-2005, 08:48 PM
yup had em already, copied the libs from /usr/lib to the client tree and all is well now on canidate #2 woot lol

PCZ
02-04-2005, 08:52 PM
Ok lets move on.

you need nohup.

copy nohup into the ltsp tree.

while you are at it top and pico would be good as well.
forget pico if you are a vi fan :D
try to run top and see if you have any lib problems.

chipmonk010
02-04-2005, 08:59 PM
lol where do i find these sry for the ignorence....they sound familiar i just cant place them

ah nvm /usr/bin/ haha thought i checked that

PCZ
02-04-2005, 09:10 PM
You need a startup script for D2OL and you will need to edit ltsp.conf.

cd /opt/ltsp/i386/etc/rc.d
cp sample startd2ol

edit the startd2ol file

#!/bin/bash
# This is the run D2OL file
echo "Starting D2OL"
cd /d2ol/D2OL
nohup ./D2OL controller:cli &
cd /



edit /opt/ltsp/i386/etc/ltsp.conf

[ws001]
RCFILE_01 = startd2ol

[ws002]
RCFILE_01 = startd2ol

PCZ
02-04-2005, 09:20 PM
Sorry i didnt give you the path.
Looks like you found them ok.

nohup is important.

The RCFILES run at the end of run level 2, when the node switches to run level 3
the DC clients have a habit of stopping.

nohup stops them misbehaving.

You wont see any output on the screen from the client so you will find top really useful to tell if they are running.

nohup will create a file called nohup.out in the clients working directory and will contain all the output that normally would have gone to the screen.

chipmonk010
02-04-2005, 09:23 PM
cool, all thats done, i was missing one lib for nohup but i got it copied n its fixed now do i have to make the client mount the server on start up cuz as is it wont see anything in its own /d2ol dir correct?

PCZ
02-04-2005, 09:31 PM
yes you have to get it to mount the d2ol export .

My config file is called rc.local
Yours is rc.sysinit I believe.

Should be in /opt/ltsp/i386/etc

They are probably very similar.

You will need to add the following somewhere in rc.sysinit

mount -t nfs -o nolock 192.168.2.100:/d2ol/${HOSTNAME} /d2ol

I think you will find a section which mounts filesystems.
Make sure it is after the $HOSTNAME variable is defined

Tip back up this file before editing it is easy to mess up !


My rc.local file has had a lot of fat removed from it over time.



#!/bin/sh
#
# rc.local
###############################################################################
PATH=/bin:$PATH; export PATH
. /etc/ltsp_functions
/sbin/devfsd /dev
mount -n -t proc /proc /proc
umount /oldroot >/dev/null 2>&1
RUNLEVEL=`get_cfg RUNLEVEL 3`
###############################################################################
/sbin/mke2fs -q -m0 /dev/ram1 32768
/bin/mount -n /dev/ram1 /tmp
mkdir /tmp/compiled
mkdir /tmp/var
mkdir /tmp/var/run
mkdir /tmp/var/log
mkdir /tmp/var/lock
mkdir /tmp/var/lock/subsys
mkdir /tmp/var/lib
mkdir /tmp/var/lib/xkb
mkdir /tmp/mnt
mkdir /tmp/var/X11R6
mkdir /tmp/var/X11R6/xkb
ln -sf /tmp/compiled /tmp/var/X11R6/xkb/compiled
###############################################################################
HOSTNAME=`hostname`
echo "Current hostname: ${HOSTNAME}"
>/tmp/mtab
echo "search itsoapbox.com" >/tmp/resolv.conf
echo "nameserver 172.31.158.100" >>/tmp/resolv.conf
echo "127.0.0.1 localhost ${HOSTNAME}" >/tmp/hosts
echo "172.31.158.240 server" >>/tmp/hosts
echo "172.31.158.240" >/tmp/hosts.equiv
ifconfig lo 127.0.0.1 netmask 255.0.0.0 broadcast 127.255.255.255
###############################################################################
mount -t nfs -o nolock 172.31.158.240:/pxeroot /root
mount -t nfs -o nolock 172.31.158.240:/EON /EON
mount -t nfs -o nolock 172.31.158.240:/FAD /FAD
mount -t nfs -o nolock 172.31.158.240:/d2ol/${HOSTNAME} /d2ol




###############################################################################
portmap
echo "Starting xinetd"
xinetd
###############################################################################

pr_set 95 "Checking for rcfiles"
for i in 01 02 03 04 05 06 07 08 09 10; do
RCFILE=`get_cfg RCFILE_${i}`
if [ -n "${RCFILE}" ]; then
if [ -x /etc/rc.d/${RCFILE} ]; then
/etc/rc.d/${RCFILE}
else
pr_fail
echo
echo " ERROR: RCFILE_${i} is setup in lts.conf, but"
echo " it does not exist in the /etc/rc.d directory"
echo
echo -n "Press <enter> to continue "
read CMD
fi
fi
done

######################################################

chipmonk010
02-04-2005, 09:44 PM
wow that is like 1/10 the size of mine lol just curious why di u cut out so much? does this speed things up or take up less resources?

added the mount in the "mounting file systems" section

PCZ
02-04-2005, 09:48 PM
I found it easier to edit.

Most of the file was just comments or only relevant to folks running x sessions on the server.
You will see i have xinetd started so i can telnet the node.

Thats the next step for you

Give the node a reboot and see if D2OL starts up.

chipmonk010
02-04-2005, 09:57 PM
yup it says
starting d2ol
appending output to nohup.out

opened up nohup.out n there it is folding away :rotfl: :notworthy i love it!!

PCZ
02-04-2005, 10:12 PM
If you run top you should see gridwin/dockwin running

Hope you registered the new node ID on the D2OL site and joined Free-DC :D
Only joking

When you run headless you will need to control the node somehow so you really need telnet and a working shutdown/reset.

So xinetd needs to be started.

you might need to copy xinetd over from the server.

Have a look at /opt/ltsp/i386/etc/xinetd.conf

mine doesnt have much in it

#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST RECORD
}

includedir /etc/xinetd.d



cd to /opt/ltsp/i386/etc/xinetd.d
there will be some files in there all you need is telnet you can remove the others.


this is my telnet file

# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
## server = /usr/bin/strace
## server_args = -o /home/jam/strace.out -f /usr/sbin/in.telnetd
log_on_failure += USERID
}





Try running xinetd from the cmd prompt and see if it starts ok.

chipmonk010
02-04-2005, 10:35 PM
i had to copy it over manually, ran it the first time needed a library, copied that over n it doesnt give any errors so i asume its running

i made the xinetd.d dir and added telnet to it, i copied what u posted for telnet since i didnt already have it on the server

PCZ
02-04-2005, 10:44 PM
When you try to access the node over the network you may run into problems with security.

Number 1 enemy is pam.

To effectively turn off pam remove all the files in /opt/ltsp/i386/etc/pam.d and then remove the /opt/ltsp/i386/etc/pam.d directory.

create a file called pam.conf in /opt/ltsp/i386/etc containing the following.

#
# default; standard UN*X access
#
OTHER auth required pam_unix.so
OTHER account required pam_unix.so
OTHER password required pam_unix.so
OTHER session required pam_unix.so




Enemy number 2 is a file called securetty
add the following to it

probably you will only need to add ttys0 to s3 the rest should already be there.


console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
ttyp0
ttyp1
ttyp2
ttyp3
ttyS0
ttyS1
ttyS2
ttyS3

chipmonk010
02-04-2005, 10:51 PM
hmm i dont have either one of those, should i still create the pam.conf file?

PCZ
02-04-2005, 10:56 PM
Before you do see if you can telnet the node from the server.

The local apps package for version 3 installs pam, i assumed that ver 4 would be the same.

You might need to install the local apps package.

chipmonk010
02-04-2005, 11:11 PM
well i do have pam on the server but not the ltsp tree, i tried loading the local apps 3 package and it loaded (i think) but it said it was missing a dependency which was ltsp_core3 package.

securetty is also on the server but not in the ltsp tree

i wasnt sure exactly how to telne the client from the server so i tried this:

[root@farmserver ~]# telnet 192.168.2.101
Trying 192.168.2.101...
telnet: connect to address 192.168.2.101: No route to host
telnet: Unable to connect to remote host: No route to host
[root@farmserver ~]#

doesnt look good eh

EDIT: well there was a pam.conf (hidden of course) in the ltsp tree which i backed up n changed to what u posted, but theres def no pam.d dir weird.

no change when i try to telnet the client tho..

PCZ
02-04-2005, 11:45 PM
No route to host thats odd.

The server has a nic on the 192.168.2.0 network
How can it not have a route ?
can the server ping ws001
Names may not work till you edit /etc/hosts on the server and add the ws00* IP's

Firewall stopping you maybe ?

chipmonk010
02-05-2005, 05:28 PM
more bad news....i booted up this mourning before work to get everything crunching and for some reason my whole linux install is messed up.....cant even start gnome....kde starts but barely anything works. i keep getting errors like "cannot read gnome saved files" or something dono what happened i guess i must have deleted something important. some serviced fail at startup one says its because it doesnt have the correct permissions i dono. i think ill just reinstall linux start from scratch with ltsp 3.0 and get back up to the point were at now, unless theres some stuff i can try to fix this. i porbably should have used 3.0 to start with anyway so aybe it will help :confused:

i already have ws00* added to my host file with ips n such

PCZ
02-05-2005, 06:31 PM
I had the same problem once ended up reinstalling.

The problem was caused by changing file permissions.
I think if certain files are world writeable then some services wont run.

PCZ
02-05-2005, 06:35 PM
If you do reinstall save your config files !

You might find 3 a little harder to set up because you have to update it more and copy quite a lot of stuff from the server.

chipmonk010
02-05-2005, 06:40 PM
i dont really mind reinstalling and starting over one of the reasons i started this progject was to learn more about linux n so far i am. it wont take long to get back up now that i know what im doing lol.

PCZ
02-05-2005, 06:57 PM
Try to use the rpm's if you go for version 3
I never had any joy with the tarballs.

You will need the local apps packages and grab the latest kernel.
You might need to download syslinux and use the pxelinux.0 file from that.

Warning ver 3 has an old glib and you will have to move a few libs from the server to upgrade to glibc3.

You certainly learn plenty setting these PXE nodes up.

chipmonk010
02-05-2005, 08:50 PM
gah, hit a snag, as the client boots it says it cant automatically detect the network card,
then
kernal panic treid to kill init

is there something i need to add to the tree to fix this or could it be the fact that this is ver 3.0

PCZ
02-05-2005, 08:54 PM
which kernel are you using ?
which nic card do you have ?

chipmonk010
02-05-2005, 08:58 PM
ah nvm sry lol i got it, changed kernels n it was fine

PCZ
02-05-2005, 09:12 PM
Did you forget to edit the default file !


BTW
For a long time ltsp didn't work with nforce nics we tried for ages to get it to work.
The forcedeth driver was added quite recently.

PCZ
02-05-2005, 09:29 PM
you will want to copy
/usr/share/terminfo
to the ltsp tree.

You need the files in there to display graphics in the terminal properly.

You will probably be moving a lot of files across from the server to the ltsp tree making a copy of the ltsp tree would be a good idea as you can fall back to a working config easily.

keeping copies of /etc/dhcpd.conf and exports can save lot of time if you have to reinstall for any reason.
Also /opt/ltsp/i386/etc/ltsp.conf and rc.local.

chipmonk010
02-05-2005, 11:20 PM
got it! back up n running with ver 3.0 and im even telneting the client haha sweeet!!:D

so with telnet i can log in and completely control the client eh? i didnt even know what telnet did lol, but thats really cool. whats next?

man did i have to copy alot of libraries over this time, luckily it all work but i must have copied like 15-20

yup already copied the terminfo folder (i just followed the sticky thread for dowloading the right stuff n that was in there so i did it lol)

thanks again btw great stuff:cheers:

PCZ
02-06-2005, 04:20 PM
chipmonk010

You certainly learn fast. :thumbs:


So you have the node booting ok with the latest kernel that the ltsp team have released {probably the last for ver 3 but you can use the kernel from 4.1 }
Note:
If you change the kernel a directory is created under libs with the same name as the kernel, this must be there or no modules will be loaded.
Something to be mindful of if you use the tarball instead of RPM.
You must edit /tftpboot/lts/pxelinux.cfg/default to reflect the name of the kernel you want to load.

You have setup NFS and exported a client working directory.
Edited rc.local to mount this automatically at bootup.
Written a script to startup a client at bootup.
scripts go in /opt/ltsp/i386/etc/rc.d
Edited lts.conf to run this script using the RCFILE mechanism.
Got xinetd loaded at bootup, and can succesfully telnet in to the client.
add xinetd to rc.local

BTW

You probably had trouble with glibc, and copied over libc.so.6 to allow things like top to run.
After that did you get errors trying to load xinetd and have to copy it over from the server.
You can ignore these errors they are not critical
It gets a bit messy sorting out the libs doesn't it.



So whats left.

There are a couple of things that I consider essential.

1: Make sure you have top
Copy top over from the server and make sure it runs.
open a command window and type top if you don't have it install it !
Programs are launched in the background and top is an easy way to see if they are using the CPU {working}

2:
Sort out shutdown so that the node can be rebooted.
It might not seem important at the moment but when they are running headless in another part of your house you will want it to work properly !

Getting shutdown working can be tricky.

You have to use
shutdown -n -r now

If you want to telnet in and watch your client running then you will have to stop it running in the background.

To find the pid you can use top.
then
kill pid number

If something is running but you cant see it with top use
ps -A

Note:
d2ol is hard to kill because it spawns dockwin and gridwin and a java process
keeps restarting them.
You have to be quick killing them.

If you start a program up from the console or telnet session it will stop if you log off. to prevent this use a &

EX

./executable &


What next

That will depend to a certain extent on how you want to use your nodes
I think you will want to go into the bios and set

Halt On No Errors
so you can run without a keyboard and video

Restore On AC Power Loss
So you dont have to short out the pins to start the node up.

You might want to disable the IDE and Floppy controllers.
Also the USB, serial ports etc if you are not going to be using them.

IronBits
02-06-2005, 05:09 PM
I wrote a script to kill things off with pidof Brian. ;)

filename: sbkill
#!/bin/bash
kill $(pidof -x /home/ironbits/clients/sb?/sb)

You know what to do from here I'm sure! :D

Good tips on the final tweaks to :thumbs:

Bok
02-06-2005, 05:28 PM
or you could just do

kill -9 `ps -ef|grep sb|awk '{print $2}'`

if you don't have pidof

Bok

PCZ
02-06-2005, 05:47 PM
Bok /IB

Both of you showed examples of how to kill of SB.
d2ol is more tricky.

There is a java process, d2ol process and gridwin/dockwin to kill.
Started in run level2 and running as root.

So what is the best command to to do that ?

chipmonk010
02-06-2005, 06:29 PM
couple of questions:
i the orginal xinetd in the ltsp tree to run but when it starts it says that the executable was compiled wrong and directly controlls some err log or something, but it works just fine and i can telnet in no prob. if i copy the xinetd over from the server i cant telnet the client, this seems weird to me. anyhow how do i make xinetd load at startup im not sure how to do that.

1. got top loaded and working, no prob
2. i dont quite understand how shutdown works or when where i start it. does it just give me the ability to restart the client while telnet(ed) in?

in order to run something on the client through telnet and i want it to keep it running after i log out of client i would do ./top & for example and top would keep running after i close the terminal on the server correct?
EDIT: oh i see now, i just tried it duh lol tops is not a good example, but lets say i wanted to run d2ol i could do ./D2OL & and it would keep running after i close the terminal on the server.

thanks again for all this help i would never have been able to do this without all this help!:cheers:

PCZ
02-06-2005, 06:42 PM
The xinetd distributed with ltsp 3 is quite old.
You can ignore the errors if you want they aren't critical.

To load xinetd at bootup put a statement in rc.local
Look at my rc.local file I posted earlier in this thread.


To run things in the background just use ./exename &
You really only run top when you are logged in to see whats running so its not something you would normally run in the background.
just type top
no ./ required
control c to exit it.

to shutdown from a telnet session.
just type:
shutdown -n -r now
try it see what happens.

chipmonk010
02-06-2005, 06:59 PM
got it works great! had to copy shutdown over from the server. got xinetd loading at startup and can telnet straight in sweet. looks like im set.

for my kernel change i mentioned up there i didnt actaully compile my own i realized that the ltsp ver 4 kernel was in /tftpboot/its/ folder with its own pxelinux.0 and pxe config file so no changes were required. im gonna try making my own kernel just for fun but this one seems to work just fine for now.

thanks again

PCZ
02-06-2005, 07:11 PM
im gonna try making my own kernel just for fun :jester:


Well you have to make an initrd and tag the kernel for netboot, oh and add nvidia
support.

A little warning.
To get stuff working you have to copy files over from the server.
Reboot the node after making changes to make sure things haven't got messed up.
It is real easy to mess up the boot by copying over a dll or an executable.

Bok
02-06-2005, 07:41 PM
Originally posted by PCZ
Bok /IB

Both of you showed examples of how to kill of SB.
d2ol is more tricky.

There is a java process, d2ol process and gridwin/dockwin to kill.
Started in run level2 and running as root.

So what is the best command to to do that ?

You can just use multiple commands of my same example if you know what the grep is.

Or you might want to experiment with killall

Bok :D

MerePeer
02-07-2005, 05:52 PM
The proper way to shutdown d2ol is to edit the control.prp file and change Shutdown=false to be Shutdown=true. This will shutdown both the docking process and the d2ol process. Then when you restart d2ol someday later it will automagically update control.prp and change it back to false.

One way to do this is to have a copy of control.prp called control_shutdown.prp in which it has Shutdown=true; then cp it to control.prp in your stop script.

Another way I've just tried is to use sed to replace the string in the file. I dont seem to be able to direct sed's output back to the same filename (i.e. cant do sedstuff > control.prp), so this approach directs the output to a temp file and then renames the temp file.

DIRNAME=/var/opt/SengentD2OL/D2OL
sed -e 's/Shutdown=false/Shutdown=true/' $DIRNAME/control.prp > $DIRNAME/control.prp_temp; mv -f $DIRNAME/control.prp_temp $DIRNAME/control.prp

PS I will post an updated d2olprogress (including a new d2olprogressd native C daemon) soon; which is used to monitor d2ol progress of multiple nodes on one gui.

chipmonk010
02-09-2005, 02:54 PM
after some experimenting, trying to get d2ol to start and stop, while running as a service i came up with this shell script that seems to work check it out:

#!/bin/sh
#d2ol service file

# Enter the directory that contains the D2OL and jre directories.
dir="/d2ol/fileserver"

d2ol_start() {
echo "Starting D2OL"
cd $dir/D2OL
nohup ./D2OL controller:cli & #Starts D2OL in text mode, runs it as a service,
cd / #and appends the output to nohup.out in your working directory

}

d2ol_stop() { #Kills all D2ol processes
echo "Stopping D2OL"
cd $dir/D2OL/res/data/bin
killall DockWin.exe GridWin.exe
cd /
cd $dir/D2OL
killall D2OL
cd /
cd $dir/jre/bin/
killall java
cd /
}
d2ol_restart() {
d2ol_stop
sleep 2
d2ol_start
}

case "$1" in
'start')
d2ol_start
;;
'stop')
d2ol_stop
;;
'restart')
d2ol_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
d2ol_start
esac

EDIT: made it a lil more user friendly, so u only have to enter ur install directory once :D