Trying to install a pxe server using the slackware 12 PXE howto I found that the default initrd have to be modified.
I had the same problem as described in this thread :
Then I wondered if it was possible to have slackware booting without an initrd
. I didn't found any informations about this except for particular kernel (ram check if I remember well).
As it is not urgent I told myself : Give it a try.
I found the parameters of pxelinux.cfg/defaults (in tftpboot/slackware) that allow to mount nfs as root.
Here is my defaults
append init=/sbin/init root=/dev/nfs nfsroot=10.0.0.1:/exports/client ip=dhcp SLACK_KERNEL=pxe2.s devfs=nomount
Here is my pxe server /etc/export where I have an export for the system which is read-only and an export for the /home that I mount in the client fstab.
After a few problems with the /dev (was missing the necessary console and null devices) The workaround was to recompile a kernel (using 2.6.25) to have of fixed udev, the slackware 12 one failing to mount tmpfs on /dev.
For the /tmp and other compulsory temp directories I used the following fstab for clients.
10.0.0.1:/exports/client / nfs nfsvers=3,rsize=8192,wsize=8192,tcp
tmpfs /dev tmpfs rw
proc /proc proc defaults
tmpfs /tmp tmpfs rw
tmpfs /var/tmp tmpfs 0 0
ramfs /var/run ramfs 0 0
ramfs /var/log ramfs 0 0
ramfs /var/lock ramfs 0 0
ramfs /var/state ramfs 0 0
ramfs /var/tmp ramfs 0 0
ramfs /media ramfs 0 0
10.0.0.1:/exports/home /home nfs nfsvers=3,rsize=8192,wsize=8192,tcp
And finaly it works
after fixing the non-writable file in /etc like ld.so.cache mtab etc...
Then trying to launch X with KDE on client, it dropped me some more errors about non-writable directories.
Here I am and my questions are :
Is what I am doing stupid?
Does using pxe without initrd is not recommended (security, fiability ...)?
Last but not least what are the ways to avoid all the problems due to the read-only nfsroot? Does I need to exports some nfs mountpoint writable ?