[Fedora-livecd-list] Re: Review? LiveUSB persistence
Douglas McClendon
dmc.fedora at filteredperception.org
Mon Feb 4 23:34:54 UTC 2008
Jeremy Katz wrote:
> Moving to the more appropriate list, original is at
> https://www.redhat.com/archives/fedora-devel-list/2008-January/msg03188.html for those not on fedora-devel
>
> On Thu, 2008-01-31 at 16:11 -0600, Douglas McClendon wrote:
>> I keep hearing these crazy rumors that RedHat actually wants to subject
>> actual users to my LiveUSB persistence feature next/this month.
>
> Lots of people want lots of different things. I've definitely left this
> sitting hanging too long and I apologize. I just didn't have time to
> poke over the holidays and my January was a bitty nutty. But I should
> be back to just my normal mail lag now ;-)
>
>> I for one think the feature is really cool, useful, and know of no
>> showstopping or even known bugs. But I also would not subject actual
>> users to it, without having had more people review it and sign off on
>> it. Anyway, to absolve myself of any responsibility, I once again
>> request code review and feedback-
>
> Overall, I think that it looks good. I think the big thing to work out
> is how best to integrate the initscripts changes. Especially as we're
> in parallel switching things over to upstart for F9. Just to make sure
> that I'm clear about what's there so that when we try to bribe Bill, we
> can do so effectively...
> * The unmount loops in /etc/init.d/functions are modified so that we
> don't unmount the underlying fs of the overlay
Correct. And the method currently in use is adding any subcomponents of
the rootfs to /dev/.fstab.live.special. I chose that location just
because it is available from both the initramfs and then later during
shutdown.
> * We don't want to sync the hwclock on shutdown of a live image
> * Do an overlay teardown on halt to replace the rw snapshot with a ro
> version
Yup, basically the old phase of 'remount rootfs readonly' just gets
quite a bit more complicated, but still essentially just that.
> The latter feels like we're going to want a generic hook to be able to
> run, perhaps from back in the initramfs. The middle feels largely
> unrelated to persistence in general, but just a "needs fixing" which
> will fit in nicely with other hwclock changes that are underway in
> rawhide. And the first I'm less clear on I guess.
>
> Outside of those changes, everything looks pretty straight-forward and
> reasonable. We'll want a little more error checking in
> livecd-iso-to-disk and it might also be nice to have another tool that
> lets you create your usb stick to use with the actual cd form (I did
> this by hand and it was pretty nice that I could easily get it
> working!). As for the findoverlay bits, for right now, leaving them as
> a separate script is fine. In the longer term, we're hopefully going to
> kill mayflower and be able to use more "normal" initrds[1], at which
> point pulling it in more directly would be nice.
I have no preference where the code lives. The main thing I would
highlight is how originally I wrote findoverlay, with the mindset that
the overlay file/layer could be located anywhere. But then, to focus on
getting something really usable, I honed in on the assumption of the
overlay file living together with the LiveOS on a LiveUSB. As a result
the findoverlay script definitely does not look like entirely grade A
code right now. But I have no objection to it getting merged in any
form, and perhaps later having cleanup/refactoring passes, perhaps with
even later passes that add back the functionality I originally had in mind.
> As far as reliability... shutting down cleanly, I can't cause a problem.
> I pulled the usb stick from a box and got some garbage in a file I had
> written. I want to do some more playing here, but I also wanted to get
> this mail out today. Worst case, if we say "you need to shut down
> cleanly", then so be it. It might be nice if we flag clean vs not
> shutdown so that we can force a fsck in unclean cases. But no clue if
> that's even feasible; I'll take a look, though.
My vague understanding right now would that it would be treated just
like a normal rootfs. I.e. the same things happening if it is flagged
as dirty, as if a normal system. But... I guess then there is the
issue of fscking the host filesystem, e.g. vfat(ext3?) of the LiveUSB. Ugh.
One immediate enhancement I thought of, is that perhaps the interface
for initialization can be taken out of livecd-iso-to-disk, and put into
the initramfs. I.e. a new kernel cmdline parameter of
"initoverlay=256MB"
would just invoke the dd if=/dev/zero... during that boot. Maybe even a
default value that just uses half the free space on the LiveUSB.
Thus perhaps livecd-iso-to-disk just by default adds another couple menu
entries to syslinux, one for 'boot with persistence' and one for
'initialize persistence'. Or perhaps the former automatically
initializes if none is found, and the latter, or some post-boot system
command could 'reinitialize persistence'...
-dmc
More information about the livecd
mailing list