casper booting from nfsroot doesn't respect nfs filesystem options correctly

Bug #476208 reported by Daniel Golle
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
casper (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: casper

the use of nfsroot filesystem options when booting casper is not possibly. nfs filesystem options are usually needed as for example the choice of transport layer (UDP or TCP), transport unit size, etc. cannot be supplied by DHCP.
first of all it is very confusing that the regular ubuntu initrd nfsroot option works differently when using casper:
casper doesn't accept filesystem options to be appended like nfsroot=[server:]/path[,options] but rather seems to provide an aditional boot option nfsopts. unfortunately this option is not treated correctly in scripts/casper in do_nfsmount() as no additional "-o" is given in the nfsmount call an the use of quoting in kernel boot options is terribly ugly.
probably the same applies when using CIFS, but i didn't have the chance to verify that.
a patch against the current development tree to fix the problem is attached.
the patch simply prefixes the ${NFSROOT} variable, if set, with the string "-o ". in this way using the nfsopts boot option is possible.
in general it is probably better to harmonize the syntax of nfsroot such that the nfsroot string is parsed the same way the nfs script normal initramfs does...

Revision history for this message
Daniel Golle (daniel-golle) wrote :
tags: added: patch
Changed in casper (Ubuntu):
importance: Undecided → Medium
Changed in casper (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package casper - 1.326

---------------
casper (1.326) quantal; urgency=low

  * 22desktop_settings:
    - Rename 22screensaver to 22desktop_settings
    - Move 22gnome_panel_data's content to 22desktop_settings
    - Flush overrides in 22desktop_settings to avoid getting duplicate keys
      when using persistence.
    - Check for gsettings-desktop-schemas instead of gnome-panel-data
  * 35fix_language_selector:
    - Use sed against the original file (from rofs) instead of the target file.
      This avoids another case where the change is re-applied at every boot
      when using persistence.
  * 25adduser:
    - Remove RUNNING_UNDER_GDM from /etc/environment which was a big hack
      for back when we still used xscreensaver and was getting appended with
      every single boot.
    - Use /etc/sudoers.d instead of appending to /etc/sudoers, avoid getting
      duplicate lines with every reboot.
  * 23networking:
    - Change default /etc/network/interfaces to match that in /rofs, makes it
      easier to diff /etc when debugging casper.
  * casper-init, casper, 19-keyboard, casper-functions:
    - Remove any remaining reference to usplash as it's been deprecated for a
      long long time and just makes things harder to read.
  * casper-update-initramfs:
    - Exit when called from a non-writable media (cdrom) or when called from
      ubiquity. This fixes a > 1 minute wait when clicking "Try Ubuntu".
  * 19keyboard:
    - Add code to detect that the keyboard layout changed from the previous
      value and flush the gsettings key so that the indicator is properly
      reset. (LP: #946406)
  * 43disable_updateinitramfs:
    - Don't try to chmod a dangling symlink.
    - Only write /usr/sbin/update-initramfs if it doesn't already exist.
  * postinst:
    - Remove code generating symlink for /usr/sbin/update-initramfs to
      /usr/share/casper/casper-update-iniramfs as the diversion and symlinking
      is done in the initramfs and that code was only useful when the shim was
      first introduced. (LP: #984276)
  * scripts/casper:
    - Allow specifying live-media on the command line, helps when booting
      computers that are unable to boot a CD/USB disk. (LP: #423616)
    - Fix NFSOPTS handling by adding the needed comma and sticking it to the
      existing "ro" option of nfsmount (LP: #476208)
  * 22serialtty:
    - Move 22serialtty to 26serialtty to avoid overriding the newly generated
      upstart jobs. Note that this will spawn getty instead of login, but
      it's probably for the best as we need a specific baudrate. (LP: #747888)
 -- Stephane Graber <email address hidden> Tue, 02 Oct 2012 18:11:44 -0400

Changed in casper (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.