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=10.0.2.147:/data/kiosk 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: http://jootamam.net/howto-initramfs-image.htm
But I'm not sure that's the right track to follow.