Comment 3 for bug 219192

Revision history for this message
Dafydd Walters (dafydd-walters-home) wrote :

I can confirm that this bug exists, and I concur with Tobias Gruetzmacher that the cause is the 'mode=' mount option in the casper script.

The fix is to unpack the initrd.gz file, edit the file 'scipts/casper' (to remove the 'mode=755' from the mount cowdevice line for the persistent case - see below), and repack the initrd.gz.

It looks to me as if the 'mode=755' was added as a mount option for the default tmpfs case ('mode' is a valid mount parameter for tmpfs), without regard to its impact on the ext2/3 case (i.e. when mounting the persistent casper-rw partition). Obviously 'mode' is not a valid parameter for mounting ext2/3 filesystems.

I'm not sure why the 'mode=' option was added for the tmpfs case for live (non-persistent) boot, but if there is a good reason, I suggest that the permanent fix be something like this, so that both modes work as expected:

392 cowdevice="tmpfs"
393 cow_fstype="tmpfs"
394 cow_mountopt="rw,noatime,mode=755"
395
396 # Looking for "${root_persistence}" device or file
397 if [ -n "${PERSISTENT}" ]; then
398 cowprobe=$(find_cow_device "${root_persistence}")
399 if [ -b "${cowprobe}" ]; then
400 cowdevice=${cowprobe}
401 cow_fstype=$(get_fstype "${cowprobe}")
402 cow_mountopt="rw,noatime"
403 else
404 [ "$quiet" != "y" ] && log_warning_msg "Unable to find the persistent medium"
405 fi
406 fi
407
408 mount ${cowdevice} -t ${cow_fstype} -o ${cow_mountopt} /cow || panic "Can not mount $cowdevice on /cow"
409

This is a very straightforward fix without any side effects (so it seems to me there's no reason why it shouldn't be rolled into the point-release version of Hardy due in July IMHO).

I've implemented this fix for a persistent live USB flash thumb drive product which my company sells, and I can confirm that it works like a charm.