[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
howtos:network_services:nfs_root [2018/05/28 21:22 (UTC)] – [Creating the kernel] bifferoshowtos:network_services:nfs_root [2018/05/28 21:38 (UTC)] – [Configuring LILO] bifferos
Line 70: Line 70:
          
 <code>File Systems -> Network File systems -> Root file system on NFS [*]</code> <code>File Systems -> Network File systems -> Root file system on NFS [*]</code>
 +
 +[OPTIONAL] It's pretty useful to append a local version to this kernel release.  I'd advise doing this to differentiate it from your standard Slackware huge kernel and avoid clobbering the modules from that by mistake:
 +
 +<code>(-nfsroot) General Setup -> Local version - append to kernel release</code>
  
 Save the configuration and then do a: Save the configuration and then do a:
Line 80: Line 84:
 ==== Configuring LILO ==== ==== Configuring LILO ====
  
-Let's call the kernel /boot/vmlinuz-nfs (copy it there when it's done building.+Let's call the kernel /boot/vmlinuz-nfsroot. Add a section to the lilo.conf file:
-Add a section to the lilo.conf file:+
  
-<code>image=/boot/vmlinuz-nfs+<code>image=/boot/vmlinuz-nfsroot
   label = nfs   label = nfs
   read-only   read-only
   append= "root=/dev/nfs ip=dhcp nfsroot=172.17.0.80:/nfs_share,v3 rw"</code>   append= "root=/dev/nfs ip=dhcp nfsroot=172.17.0.80:/nfs_share,v3 rw"</code>
  
-(substitute your nfsroot server IP address for 172.17.0.80)+If you didn't want to use dhcp you'll now need to have a read of  
 +Documentation/filesystems/nfs/nfsroot.txt in the kernel sources to figure out the many options that you can  
 +include for ip= other than 'dhcp'. 
 Obviously keep your default linux kernel in another image= section so you can switch between booting the nfsroot and the normal kernel to play around with this stuff. Obviously keep your default linux kernel in another image= section so you can switch between booting the nfsroot and the normal kernel to play around with this stuff.
  
-You cannot specify a normal root = entry in this section because lilo doesn't recognise /dev/nfs for root (the device doesn't actually exist to LILO).  So instead just specify it in the append= line which lilo doesn't try to interpret, and lilo will include the extra image without error.+You cannot specify a normal root= entry in this section because lilo doesn't recognise /dev/nfs for root (the device doesn't actually exist to LILO).  So instead just specify it in the append= line which lilo doesn't try to interpret, and lilo will include this extra nfsroot image without error.
  
 The v3 seems to be really important in making anything at all happen on boot.  If that isn't set, no communication seems to occur. The v3 seems to be really important in making anything at all happen on boot.  If that isn't set, no communication seems to occur.
  
-The 'rw' is also important.  It prevents the fsck of the root fs. because root is NFS and can't be checked.  Slackware won't boot properly unless that is set.  Instead of doing this you could optionally hack fsck out of the slackware startup scripts on your NFS root, however simply using 'rw' is quicker (albeit dirtier).+The 'rw' is also important.  It prevents the fsck of the root fs. because root is NFS and can't be checked.  Slackware won't boot properly if we give 'ro'.  Instead of using 'rw' you could optionally hack fsck out of the slackware startup scripts on your NFS root, however simply using 'rw' is quicker (albeit dirtier)
 + 
 +With the kernel compilation finished, copy the kernel into the /boot directory and rename it: 
 + 
 +<code>cp /usr/src/linux/arch/x86/boot/bzImage /boot/vmlinuz-nfsroot</code> 
 + 
 +It may be created elsewhere depending on your architecture, e.g. x64, arm.
  
 +Don't forget to run LILO:
  
 +<code># lilo</code>
  
 ====== Sources ====== ====== Sources ======
 howtos:network_services:nfs_root ()