-   Linux - Server (
-   -   start xfce4 from nfs mounted partition via pxeboot. (

lievendp 03-20-2009 09:24 AM

start xfce4 from nfs mounted partition via pxeboot.
Hi folks,

currently, I'm working on some kind of kiosk project. I looked into the ltsp project but that't not exactly what I want.

I want to pxe boot a client, the client then gets it's root partition from nfs. This works fine as long as the nfs partition is exported "read-write" "/data/kiosk 10.0.2.* (rw,no_root_squash,subtree_check,sync)"

When I change the option "rw" to "ro" then I get this error while booting the pxe client: /usr/bin/startxfce4 could not create lock file in /tmp

the boot options in /var/lib/tftboot/pxelinux.cfg are as follows:
"DEFAULT vmlinuz append vga-normal initrd=initrd.img ramdisk_size=256000 root=/dev/nfs nfsroot= rw noapic hpet=disable --"

I see that the <server-nfs>/data/kiosk/etc/fstab mounts /tmp as a tmpfs folder which should be writable, right?

So I'm confused why I cannot create the lock file in the /tmp.

Is it possible that the error is not from the /tmp in the normal root but comes from the initial root that is created during the early stages of the system startup by initrd?

How can change this behavior? I am not very familiar with the boot sequence of linux. I only know it basicly as follows:

1) bootloader loads kernel and initrd in ram. (in this case, the initrd and vmlinuz that are in the /var/lib/tftpboot/ folder.

2) The kernel loads and then a ramdevice is created in which the contents of initrd are copied.

3) the ramdev is mounted r/w by the kernel and becomes an initial root.

4) linuxrc in the initial root is executed. (How can I change or even view this linuxrc file? I think it is somewhere in the initrd. How can I mount this initrd and edit it's contents? - It seems to be a gzipped file but gunzipping it fails)
-> If I manage to edit this initrd file, can I make it mount a /tmp as readwrite?
-> Is it uberhaupt here that the nfs-root is mounted??

5) after linuxrc is done with it's abrahcadabrah, the root is then switched from the initial root to a definitive root on the nfs mounted system. (I think)

6) the init scripts from the newly mounted root do their thing. I found the startxfce4 in <server-nfs>/data/kiosk/usr/bin/startxfce4.

I wonder: where can I mount the /tmp folder read-writable even if the rest of the system is mounted readonly via nfs.

My thinking is that maybe it's possible to mount /tmp as rw and then unionfs it with the ramdisk as is the case in knoppix. but... HOW?

Any hints are appreciated. Sorry in advance for my long blahblah. I would gladly clarify if something is not clear.


ps: I'm thinking that maybe a ramdisk howto might help me further: But I'm not sure that's the right track to follow.

All times are GMT -5. The time now is 10:17 AM.