I have spent the entire weekend on this, and I'm prepared to admit that I'm stuck.
I have searched until my fingers are raw, and you-know-who is sick of my questions.
I am running eeebuntu-3.0 (basically ubuntu 9.04, with a 2.6.29-1-netbook kernel tweaked for the eee)
It works fine.
Because I want to use it with GPS (
tangoGPS is excellent!) I moved
/home from the internal SSD "disk" to the SDHC card slot, where I have a 16GB card. Lots of room for maps
/dev/sdb1 is mounted by its UUID as
/home by an entry in
fstab. It works.
When I shutdown (verbosely), it goes through all the usual stuff, and finishes with
Unmounting local filesystems [OK]
Will now halt.
[Turns off]
So far, so good.
But when I reboot it says SDHC (SDHC is the volume label for my ext2 formatted SDHC "home" card) was not cleanly unmounted, check forced, and it runs
fsck (which sometimes "dies with error code 1").
Then, everything seems to work.
If I log out of the gnome GUI, log into a root CLI terminal on F1, and unmount
/dev/sdb1 manually, it unmounts without problems.
I can then issue reboot and I get a clean boot, without the
fsck.
So, why isn't the GUI shutdown doing the unmounting of
/home properly?
I have looked at
/etc/init.d/umountfs and it seems OK, but it is quite a complex script.
I added this near the start of
/etc/init.d/umountroot (because root is supposed to be unmounted after everything else, right?)
Code:
log_action_begin_msg "Forcing unmount of /dev/sdb1 from umountroot"
/bin/umount /dev/sdb1
log_action_end_msg $?
Now I get this error at shutdown:
Code:
Forcing unmount of /dev/sdb1 from umountroot
umount: /dev/sdb1: is not mounted
But then at the next boot I still get :
SDHC was not cleanly unmounted, check forced.
And
fsck runs a
gain.
How can
/dev/sdb1 be "not mounted" and yet "was not cleanly unmounted"?
Any ideas?