[Bug 365853] Re: casper-rw file not detected due to improper use of fstype
Brian Murray
brian at ubuntu.com
Tue Oct 25 22:34:07 UTC 2011
** Changed in: casper (Ubuntu)
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to casper in Ubuntu.
https://bugs.launchpad.net/bugs/365853
Title:
casper-rw file not detected due to improper use of fstype
Status in “casper” package in Ubuntu:
Invalid
Bug description:
Binary package hint: casper
ubuntu-9.04-rc-desktop-i386.iso
Casper is unable to find the file casper-rw in the root directory of a
FAT filesystem located on partition 1 of a USB drive (/dev/sdb1 on
target system). Kernel booted with the "persistence" option.
Inside initrd.gz, the file scripts/casper has the persistence. It
looks for casper-rw for whole system persistence and home-rw for home
directory persistence. It uses a function find_cow_device() in
scripts/casper-helpers. This in turn makes use of
/usr/lib/klibc/bin/fstype to report the filesystem type for each
partition it finds. Unfortunately, this program is returning UNKNOWN
for the usb drive partition, among others. find_cow_device expects
this program to return "vfat". This is impossible since fstype has
no test for FAT filesystems, as verified by looking at the source for
klibc-1.5 and by running strings on it.
This bug may have been introduced in a hurried attempt to prevent
casper from mounting, and therefore replaying the journal file, on
journaling filesystems on a system in hibernation. Or perhaps a
modified version of fstype.c was used which was then reverted.
I am, incidentally, using a manually constructed USB image due to a failure of usb-creator to put the files on the filesystem in a sensible order that can be booted on systems with a BIOS 512MB (no LBA) limit on usb devices presented as floppies. It has been carefully checked using diff and cmp to be identical to the image created by usb-creator except for a sensible file order, syslinux.cfg is in /syslinux/ where it belongs, and isolinux.cfg is still there. The differences are not relevant to this bug. The initrd.gz file on the original ISO image was checked to contain this bug. /usr/lib/klibc/bin/fstype (on running system) and /casper/initrd.gz/bin/fstype (from ISO image) where both checked with "strings $filename | fgrep -i fat". Neither is capable of detecting FAT filesystems and returning the string "vfat".
http://www.freelabs.com/~whitis/linux/usb_ubuntu_9.04RC/index.xhtml
The usb partition was formated using mkfs.msdos (on a debian system).
But, again, not relevent since the bit pattern present is irrelevant
to detection failure when there is no code to check for FAT in the
first place.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/365853/+subscriptions
More information about the foundations-bugs
mailing list