grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LVM write support from grub2. Writing to environment block in core.i


From: Vladimir 'phcoder' Serbinenko
Subject: Re: LVM write support from grub2. Writing to environment block in core.img
Date: Wed, 11 Nov 2009 01:18:26 +0100
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109)

Roger Cruz wrote:
> Hi there developers,
>
> I posted this message last night and I was wondering if one of you
> would be kind enough to make a reply as to your assessment of having
> an LVM write function implemented.  I am in dire need to have this
> capability so I'm willing to code myself if need to.  I just need to
> understand the pitfalls and get an idea of the amount of time and work
> to implement it.  I have looked at the grub_lvm_read and it appears to
> have all the necessary logic to decode the lvm format.  I was thinking
> of reusing that code and at the end of it simply do a disk->dev->write
> which should invoke the underlying hard disk write routine (I'm new to
> grub2 so this is my understanding from a quick parse of the code).
>
When writing to devices we prefer to be careful. We don't often need to
write so the writing code isn't well-tested and any bug in it can have
grave consequences. LVM is problematic because if you have multi-disk
LVM some volumes may be invisible due to BIOS limitations. I'm not
familiar with LVM but if it has checksums they need to be updated as
well or volume will become inconsistent. In one word writing to LVM is
dangerous and I would prefer bootloader with less functionality rather
than one damaging my disks. I'm not the only developper but overall
there is a relative consensus not to write if it can be avoided.
On the other hand writing to embedding zone is a good idea and with Seth
Goldberg we decided that it's best sollution for root on ZFS which has
similar problems
> Any help is extremely appreciate it... even if it is a short message
> to say my idea doesn't work because...
>
> Thanks
> R.
>
> Date: Mon, 9 Nov 2009 17:11:53 -0800 (PST)
> From: Roger Cruz <address@hidden <mailto:address@hidden>>
> Subject: LVM write support from grub2. Writing to environment block in
>     core.img
>
> I have a system where the boot partition is on top of an LVM.  I'm
> using the loadenv module to save state and remember the previously
> booted entry.  I have something like this:
>
> if [ ${prev_saved_entry} ]; then  saved_entry=${prev_saved_entry} 
> save_env saved_entry  prev_saved_entry=  save_env prev_saved_entryfi
> In examining why save_env is not writing to grubenv, I came across
> this LVM routine that says LVM writes are not supported.
> static grub_err_t
> grub_lvm_write (grub_disk_t disk __attribute ((unused)),
>              grub_disk_addr_t sector __attribute ((unused)),
>              grub_size_t size __attribute ((unused)),
>             const char *buf __attribute ((unused)))
> {
>   return GRUB_ERR_NOT_IMPLEMENTED_YET;
> }
> Is there a plan to add this support?  Anyone currently working on it
> that I may get an early implementation from?  If not, is there a
> technical reason why this would be hard for someone (maybe me) to
> implement?
>
> As a work-around, I'm considering using the environment block in
> core.img.  Are there routines that can be run at boot time to allow
> grub to change the variables there, perhaps using the same module
> (loadenv) and so it can be used as "save_env -f core.img"?  Anyone see
> any reasons why I shouldn't write to that space?
>
> Thanks
> Roger
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>   


-- 
Regards
Vladimir 'phcoder' Serbinenko


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]