1 |
Alec Warner posted on Tue, 21 Feb 2012 14:38:53 -0800 as excerpted: |
2 |
|
3 |
> On Tue, Feb 21, 2012 at 1:26 AM, Pacho Ramos <pacho@g.o> wrote: |
4 |
>> El lun, 20-02-2012 a las 20:02 -0600, Ryan Hill escribió: |
5 |
>>> On Mon, 20 Feb 2012 17:17:30 -0800 Zac Medico wrote: |
6 |
>>>> On 02/20/2012 05:03 PM, Ryan Hill wrote: |
7 |
>>>>> On Mon, 20 Feb 2012 21:34:14 +0100 Pacho Ramos wrote: |
8 |
>>>>> |
9 |
>>>>>> [W]hat issues are preventing us from unmasking gcc-4.6 |
10 |
>>>>>> (and think on a near stabilization)? |
11 |
|
12 |
>>>>> Grub is the only blocker. |
13 |
|
14 |
>>>> Stabilize grub-1.99, and modify the grub-0.9x ebuilds to die if they |
15 |
>>>> can't find a supported compiler. |
16 |
|
17 |
The latter should be doable now, with the die suggesting either |
18 |
grub-static or gcc-config to gcc-4.5, user's choice. |
19 |
|
20 |
The former (grub-1.99)... will take some time... mostly for docs, see my |
21 |
experience as noted below. |
22 |
|
23 |
>>> What's the state of 1.99? I know someone was working on it recently. |
24 |
>>> We'd also have to update the handbooks. I think it could be several |
25 |
>>> months of work to get it ready, and I'd like to unmask 4.6 last |
26 |
>>> September. |
27 |
>>> |
28 |
>> As looks like fixing old grub is far away because nobody know what is |
29 |
>> causing that issues, probably trying to get grub-1.99 ready for |
30 |
>> stabilization would be interesting (we will need to do that sooner or |
31 |
>> later anyway) |
32 |
> |
33 |
> Ubuntu has used grub2 for 3 years, I am considering working on making it |
34 |
> stable for at least x86 / amd64. |
35 |
|
36 |
Ubuntu also defaults to upstart (IIRC, it's certainly not openrc!) and |
37 |
unity. I run grub2 here and am all for the update (for one, it allows |
38 |
amd64/nomultilib to actually build grub, no more forced grub-static!), |
39 |
but surely there's better arguments in a gentoo context than mentioning |
40 |
the U-word, however long they've been doing it. |
41 |
|
42 |
|
43 |
My grub2 upgrade experience, FWIW. TL;DR: Gentoo grub2 docs need SERIOUS |
44 |
improvement for even ~arch usage (the bulk of the below), but I'm |
45 |
thrilled with how it works now that I have it figured out and setup to my |
46 |
liking. VAST improvement over grub-legacy! |
47 |
|
48 |
FWIW, I unmasked gcc-4.6 when I was still running grub-static, but I was |
49 |
thrilled to discover that grub-1.99 builds (and runs) just fine with it, |
50 |
even on amd64/no-multilib. |
51 |
|
52 |
**BUT** there's still a HUGE lack of decent gentoo specific grub2 |
53 |
documentation. The stub of a guide-page that the ebuild mentions, at |
54 |
least as of a few weeks ago when I upgraded, is a start, but it can |
55 |
almost be said to be more missing than there. the holes are so big! |
56 |
There's no way that's fit for even ~arch yet, which is why it's still |
57 |
unkeyworded. grub2 /works/ OK, there's simply no decent documentation at |
58 |
the gentoo level, and the documentation that's out there just isn't meant |
59 |
for or targeted at gentoo users /at/ /all/! |
60 |
|
61 |
This is the current doc, FWIW: |
62 |
http://dev.gentoo.org/~scarabeus/grub-2-guide.xml |
63 |
|
64 |
Since I'm running a quad-spindle md/raid (generally raid-1) setup, except |
65 |
that /boot is only two spindles, thus allowing for a backup /boot on the |
66 |
other two, I had the luxury of building and installing (to system) |
67 |
grub-1.99 with DONT_MOUNT_BOOT=1 set in /etc/portage/env/sys-boot/grub, |
68 |
then installing it to one boot record, gpt-BIOS partition and /boot at a |
69 |
time, keeping the other grub-static until I was comfortable with grub2's |
70 |
functionality. |
71 |
|
72 |
That allowed me to do a trial-and-error install and play around with the |
73 |
one, until I was absolutely SURE it was working well, then install to the |
74 |
second spindle and verify them both, before even TOUCHING the backup |
75 |
/boot and grub-static install on the other two spindles. |
76 |
|
77 |
It's a very good thing, too, as it took me QUITE some trial and error to |
78 |
get things working well, because THE DOCS JUST AREN'T THERE yet. So get |
79 |
the docs there and IMO it's basically ready to go, but that's going to |
80 |
take some time, even to get them to reasonable ~arch level, for folks who |
81 |
don't have the luxury of multiple bootable spindles and /boot install |
82 |
locations, as I do, and thus need documentation that works, at least for |
83 |
a minimal boot, the first time they let it touch /boot and (on BIOS |
84 |
systems, gpt and mbr both) the boot sector. |
85 |
|
86 |
Some problems I ran into: |
87 |
|
88 |
1) grub-static blocks all grub, not just <=grub-1.90. |
89 |
|
90 |
https://bugs.gentoo.org/show_bug.cgi?id=398451 |
91 |
|
92 |
As mentioned above, I kept both installed. There's no file-conflicts, |
93 |
once grub-static is set to block <=grub-1.90, not all grub, as that work |
94 |
is long since done, slotting grub2 against grub-legacy, only grub-static |
95 |
hasn't been updated appropriately. |
96 |
|
97 |
2) The doc covers BIOS/mbr and UEFI, but not BIOS/gpt |
98 |
|
99 |
https://bugs.gentoo.org/show_bug.cgi?id=398459 |
100 |
|
101 |
The current doc URL again: |
102 |
|
103 |
http://dev.gentoo.org/~scarabeus/grub-2-guide.xml |
104 |
|
105 |
Some people (like me) switched to gpt some time ago. The existing doc |
106 |
doesn't say anything about what they should do. As it happens, a gpt |
107 |
BIOS partition is detected automatically, and it solves a nasty problem |
108 |
MBR folks might have if there's not room between the boot sector and the |
109 |
first partition for grub-core. |
110 |
|
111 |
That's the only two I bugged, as I don't want to bother people /too/ much |
112 |
with bugs on masked packages. I figured once that doc bug gets fixed and |
113 |
there's some sign of movement, I can file other bugs. |
114 |
|
115 |
3) LVM is mentioned as auto-detected, but md/raid isn't covered. As it |
116 |
happens, it's auto-detected and handling has VASTLY improved compared to |
117 |
grub-legacy, as well. |
118 |
|
119 |
4) There needs to be a section dealing with what to do (repartition?) if |
120 |
there's no room between the boot sector and the first partition for the |
121 |
grub-core image. |
122 |
|
123 |
On gpt, this image will be placed in the BIOS partition if it's |
124 |
available, but mbr doesn't have such a thing, and I'm sure there's a few |
125 |
gpt folks out there who thought they didn't need a BIOS partition, since |
126 |
grub-legacy doesn't use it anyway. Luckily, I had the foresight to setup |
127 |
BOTH a BIOS and an EFI partition, for forward compatibility, and that |
128 |
"just works". But surely there's others still on MBR without a |
129 |
sufficient gap (I had problems with that and grub-legacy, it installed |
130 |
to /boot but /boot was/is reiserfs, which would relocate critical bits |
131 |
out from under grub-legacy at times, thus the /boot and |
132 |
/bak/boot scheme), and still others on gpt who didn't have that |
133 |
foresight, who will have problems and need to know how to solve them. |
134 |
|
135 |
5) After system installation I had trouble installing to the backup boot |
136 |
(/bak/boot, normal /boot was still grub-static and I wanted to keep it |
137 |
that way until I knew grub2 was working), because the script has /boot |
138 |
hardcoded -- it allows the boot record device to be set, but hard-codes |
139 |
/boot, which doesn't make a lot of sense. There's a danger of having |
140 |
/boot on an entirely different device, which may or may not actually be |
141 |
present when the device with that boot record is booted. Surely, they |
142 |
should both be settable. (upstream? What about the pkg_config phase?) |
143 |
|
144 |
I worked around that with a combination of hacking and rearranging my |
145 |
fstab and scripts to mount what had been /bak/boot as /boot. |
146 |
|
147 |
6) Most existing documentation seems to assume grub-mkconfig |
148 |
(grub2-mkconfig on gentoo), but on my system anyway, running |
149 |
grub2-mkconfig took longer than building a kernel from clean! |
150 |
Seriously, building a kernel takes about 4 minutes here, and |
151 |
grub2-mkconfig was taking about 5! While that's /arguably/ acceptable |
152 |
for folks doing distro kernel upgrades perhaps a few times a year, it's |
153 |
definitely *NOT* acceptable for people like me who routinely run live-git |
154 |
kernels, normally upgrading them every few days, but occasionally doing a |
155 |
git-bisect with a new kernel every few minutes for 12 rounds or so! |
156 |
Doubling that turnaround time due to upstream's incredibly STUPID |
157 |
grub2-mkconfig implementation just isn't going to cut it! |
158 |
|
159 |
With a bunch of script-timestamp debugging, I discovered that the problem |
160 |
was some 30-ish calls to grub2-probe, each of which took ~10 seconds! |
161 |
The primary problem is upstream's, as neither grub2-probe nor |
162 |
grub2-mkconfig caches results, so *EVERY* call to grub2-probe takes ~10 |
163 |
seconds, and there are around *30* of them! However, the wouldfallout is |
164 |
gentoo's to deal with. |
165 |
|
166 |
The workaround is simple enough, or *WOULD* be with proper documentation, |
167 |
simply don't use grub2-mkconfig. Instead, hand-configure grub.cfg just |
168 |
as gentooers have been hand-configuring grub.conf for years. Done right, |
169 |
unlike the automated monster upstream uses, such a config doesn't even |
170 |
need updated with a kernel upgrade, it "just works". |
171 |
|
172 |
(Here, I use the dated but still extremely effective update-symlinks-to- |
173 |
newest-two and a stable backup, trick. It's in my kernel install script, |
174 |
and the grub config simply points to the symlink so doesn't itself need |
175 |
updated.) |
176 |
|
177 |
FWIW, Arch actually recommends hand-configuring too. (Note the FWIW, |
178 |
unlike the U-word comparison I complained about above. IMO arch's close |
179 |
enough to gentoo to at least have /some/ relevance, but the "FWIW" is |
180 |
there to cover and acknowledge those who find it worth little if |
181 |
anything.) |
182 |
|
183 |
But... gentoo needs some documentation for it, because as I said, most of |
184 |
what's out there assumes the automated /etc/grub.d/* and grub2-mkconfig. |
185 |
|
186 |
There's nothing on that in the current doc, AT ALL. |
187 |
|
188 |
|
189 |
But WOW, once it was done and before I've even setup a graphics theme, |
190 |
has it ever been worth it! My favorite feature is being able to access |
191 |
any file from any filesystem, directly from grub. On top of md/raid or |
192 |
lvm2, doesn't matter, it can still access it! No more having to keep |
193 |
copies of such files on /boot! Grub fonts and themes in /usr/share and |
194 |
for that matter, kernel command-line textfile documentation (read with |
195 |
the build-in pager) in /usr/src/linux/Documentation, NOT A PROBLEM! =:^) |
196 |
|
197 |
Plus, being able to actually build it from amd64/nomultilib instead of |
198 |
having to depend on grub-static, is a big plus. =:^) |
199 |
|
200 |
-- |
201 |
Duncan - List replies preferred. No HTML msgs. |
202 |
"Every nonfree program has a lord, a master -- |
203 |
and if you use the program, he is your master." Richard Stallman |