From: Andrey Borzenkov <arvidjaar@gmail.com>
To: grub-devel@gnu.org
Subject: Re: [RFC] grub-install C rewrite
Date: Sun, 6 Oct 2013 19:56:10 +0400 [thread overview]
Message-ID: <20131006195610.523c90b0@opensuse.site> (raw)
In-Reply-To: <52517990.1020505@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2648 bytes --]
В Sun, 06 Oct 2013 16:54:08 +0200
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:
> On 26.09.2013 15:08, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> > Hello, all. Recently I made some order in hostdisk.c and getroot.c
> > involving splitting in OS-specific parts.
> > In the same time I added WinAPI version of getroot/hostdisk allowing
> > grub-probe to work on windows natively
> > Also on-going is AROS-specific parts.
> > Windows and AROS are not friendly with bash.
> > The attempt to make both multiple files of same type work and handling
> > whitespaces/newlines/... in filenames would result in very ugly code
> > with loads of evals.
> > Current code may have subtle assumptions on behaviour of common tools
> > like sed and on locale (E.g. "[a-z]" doesn't cover u if locale is Estonian).
> > So to check viability I rewrote grub-install in C. This is mostly proof
> > of concept with loads of FIXMEs but I could boot i386-pc install made
> > with it. In many aspects (static variables, some tests, general
> > structure) it's reminiscent of sh version of grub-install it's based on.
> > Some functionality is likely to stay OS-specific, e.g. executing
> > compressors or determining firmware.
> Attached is the second iteration of this patch.
> @@ -308,6 +310,7 @@
> installdir = sbin;
> mansection = 8;
> common = util/grub-setup.c;
> + common = util/setup_bios.c;
+ extra_dist = util/setup.c;
> @@ -324,6 +327,7 @@
> installdir = sbin;
> mansection = 8;
> common = util/grub-setup.c;
> + common = util/setup_sparc.c;
+ extra_dist = util/setup.c;
> +program = {
> mansection = 8;
> installdir = sbin;
> name = grub-install;
>
> - common = util/grub-install_header;
> - common = util/grub-install.in;
> + common = util/mkimage.c;
> + common = util/grub-install.c;
> + common = util/grub-install-common.c;
> + common = util/setup_bios.c;
> + common = util/setup_sparc.c;
+ extra_dist = util/setup.c;
> Now the biggest problem
> is in reading /etc/default/grub and getting GRUB_DISTRIBUTOR and
> GRUB_ENABLE_CRYPTODISK. Trouble is that now this file is simply included
> in bash script and e.g. Debian uses it to determine GRUB_DISTRIBUTOR
> based on lsb_release output. Does anyone have an elegant solution for this?
>
If declaring this as unsupported is not an option, the only solution is
wrapper, something like
sh -c '/etc/default/grub; printf
GRUB_DISTRIBUTOR=%s\\nGRUB_ENABLE_CRYPTODISK=%s\\n "$GRUB_DISTRIBUTOR" "$GRUB_ENABLE_CRYPTODISK"'
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2013-10-06 15:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-26 13:08 [RFC] grub-install C rewrite Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-26 13:35 ` Lennart Sorensen
2013-09-26 13:59 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-26 14:44 ` Lennart Sorensen
2013-09-26 18:49 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-26 20:22 ` Lennart Sorensen
2013-09-26 20:29 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-26 20:51 ` Chris Murphy
2013-09-26 22:15 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-27 3:10 ` Andrey Borzenkov
2013-09-26 17:10 ` Seth Goldberg
2013-09-26 18:51 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-09-26 18:56 ` Darren J Moffat
2013-09-26 18:57 ` Seth Goldberg
2013-09-26 14:49 ` Andrey Borzenkov
2013-09-26 15:01 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-06 14:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-06 15:56 ` Andrey Borzenkov [this message]
2013-10-06 18:05 ` Vladimir 'φ-coder/phcoder' Serbinenko
-- strict thread matches above, loose matches on Subject: below --
2013-09-26 17:52 Kalamatee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131006195610.523c90b0@opensuse.site \
--to=arvidjaar@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.