Merge lp:~vorlon/ubuntu/saucy/grub2/lp.1236625 into lp:~ubuntu-core-dev/ubuntu/raring/grub2/raring
- Saucy (13.10)
- lp.1236625
- Merge into raring
Status: | Superseded |
---|---|
Proposed branch: | lp:~vorlon/ubuntu/saucy/grub2/lp.1236625 |
Merge into: | lp:~ubuntu-core-dev/ubuntu/raring/grub2/raring |
Diff against target: |
3698 lines (+1964/-711) 68 files modified
Makefile.util.def (+6/-0) config.h.in (+2/-0) configure.ac (+16/-0) debian/bug-script (+1/-1) debian/build-efi-images (+24/-6) debian/changelog (+249/-0) debian/config.in (+3/-2) debian/control (+3/-3) debian/dirs.in (+0/-1) debian/grub-common.install.in (+0/-1) debian/grub-common.maintscript.hurd.in (+3/-0) debian/grub-common.maintscript.kfreebsd.in (+3/-0) debian/grub-common.maintscript.linux.in (+3/-0) debian/grub.d/05_debian_theme (+24/-16) debian/grub2.dirs (+0/-1) debian/grub2.install (+0/-2) debian/install-bin.in (+0/-3) debian/install.in (+0/-2) debian/patches/acpihalt_improvements.patch (+191/-0) debian/patches/efi_always_install_grub_cfg.patch (+36/-0) debian/patches/efidisk_non_512_sectors.patch (+56/-0) debian/patches/install_bios_setup_path.patch (+20/-0) debian/patches/install_signed.patch (+9/-13) debian/patches/maybe_quiet.patch (+362/-0) debian/patches/mkconfig_emacs_autosave.patch (+20/-0) debian/patches/mkconfig_signed_kernel.patch (+2/-2) debian/patches/mkconfig_ubuntu_distributor.patch (+11/-7) debian/patches/os_prober_efi.patch (+36/-0) debian/patches/probe_error_handling.patch (+22/-0) debian/patches/restore_mkdevicemap.patch (+1/-1) debian/patches/script_check_no_commands.patch (+87/-0) debian/patches/series (+12/-7) debian/patches/sleep_shift.patch (+53/-0) debian/patches/texinfo_ordering.patch (+21/-0) debian/patches/ubuntu_acpihalt_improvements.patch (+0/-191) debian/patches/ubuntu_crashkernel.patch (+3/-3) debian/patches/ubuntu_failed_boot_menu.patch (+27/-5) debian/patches/ubuntu_gfxpayload_filter.patch (+2/-2) debian/patches/ubuntu_linux_quiet.patch (+0/-41) debian/patches/ubuntu_normal_quiet.patch (+0/-62) debian/patches/ubuntu_quick_boot.patch (+17/-8) debian/patches/ubuntu_quiet_grub_loading.patch (+0/-106) debian/patches/ubuntu_really_quiet.patch (+0/-77) debian/patches/ubuntu_recovery_nomodeset.patch (+2/-2) debian/patches/ubuntu_sleep_shift.patch (+0/-53) debian/patches/ubuntu_vt_handoff.patch (+3/-3) debian/patches/ubuntu_wubi_no_windows.patch (+0/-47) debian/patches/wubi_no_windows.patch (+47/-0) debian/po/hu.po (+411/-0) debian/postinst.in (+2/-3) debian/rules (+19/-10) docs/grub-dev.texi (+1/-1) grub-core/boot/i386/pc/boot.S (+5/-1) grub-core/boot/i386/pc/diskboot.S (+10/-1) grub-core/disk/efi/efidisk.c (+14/-7) grub-core/kern/main.c (+11/-0) grub-core/kern/rescue_reader.c (+4/-0) grub-core/normal/main.c (+6/-0) grub-core/normal/menu.c (+14/-1) tests/grub_script_no_commands.in (+21/-0) util/deviceiter.c (+1/-1) util/getroot.c (+1/-0) util/grub-install.in (+13/-9) util/grub-mkconfig.in (+1/-1) util/grub-script-check.c (+9/-1) util/grub.d/00_header.in (+14/-0) util/grub.d/10_linux.in (+11/-7) util/grub.d/30_os-prober.in (+19/-0) |
To merge this branch: | bzr merge lp:~vorlon/ubuntu/saucy/grub2/lp.1236625 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Colin Watson | Pending | ||
Review via email: mp+189745@code.launchpad.net |
This proposal has been superseded by a proposal from 2013-10-08.
Commit message
Description of the change
This seems like the straightforward fix for bug #1236625, please let me know
if I've screwed it up somewhere :)
- 2356. By Steve Langasek
-
Rename patch, per Colin
- 2357. By Steve Langasek
-
rearrange the patch at Colin's request
- 2358. By Steve Langasek
-
Remove accidentally-
included cruft from the patch
Unmerged revisions
- 2358. By Steve Langasek
-
Remove accidentally-
included cruft from the patch - 2357. By Steve Langasek
-
rearrange the patch at Colin's request
- 2356. By Steve Langasek
-
Rename patch, per Colin
- 2355. By Steve Langasek
-
debian/
patches/ efi_always_ install_ grub_cfg. patch: unconditionally
create grub.cfg on our EFI boot partition. Closes LP: #1236625. - 2354. By Colin Watson
-
releasing package grub2 version 2.00-19ubuntu1
- 2353. By Colin Watson
-
merge from Debian 2.00-19
- 2352. By Colin Watson
-
* Backport from upstream:
- Handle partitions on non-512B EFI disks (LP: #1065281). - 2351. By Colin Watson
-
releasing package grub2 version 2.00-18ubuntu4
- 2350. By Colin Watson
-
Restore "-p /EFI/ubuntu" to the grub-mkimage call that creates
grubx64.efi, to fix the case of booting from a hard disk with Secure
Boot enabled. - 2349. By Colin Watson
-
releasing package grub2 version 2.00-18ubuntu3
Preview Diff
1 | === modified file 'Makefile.util.def' |
2 | --- Makefile.util.def 2013-02-01 17:45:21 +0000 |
3 | +++ Makefile.util.def 2013-10-08 00:15:07 +0000 |
4 | @@ -701,6 +701,12 @@ |
5 | |
6 | script = { |
7 | testcase; |
8 | + name = grub_script_no_commands; |
9 | + common = tests/grub_script_no_commands.in; |
10 | +}; |
11 | + |
12 | +script = { |
13 | + testcase; |
14 | name = partmap_test; |
15 | common = tests/partmap_test.in; |
16 | }; |
17 | |
18 | === modified file 'config.h.in' |
19 | --- config.h.in 2012-02-04 20:47:29 +0000 |
20 | +++ config.h.in 2013-10-08 00:15:07 +0000 |
21 | @@ -41,6 +41,8 @@ |
22 | #define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@ |
23 | /* Define to 1 to enable disk cache statistics. */ |
24 | #define DISK_CACHE_STATS @DISK_CACHE_STATS@ |
25 | +/* Define to 1 to make GRUB quieter at boot time. */ |
26 | +#define QUIET_BOOT @QUIET_BOOT@ |
27 | |
28 | #define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@" |
29 | #define GRUB_PLATFORM "@GRUB_PLATFORM@" |
30 | |
31 | === modified file 'configure.ac' |
32 | --- configure.ac 2012-09-04 17:12:59 +0000 |
33 | +++ configure.ac 2013-10-08 00:15:07 +0000 |
34 | @@ -1076,6 +1076,17 @@ |
35 | AC_SUBST([LIBZFS]) |
36 | AC_SUBST([LIBNVPAIR]) |
37 | |
38 | +AC_ARG_ENABLE([quiet-boot], |
39 | + [AS_HELP_STRING([--enable-quiet-boot], |
40 | + [emit fewer messages at boot time (default=no)])], |
41 | + [], [enable_quiet_boot=no]) |
42 | +if test x"$enable_quiet_boot" = xyes ; then |
43 | + QUIET_BOOT=1 |
44 | +else |
45 | + QUIET_BOOT=0 |
46 | +fi |
47 | +AC_SUBST([QUIET_BOOT]) |
48 | + |
49 | LIBS="" |
50 | |
51 | AC_SUBST([FONT_SOURCE]) |
52 | @@ -1232,5 +1243,10 @@ |
53 | else |
54 | echo With libzfs support: No "($libzfs_excuse)" |
55 | fi |
56 | +if [ x"$enable_quiet_boot" = xyes ]; then |
57 | +echo With quiet boot: Yes |
58 | +else |
59 | +echo With quiet boot: No |
60 | +fi |
61 | echo "*******************************************************" |
62 | ] |
63 | |
64 | === renamed file 'debian/presubj' => 'debian/bug-presubj' |
65 | === renamed file 'debian/script' => 'debian/bug-script' |
66 | --- debian/script 2011-03-28 22:49:42 +0000 |
67 | +++ debian/bug-script 2013-10-08 00:15:07 +0000 |
68 | @@ -44,7 +44,7 @@ |
69 | if [ "$REPLY" = yep ]; then |
70 | echo >&3 |
71 | echo "*********************** BEGIN LVM" >&3 |
72 | - su root -c "vgdisplay; pvdisplay; lvdisplay" >&3 |
73 | + su root -c "vgdisplay; pvdisplay; lvdisplay" >&3 || true |
74 | echo "*********************** END LVM" >&3 |
75 | fi |
76 | |
77 | |
78 | === modified file 'debian/build-efi-images' |
79 | --- debian/build-efi-images 2013-02-01 17:45:21 +0000 |
80 | +++ debian/build-efi-images 2013-10-08 00:15:07 +0000 |
81 | @@ -47,10 +47,20 @@ |
82 | |
83 | # Skeleton configuration file which finds the real boot disk. |
84 | cat >"$workdir/grub.cfg" <<EOF |
85 | -if ! search --file --set=root /.disk/info; then |
86 | - search --file --set=root /.disk/mini-info |
87 | -fi |
88 | -set prefix=(\$root)/boot/grub |
89 | +if [ -z "\$prefix" -o ! -e "\$prefix" ]; then |
90 | + if ! search --file --set=root /.disk/info; then |
91 | + search --file --set=root /.disk/mini-info |
92 | + fi |
93 | + set prefix=(\$root)/boot/grub |
94 | +fi |
95 | +if [ -e \$prefix/$platform/grub.cfg ]; then |
96 | + source \$prefix/$platform/grub.cfg |
97 | +else |
98 | + source \$prefix/grub.cfg |
99 | +fi |
100 | +EOF |
101 | + |
102 | +cat >"$workdir/grub-netboot.cfg" <<EOF |
103 | if [ -e \$prefix/$platform/grub.cfg ]; then |
104 | source \$prefix/$platform/grub.cfg |
105 | else |
106 | @@ -61,20 +71,28 @@ |
107 | mkfs.msdos -C "$workdir/memdisk.fat" 64 |
108 | mcopy -i "$workdir/memdisk.fat" "$workdir/grub.cfg" ::grub.cfg |
109 | |
110 | +mkfs.msdos -C "$workdir/memdisk-netboot.fat" 64 |
111 | +mcopy -i "$workdir/memdisk-netboot.fat" "$workdir/grub-netboot.cfg" ::grub.cfg |
112 | + |
113 | CD_MODULES=" |
114 | all_video boot btrfs cat chain configfile echo efifwsetup |
115 | - efinet ext2 fat font gfxmenu gfxterm gzio halt hfsplus |
116 | + efinet ext2 fat font gettext gfxmenu gfxterm gzio halt hfsplus |
117 | iso9660 jpeg keystatus loadenv linux linuxefi memdisk minicmd |
118 | normal part_apple part_msdos part_gpt password_pbkdf2 png |
119 | reboot search search_fs_uuid search_fs_file search_label sleep |
120 | test video" |
121 | GRUB_MODULES="$CD_MODULES lvm mdraid09 mdraid1x" |
122 | +NET_MODULES="$CD_MODULES tftp" |
123 | |
124 | "$grub_mkimage" -O "$platform" -o "$outdir/gcd$efi_name.efi" \ |
125 | - -d "$grub_core" -p /EFI/BOOT \ |
126 | + -d "$grub_core" \ |
127 | -c "$workdir/grub-bootstrap.cfg" -m "$workdir/memdisk.fat" \ |
128 | + -p /boot/grub \ |
129 | $CD_MODULES |
130 | "$grub_mkimage" -O "$platform" -o "$outdir/grub$efi_name.efi" \ |
131 | -d "$grub_core" -p /EFI/ubuntu $GRUB_MODULES |
132 | +"$grub_mkimage" -O "$platform" -o "$outdir/grubnet$efi_name.efi" \ |
133 | + -d "$grub_core" -c "$workdir/grub-bootstrap.cfg" \ |
134 | + -m "$workdir/memdisk-netboot.fat" -p /grub $NET_MODULES |
135 | |
136 | exit 0 |
137 | |
138 | === modified file 'debian/changelog' |
139 | --- debian/changelog 2013-04-09 09:14:57 +0000 |
140 | +++ debian/changelog 2013-10-08 00:15:07 +0000 |
141 | @@ -1,3 +1,244 @@ |
142 | +grub2 (2.00-19ubuntu2) UNRELEASED; urgency=low |
143 | + |
144 | + * debian/patches/efi_always_install_grub_cfg.patch: unconditionally |
145 | + create grub.cfg on our EFI boot partition. Closes LP: #1236625. |
146 | + |
147 | + -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 07 Oct 2013 16:55:32 -0700 |
148 | + |
149 | +grub2 (2.00-19ubuntu1) saucy; urgency=low |
150 | + |
151 | + * Resynchronise with Debian. Remaining changes: |
152 | + - Default to hiding the menu; holding down Shift at boot will show it. |
153 | + - Add crashkernel option. |
154 | + - Bypass menu unless other OSes are installed or Shift is pressed. |
155 | + - Show the boot menu if the previous boot failed. |
156 | + - Check hardware support before using gfxpayload=keep. |
157 | + - Set vt.handoff=7 for smooth handoff to kernel graphical mode. |
158 | + - In recovery mode, add nomodeset to the Linux kernel arguments, and |
159 | + remove the 'set gfxpayload=keep' command. |
160 | + - Handle probing striped DM-RAID devices. |
161 | + |
162 | + -- Colin Watson <cjwatson@ubuntu.com> Wed, 18 Sep 2013 21:20:28 +0100 |
163 | + |
164 | +grub2 (2.00-19) unstable; urgency=low |
165 | + |
166 | + [ Colin Watson ] |
167 | + * Merge from Ubuntu: |
168 | + - debian/build-efi-images: Where possible, make use of the device path |
169 | + derived from the EFI Loaded Image Protocol to compute the prefix |
170 | + (LP: #1097570). |
171 | + - debian/build-efi-images: Add a netboot image target to our set of |
172 | + prebuilt EFI images (thanks, Steve Langasek). |
173 | + * Backport from upstream: |
174 | + - Handle partitions on non-512B EFI disks (LP: #1065281). |
175 | + |
176 | + [ Phillip Susi ] |
177 | + * restore_mkdevicemap.patch: Fix dmraid uuid check to look for "DMRAID-" |
178 | + anywhere instead of only at the start, since kpartx prefixes it with |
179 | + "partN-" (LP: #1183915). |
180 | + |
181 | + -- Colin Watson <cjwatson@debian.org> Wed, 18 Sep 2013 17:18:27 +0100 |
182 | + |
183 | +grub2 (2.00-18ubuntu4) saucy; urgency=low |
184 | + |
185 | + * Restore "-p /EFI/ubuntu" to the grub-mkimage call that creates |
186 | + grubx64.efi, to fix the case of booting from a hard disk with Secure |
187 | + Boot enabled. |
188 | + |
189 | + -- Colin Watson <cjwatson@ubuntu.com> Thu, 12 Sep 2013 15:27:32 +0100 |
190 | + |
191 | +grub2 (2.00-18ubuntu3) saucy; urgency=low |
192 | + |
193 | + * Fix recordfail-disabling patch to take account of the GRUB_PREFIX |
194 | + variable no longer existing. |
195 | + |
196 | + -- Colin Watson <cjwatson@ubuntu.com> Wed, 11 Sep 2013 17:41:22 +0100 |
197 | + |
198 | +grub2 (2.00-18ubuntu2) saucy; urgency=low |
199 | + |
200 | + [ Colin Watson ] |
201 | + * debian/build-efi-images: Where possible, make use of the device path |
202 | + derived from the EFI Loaded Image Protocol to compute the prefix |
203 | + (LP: #1097570). |
204 | + |
205 | + [ Steve Langasek ] |
206 | + * debian/build-efi-images: Add a netboot image target to our set of |
207 | + prebuilt EFI images. |
208 | + |
209 | + [ Richard Laager ] |
210 | + * Disable the use of recordfail for filesystems to which GRUB cannot write |
211 | + (LP: #913336). |
212 | + |
213 | + -- Colin Watson <cjwatson@ubuntu.com> Wed, 11 Sep 2013 14:58:41 +0100 |
214 | + |
215 | +grub2 (2.00-18ubuntu1) saucy; urgency=low |
216 | + |
217 | + * Resynchronise with Debian. Remaining changes: |
218 | + - Default to hiding the menu; holding down Shift at boot will show it. |
219 | + - Add crashkernel option. |
220 | + - Bypass menu unless other OSes are installed or Shift is pressed. |
221 | + - Show the boot menu if the previous boot failed. |
222 | + - Check hardware support before using gfxpayload=keep. |
223 | + - Set vt.handoff=7 for smooth handoff to kernel graphical mode. |
224 | + - In recovery mode, add nomodeset to the Linux kernel arguments, and |
225 | + remove the 'set gfxpayload=keep' command. |
226 | + - Handle probing striped DM-RAID devices. |
227 | + |
228 | + -- Colin Watson <cjwatson@ubuntu.com> Mon, 26 Aug 2013 21:59:39 +0200 |
229 | + |
230 | +grub2 (2.00-18) unstable; urgency=low |
231 | + |
232 | + * Add gettext module to signed UEFI images (LP: #1104627). |
233 | + * Put the preprocessor definition for quiet-boot in the right place so |
234 | + that it actually takes effect. |
235 | + |
236 | + -- Colin Watson <cjwatson@debian.org> Mon, 26 Aug 2013 17:23:09 +0100 |
237 | + |
238 | +grub2 (2.00-17ubuntu1) saucy; urgency=low |
239 | + |
240 | + * Resynchronise with Debian. Remaining changes: |
241 | + - Default to hiding the menu; holding down Shift at boot will show it. |
242 | + - Add crashkernel option. |
243 | + - Bypass menu unless other OSes are installed or Shift is pressed. |
244 | + - Show the boot menu if the previous boot failed. |
245 | + - Check hardware support before using gfxpayload=keep. |
246 | + - Set vt.handoff=7 for smooth handoff to kernel graphical mode. |
247 | + - In recovery mode, add nomodeset to the Linux kernel arguments, and |
248 | + remove the 'set gfxpayload=keep' command. |
249 | + - Handle probing striped DM-RAID devices. |
250 | + |
251 | + -- Colin Watson <cjwatson@ubuntu.com> Thu, 15 Aug 2013 11:40:37 +0200 |
252 | + |
253 | +grub2 (2.00-17) unstable; urgency=low |
254 | + |
255 | + * Really include patches to reduce visual clutter in normal mode when |
256 | + building for Ubuntu. |
257 | + |
258 | + -- Colin Watson <cjwatson@debian.org> Thu, 15 Aug 2013 09:58:59 +0100 |
259 | + |
260 | +grub2 (2.00-16) unstable; urgency=low |
261 | + |
262 | + * Make reportbug script file robust against su authentication failures and |
263 | + missing LVM commands. |
264 | + * Backport from upstream: |
265 | + - Move @itemize after @subsection to satisfy texinfo-5.1. |
266 | + - grub-mkconfig: Fix detection of Emacs autosave files. |
267 | + - Fix spurious failure on Xen partition devices without disk devices |
268 | + (closes: #708614). |
269 | + * Merge from Ubuntu: |
270 | + - Treat Kubuntu as an alias for Ubuntu in GRUB_DISTRIBUTOR (Harald |
271 | + Sitter). |
272 | + - Make any EFI system boot into the shim (if installed) even if |
273 | + SecureBoot is disabled (Stéphane Graber). |
274 | + - Allow Shift to interrupt 'sleep --interruptible'. |
275 | + - If building for Ubuntu: |
276 | + + Reduce visual clutter in normal mode. |
277 | + + Remove verbose messages printed before reading configuration. |
278 | + + Suppress kernel/initrd progress messages, except in recovery mode. |
279 | + + Suppress "GRUB loading" message unless Shift is held down. |
280 | + - Skip Windows os-prober entries on Wubi systems. |
281 | + * Consolidate debian/rules logic for when to build signed images. |
282 | + |
283 | + -- Colin Watson <cjwatson@debian.org> Thu, 15 Aug 2013 08:35:53 +0100 |
284 | + |
285 | +grub2 (2.00-15ubuntu2) saucy; urgency=low |
286 | + |
287 | + * Add ubuntu_shim_by_default.patch that makes any EFI system boot into |
288 | + the shim (if installed) even if SecureBoot is disabled. (LP: #1184297) |
289 | + |
290 | + -- Stéphane Graber <stgraber@ubuntu.com> Thu, 18 Jul 2013 15:40:25 -0400 |
291 | + |
292 | +grub2 (2.00-15ubuntu1) saucy; urgency=low |
293 | + |
294 | + [ Colin Watson ] |
295 | + * Resynchronise with Debian. Remaining changes: |
296 | + - Default to hiding the menu; holding down Shift at boot will show it. |
297 | + - Add crashkernel option. |
298 | + - Bypass menu unless other OSes are installed or Shift is pressed. |
299 | + - Allow Shift to interrupt 'sleep --interruptible'. |
300 | + - Reduce visual clutter in normal mode. |
301 | + - Remove verbose messages printed before reading configuration. |
302 | + - Suppress kernel/initrd progress messages, except in recovery mode. |
303 | + - Show the boot menu if the previous boot failed. |
304 | + - Suppress "GRUB loading" message unless Shift is held down. |
305 | + - Check hardware support before using gfxpayload=keep. |
306 | + - Set vt.handoff=7 for smooth handoff to kernel graphical mode. |
307 | + - In recovery mode, add nomodeset to the Linux kernel arguments, and |
308 | + remove the 'set gfxpayload=keep' command. |
309 | + - Skip Windows os-prober entries on Wubi systems, and suppress the menu |
310 | + by default if those are the only other-OS entries. |
311 | + - Handle probing striped DM-RAID devices. |
312 | + - Disable cursor as early as possible in grub_main. |
313 | + - Treat Kubuntu as an alias for Ubuntu in GRUB_DISTRIBUTOR. |
314 | + |
315 | + [ Harald Sitter ] |
316 | + * Update mkconfig_ubuntu_distributor.patch to handle Kubuntu like Ubuntu; |
317 | + no GNU/Linux suffix. |
318 | + |
319 | + -- Colin Watson <cjwatson@ubuntu.com> Sat, 13 Jul 2013 17:08:01 +0100 |
320 | + |
321 | +grub2 (2.00-15) unstable; urgency=low |
322 | + |
323 | + [ Colin Watson ] |
324 | + * Install reportbug presubj and script files in all binary packages. |
325 | + * Make grub-yeeloong.postinst explicitly install with |
326 | + --target=mipsel-loongson (closes: #708204). |
327 | + * Make grub-script-check fail on scripts containing no commands (closes: |
328 | + #713886). |
329 | + * Make the description of grub-firmware-qemu a little more generic, rather |
330 | + than assuming that bochsbios provides qemu's default BIOS image (closes: |
331 | + #714277). |
332 | + * Don't assume that the presence of /etc/default/grub or |
333 | + /etc/default/grub.d/*.cfg means that any particular item is set in it |
334 | + (LP: #1199731). |
335 | + |
336 | + [ Debconf translations ] |
337 | + * Hungarian (Dr. Nagy Elemér Károly). |
338 | + |
339 | + -- Colin Watson <cjwatson@debian.org> Sat, 13 Jul 2013 11:04:15 +0100 |
340 | + |
341 | +grub2 (2.00-14ubuntu1) saucy; urgency=low |
342 | + |
343 | + * Resynchronise with Debian. Remaining changes: |
344 | + - Default to hiding the menu; holding down Shift at boot will show it. |
345 | + - Add crashkernel option. |
346 | + - Bypass menu unless other OSes are installed or Shift is pressed. |
347 | + - Allow Shift to interrupt 'sleep --interruptible'. |
348 | + - Reduce visual clutter in normal mode. |
349 | + - Remove verbose messages printed before reading configuration. |
350 | + - Suppress kernel/initrd progress messages, except in recovery mode. |
351 | + - Show the boot menu if the previous boot failed. |
352 | + - Suppress "GRUB loading" message unless Shift is held down. |
353 | + - Check hardware support before using gfxpayload=keep. |
354 | + - Set vt.handoff=7 for smooth handoff to kernel graphical mode. |
355 | + - In recovery mode, add nomodeset to the Linux kernel arguments, and |
356 | + remove the 'set gfxpayload=keep' command. |
357 | + - Skip Windows os-prober entries on Wubi systems, and suppress the menu |
358 | + by default if those are the only other-OS entries. |
359 | + - Handle probing striped DM-RAID devices. |
360 | + - Disable cursor as early as possible in grub_main. |
361 | + - Treat Kubuntu as an alias for Ubuntu in GRUB_DISTRIBUTOR. |
362 | + |
363 | + -- Colin Watson <cjwatson@ubuntu.com> Thu, 09 May 2013 11:38:58 +0100 |
364 | + |
365 | +grub2 (2.00-14) unstable; urgency=low |
366 | + |
367 | + * Merge from Ubuntu: |
368 | + - Don't call update-grub in the zz-update-grub kernel hook if |
369 | + /boot/grub/grub.cfg doesn't exist. |
370 | + - acpihalt: expand parser to handle SSDTs and some more opcodes. Fixes |
371 | + test suite hang with current seabios. |
372 | + * Remove kernel-specific grub.d conffiles that were dropped from packages |
373 | + built for all but their corresponding kernel type in 1.96+20090307-1 |
374 | + (closes: #703539). |
375 | + * Look for grub-bios-setup in /usr/lib/grub/i386-pc/ as well (closes: |
376 | + #705636). |
377 | + * Merge 1.99-27.1 (thanks, Steve McIntyre): |
378 | + - Add entries for Windows Boot Manager found via UEFI in os-prober |
379 | + (closes: #698914). |
380 | + |
381 | + -- Colin Watson <cjwatson@debian.org> Thu, 09 May 2013 00:14:55 +0100 |
382 | + |
383 | grub2 (2.00-13ubuntu3) raring; urgency=low |
384 | |
385 | * In 05_debian_theme treat 'Kubuntu' as Ubuntu alias in $GRUB_DISTRIBUTOR. |
386 | @@ -701,6 +942,14 @@ |
387 | |
388 | -- Colin Watson <cjwatson@debian.org> Thu, 06 Sep 2012 19:04:21 +0100 |
389 | |
390 | +grub2 (1.99-27.1) unstable; urgency=medium |
391 | + |
392 | + * NMU |
393 | + * Add entries for Windows Boot Manager found via UEFI in |
394 | + os-prober. Closes: #698914 before the Wheezy release. |
395 | + |
396 | + -- Steve McIntyre <93sam@debian.org> Fri, 26 Apr 2013 23:53:34 +0100 |
397 | + |
398 | grub2 (1.99-27) unstable; urgency=low |
399 | |
400 | * Amend gfxpayload_keep_default.patch to no longer remove the call to |
401 | |
402 | === modified file 'debian/config.in' |
403 | --- debian/config.in 2013-01-21 13:18:16 +0000 |
404 | +++ debian/config.in 2013-10-08 00:15:07 +0000 |
405 | @@ -47,13 +47,14 @@ |
406 | |
407 | for x in /etc/default/grub /etc/default/grub.d/*.cfg ; do |
408 | if [ -e "$x" ]; then |
409 | - DEFAULT_FOUND="yes" |
410 | . "$x" |
411 | fi |
412 | done |
413 | |
414 | -if [ "$DEFAULT_FOUND" = "yes" ]; then |
415 | +if [ "${GRUB_CMDLINE_LINUX+set}" = set ]; then |
416 | db_set grub2/linux_cmdline "$GRUB_CMDLINE_LINUX" |
417 | +fi |
418 | +if [ "${GRUB_CMDLINE_LINUX_DEFAULT+set}" = set ]; then |
419 | db_set grub2/linux_cmdline_default "$GRUB_CMDLINE_LINUX_DEFAULT" |
420 | |
421 | case @PACKAGE@ in |
422 | |
423 | === modified file 'debian/control' |
424 | --- debian/control 2013-02-01 17:45:21 +0000 |
425 | +++ debian/control 2013-10-08 00:15:07 +0000 |
426 | @@ -42,7 +42,7 @@ |
427 | Homepage: http://www.gnu.org/software/grub/ |
428 | XS-Debian-Vcs-Bzr: http://anonscm.debian.org/bzr/pkg-grub/trunk/grub/ |
429 | XS-Debian-Vcs-Browser: http://anonscm.debian.org/loggerhead/pkg-grub/trunk/grub/ |
430 | -Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu/raring/grub2/raring |
431 | +Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu/saucy/grub2/saucy |
432 | |
433 | Package: grub2 |
434 | Section: oldlibs |
435 | @@ -439,8 +439,8 @@ |
436 | Multi-Arch: foreign |
437 | Description: GRUB firmware image for QEMU |
438 | This package contains a binary of GRUB that has been built for use as |
439 | - firmware for QEMU. It can be used as a replacement for the standard |
440 | - PC BIOS provided by the bochsbios package (bios.bin). |
441 | + firmware for QEMU. It can be used as a replacement for other PC BIOS |
442 | + images provided by seabios, bochsbios, and so on. |
443 | . |
444 | In order to make QEMU use this firmware, simply add `-bios grub.bin' when |
445 | invoking it. |
446 | |
447 | === modified file 'debian/dirs.in' |
448 | --- debian/dirs.in 2009-08-30 11:51:21 +0000 |
449 | +++ debian/dirs.in 2013-10-08 00:15:07 +0000 |
450 | @@ -1,4 +1,3 @@ |
451 | usr/bin |
452 | usr/sbin |
453 | usr/share/grub |
454 | -usr/share/bug/@PACKAGE@ |
455 | |
456 | === modified file 'debian/grub-common.install.in' |
457 | --- debian/grub-common.install.in 2012-09-14 13:57:40 +0000 |
458 | +++ debian/grub-common.install.in 2013-10-08 00:15:07 +0000 |
459 | @@ -1,4 +1,3 @@ |
460 | -../../debian/presubj usr/share/bug/grub-common |
461 | ../../debian/apport/source_grub2.py usr/share/apport/package-hooks/ |
462 | ../../debian/grub.d etc |
463 | |
464 | |
465 | === added file 'debian/grub-common.maintscript.hurd.in' |
466 | --- debian/grub-common.maintscript.hurd.in 1970-01-01 00:00:00 +0000 |
467 | +++ debian/grub-common.maintscript.hurd.in 2013-10-08 00:15:07 +0000 |
468 | @@ -0,0 +1,3 @@ |
469 | +# Removed in 1.96+20090307-1. |
470 | +rm_conffile /etc/grub.d/10_freebsd 2.00-14~ |
471 | +rm_conffile /etc/grub.d/10_linux 2.00-14~ |
472 | |
473 | === added file 'debian/grub-common.maintscript.kfreebsd.in' |
474 | --- debian/grub-common.maintscript.kfreebsd.in 1970-01-01 00:00:00 +0000 |
475 | +++ debian/grub-common.maintscript.kfreebsd.in 2013-10-08 00:15:07 +0000 |
476 | @@ -0,0 +1,3 @@ |
477 | +# Removed in 1.96+20090307-1. |
478 | +rm_conffile /etc/grub.d/10_hurd 2.00-14~ |
479 | +rm_conffile /etc/grub.d/10_linux 2.00-14~ |
480 | |
481 | === added file 'debian/grub-common.maintscript.linux.in' |
482 | --- debian/grub-common.maintscript.linux.in 1970-01-01 00:00:00 +0000 |
483 | +++ debian/grub-common.maintscript.linux.in 2013-10-08 00:15:07 +0000 |
484 | @@ -0,0 +1,3 @@ |
485 | +# Removed in 1.96+20090307-1. |
486 | +rm_conffile /etc/grub.d/10_freebsd 2.00-14~ |
487 | +rm_conffile /etc/grub.d/10_hurd 2.00-14~ |
488 | |
489 | === modified file 'debian/grub.d/05_debian_theme' |
490 | --- debian/grub.d/05_debian_theme 2013-04-09 09:14:57 +0000 |
491 | +++ debian/grub.d/05_debian_theme 2013-10-08 00:15:07 +0000 |
492 | @@ -28,19 +28,22 @@ |
493 | BACKGROUND_CACHE=".background_cache" |
494 | |
495 | set_default_theme(){ |
496 | - if [ "$GRUB_DISTRIBUTOR" = Ubuntu ] || [ "$GRUB_DISTRIBUTOR" = Kubuntu ]; then |
497 | - # Set a monochromatic theme for Ubuntu. |
498 | - echo "${1}set menu_color_normal=white/black" |
499 | - echo "${1}set menu_color_highlight=black/light-gray" |
500 | + case $GRUB_DISTRIBUTOR in |
501 | + Ubuntu|Kubuntu) |
502 | + # Set a monochromatic theme for Ubuntu. |
503 | + echo "${1}set menu_color_normal=white/black" |
504 | + echo "${1}set menu_color_highlight=black/light-gray" |
505 | |
506 | - if [ -e /lib/plymouth/themes/default.grub ]; then |
507 | - sed "s/^/${1}/" /lib/plymouth/themes/default.grub |
508 | - fi |
509 | - else |
510 | - # Set the traditional Debian blue theme. |
511 | - echo "${1}set menu_color_normal=cyan/blue" |
512 | - echo "${1}set menu_color_highlight=white/blue" |
513 | - fi |
514 | + if [ -e /lib/plymouth/themes/default.grub ]; then |
515 | + sed "s/^/${1}/" /lib/plymouth/themes/default.grub |
516 | + fi |
517 | + ;; |
518 | + *) |
519 | + # Set the traditional Debian blue theme. |
520 | + echo "${1}set menu_color_normal=cyan/blue" |
521 | + echo "${1}set menu_color_highlight=white/blue" |
522 | + ;; |
523 | + esac |
524 | } |
525 | |
526 | module_available(){ |
527 | @@ -170,10 +173,15 @@ |
528 | fi |
529 | |
530 | # If we haven't found a background image yet, use the default from desktop-base. |
531 | -if [ "$GRUB_DISTRIBUTOR" != Ubuntu ] && [ "$GRUB_DISTRIBUTOR" != Kubuntu ] && \ |
532 | - set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then |
533 | - exit 0 |
534 | -fi |
535 | +case $GRUB_DISTRIBUTOR in |
536 | + Ubuntu|Kubuntu) |
537 | + ;; |
538 | + *) |
539 | + if set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then |
540 | + exit 0 |
541 | + fi |
542 | + ;; |
543 | +esac |
544 | |
545 | # Finally, if all of the above fails, use the default theme. |
546 | set_default_theme |
547 | |
548 | === removed file 'debian/grub2.dirs' |
549 | --- debian/grub2.dirs 2007-05-15 19:52:26 +0000 |
550 | +++ debian/grub2.dirs 1970-01-01 00:00:00 +0000 |
551 | @@ -1,1 +0,0 @@ |
552 | -usr/share/bug/grub2 |
553 | |
554 | === removed file 'debian/grub2.install' |
555 | --- debian/grub2.install 2007-05-15 19:52:26 +0000 |
556 | +++ debian/grub2.install 1970-01-01 00:00:00 +0000 |
557 | @@ -1,2 +0,0 @@ |
558 | -debian/presubj usr/share/bug/grub2 |
559 | -debian/script usr/share/bug/grub2 |
560 | |
561 | === modified file 'debian/install-bin.in' |
562 | --- debian/install-bin.in 2012-09-14 10:59:14 +0000 |
563 | +++ debian/install-bin.in 2013-10-08 00:15:07 +0000 |
564 | @@ -1,6 +1,3 @@ |
565 | -../../debian/presubj usr/share/bug/@PACKAGE@ |
566 | -../../debian/script usr/share/bug/@PACKAGE@ |
567 | - |
568 | usr/lib/grub/@CPU_PLATFORM@/*.img |
569 | usr/lib/grub/@CPU_PLATFORM@/*.lst |
570 | usr/lib/grub/@CPU_PLATFORM@/*.mod |
571 | |
572 | === modified file 'debian/install.in' |
573 | --- debian/install.in 2012-09-14 10:59:14 +0000 |
574 | +++ debian/install.in 2013-10-08 00:15:07 +0000 |
575 | @@ -1,4 +1,2 @@ |
576 | -../../debian/presubj usr/share/bug/@PACKAGE@ |
577 | -../../debian/script usr/share/bug/@PACKAGE@ |
578 | ../../debian/kernel/zz-update-grub etc/kernel/postinst.d |
579 | ../../debian/kernel/zz-update-grub etc/kernel/postrm.d |
580 | |
581 | === added file 'debian/patches/acpihalt_improvements.patch' |
582 | --- debian/patches/acpihalt_improvements.patch 1970-01-01 00:00:00 +0000 |
583 | +++ debian/patches/acpihalt_improvements.patch 2013-10-08 00:15:07 +0000 |
584 | @@ -0,0 +1,191 @@ |
585 | +Description: acpihalt: expand parser to handle SSDTs and some more opcodes |
586 | +Author: Colin Watson <cjwatson@ubuntu.com> |
587 | +Forwarded: https://lists.gnu.org/archive/html/grub-devel/2013-03/msg00060.html |
588 | +Last-Update: 2013-05-09 |
589 | + |
590 | +Index: b/grub-core/commands/acpihalt.c |
591 | +=================================================================== |
592 | +--- a/grub-core/commands/acpihalt.c |
593 | ++++ b/grub-core/commands/acpihalt.c |
594 | +@@ -41,6 +41,7 @@ |
595 | + #endif |
596 | + |
597 | + #ifndef GRUB_DSDT_TEST |
598 | ++#include <grub/mm.h> |
599 | + #include <grub/misc.h> |
600 | + #include <grub/time.h> |
601 | + #include <grub/cpu/io.h> |
602 | +@@ -146,6 +147,10 @@ |
603 | + ptr += skip_name_string (ptr, end); |
604 | + ptr++; |
605 | + break; |
606 | ++ case GRUB_ACPI_EXTOPCODE_EVENT_OP: |
607 | ++ ptr++; |
608 | ++ ptr += skip_name_string (ptr, end); |
609 | ++ break; |
610 | + case GRUB_ACPI_EXTOPCODE_OPERATION_REGION: |
611 | + ptr++; |
612 | + ptr += skip_name_string (ptr, end); |
613 | +@@ -158,7 +163,12 @@ |
614 | + return 0; |
615 | + break; |
616 | + case GRUB_ACPI_EXTOPCODE_FIELD_OP: |
617 | ++ case GRUB_ACPI_EXTOPCODE_DEVICE_OP: |
618 | ++ case GRUB_ACPI_EXTOPCODE_PROCESSOR_OP: |
619 | ++ case GRUB_ACPI_EXTOPCODE_POWER_RES_OP: |
620 | ++ case GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP: |
621 | + case GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP: |
622 | ++ case GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP: |
623 | + ptr++; |
624 | + ptr += decode_length (ptr, 0); |
625 | + break; |
626 | +@@ -170,12 +180,14 @@ |
627 | + } |
628 | + |
629 | + static int |
630 | +-get_sleep_type (grub_uint8_t *table, grub_uint8_t *end) |
631 | ++get_sleep_type (grub_uint8_t *table, grub_uint8_t *ptr, grub_uint8_t *end, |
632 | ++ grub_uint8_t *scope, int scope_len) |
633 | + { |
634 | +- grub_uint8_t *ptr, *prev = table; |
635 | +- int sleep_type = -1; |
636 | ++ grub_uint8_t *prev = table; |
637 | ++ int sleep_type = -2; |
638 | + |
639 | +- ptr = table + sizeof (struct grub_acpi_table_header); |
640 | ++ if (!ptr) |
641 | ++ ptr = table + sizeof (struct grub_acpi_table_header); |
642 | + while (ptr < end && prev < ptr) |
643 | + { |
644 | + int add; |
645 | +@@ -202,7 +214,8 @@ |
646 | + } |
647 | + case GRUB_ACPI_OPCODE_NAME: |
648 | + ptr++; |
649 | +- if (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0) |
650 | ++ if ((!scope || memcmp (scope, "\\", scope_len) == 0) && |
651 | ++ (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0)) |
652 | + { |
653 | + int ll; |
654 | + grub_uint8_t *ptr2 = ptr; |
655 | +@@ -241,6 +254,25 @@ |
656 | + return -1; |
657 | + break; |
658 | + case GRUB_ACPI_OPCODE_SCOPE: |
659 | ++ { |
660 | ++ int scope_sleep_type; |
661 | ++ int ll; |
662 | ++ grub_uint8_t *name; |
663 | ++ int name_len; |
664 | ++ |
665 | ++ ptr++; |
666 | ++ add = decode_length (ptr, &ll); |
667 | ++ name = ptr + ll; |
668 | ++ name_len = skip_name_string (name, ptr + add); |
669 | ++ if (!name_len) |
670 | ++ return -1; |
671 | ++ scope_sleep_type = get_sleep_type (table, name + name_len, |
672 | ++ ptr + add, name, name_len); |
673 | ++ if (scope_sleep_type != -2) |
674 | ++ return scope_sleep_type; |
675 | ++ ptr += add; |
676 | ++ break; |
677 | ++ } |
678 | + case GRUB_ACPI_OPCODE_IF: |
679 | + case GRUB_ACPI_OPCODE_METHOD: |
680 | + { |
681 | +@@ -291,7 +323,7 @@ |
682 | + return 2; |
683 | + } |
684 | + |
685 | +- printf ("Sleep type = %d\n", get_sleep_type (buf, buf + len)); |
686 | ++ printf ("Sleep type = %d\n", get_sleep_type (buf, NULL, buf + len, NULL, 0)); |
687 | + free (buf); |
688 | + fclose (f); |
689 | + return 0; |
690 | +@@ -304,8 +336,10 @@ |
691 | + { |
692 | + struct grub_acpi_rsdp_v20 *rsdp2; |
693 | + struct grub_acpi_rsdp_v10 *rsdp1; |
694 | +- struct grub_acpi_table_header *rsdt; |
695 | +- grub_uint32_t *entry_ptr; |
696 | ++ struct grub_acpi_table_header *rsdt; |
697 | ++ grub_uint32_t *entry_ptr; |
698 | ++ grub_uint32_t port = 0; |
699 | ++ int sleep_type = -1; |
700 | + |
701 | + rsdp2 = grub_acpi_get_rsdpv2 (); |
702 | + if (rsdp2) |
703 | +@@ -324,33 +358,39 @@ |
704 | + { |
705 | + if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "FACP", 4) == 0) |
706 | + { |
707 | +- grub_uint32_t port; |
708 | + struct grub_acpi_fadt *fadt |
709 | + = ((struct grub_acpi_fadt *) (grub_addr_t) *entry_ptr); |
710 | + struct grub_acpi_table_header *dsdt |
711 | + = (struct grub_acpi_table_header *) (grub_addr_t) fadt->dsdt_addr; |
712 | +- int sleep_type = -1; |
713 | ++ grub_uint8_t *buf = (grub_uint8_t *) dsdt; |
714 | + |
715 | + port = fadt->pm1a; |
716 | + |
717 | + grub_dprintf ("acpi", "PM1a port=%x\n", port); |
718 | + |
719 | + if (grub_memcmp (dsdt->signature, "DSDT", |
720 | +- sizeof (dsdt->signature)) != 0) |
721 | +- break; |
722 | ++ sizeof (dsdt->signature)) == 0) |
723 | ++ sleep_type = get_sleep_type (buf, NULL, buf + dsdt->length, |
724 | ++ NULL, 0); |
725 | ++ } |
726 | ++ else if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "SSDT", 4) == 0) |
727 | ++ { |
728 | ++ struct grub_acpi_table_header *ssdt |
729 | ++ = (struct grub_acpi_table_header *) (grub_addr_t) *entry_ptr; |
730 | ++ grub_uint8_t *buf = (grub_uint8_t *) ssdt; |
731 | + |
732 | +- sleep_type = get_sleep_type ((grub_uint8_t *) dsdt, |
733 | +- (grub_uint8_t *) dsdt + dsdt->length); |
734 | ++ grub_dprintf ("acpi", "SSDT = %p\n", ssdt); |
735 | + |
736 | +- if (sleep_type < 0 || sleep_type >= 8) |
737 | +- break; |
738 | ++ sleep_type = get_sleep_type (buf, NULL, buf + ssdt->length, NULL, 0); |
739 | ++ } |
740 | ++ } |
741 | + |
742 | +- grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n", |
743 | +- sleep_type, port); |
744 | ++ if (port && sleep_type >= 0 && sleep_type < 8) |
745 | ++ { |
746 | ++ grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n", sleep_type, port); |
747 | + |
748 | +- grub_outw (GRUB_ACPI_SLP_EN |
749 | +- | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET), port & 0xffff); |
750 | +- } |
751 | ++ grub_outw (GRUB_ACPI_SLP_EN | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET), |
752 | ++ port & 0xffff); |
753 | + } |
754 | + |
755 | + grub_millisleep (1500); |
756 | +Index: b/include/grub/acpi.h |
757 | +=================================================================== |
758 | +--- a/include/grub/acpi.h |
759 | ++++ b/include/grub/acpi.h |
760 | +@@ -174,9 +174,15 @@ |
761 | + enum |
762 | + { |
763 | + GRUB_ACPI_EXTOPCODE_MUTEX = 0x01, |
764 | ++ GRUB_ACPI_EXTOPCODE_EVENT_OP = 0x02, |
765 | + GRUB_ACPI_EXTOPCODE_OPERATION_REGION = 0x80, |
766 | + GRUB_ACPI_EXTOPCODE_FIELD_OP = 0x81, |
767 | ++ GRUB_ACPI_EXTOPCODE_DEVICE_OP = 0x82, |
768 | ++ GRUB_ACPI_EXTOPCODE_PROCESSOR_OP = 0x83, |
769 | ++ GRUB_ACPI_EXTOPCODE_POWER_RES_OP = 0x84, |
770 | ++ GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP = 0x85, |
771 | + GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP = 0x86, |
772 | ++ GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP = 0x87, |
773 | + }; |
774 | + |
775 | + #endif /* ! GRUB_ACPI_HEADER */ |
776 | |
777 | === added file 'debian/patches/efi_always_install_grub_cfg.patch' |
778 | --- debian/patches/efi_always_install_grub_cfg.patch 1970-01-01 00:00:00 +0000 |
779 | +++ debian/patches/efi_always_install_grub_cfg.patch 2013-10-08 00:15:07 +0000 |
780 | @@ -0,0 +1,36 @@ |
781 | +Description: unconditionally create grub.cfg on our EFI boot partition |
782 | + When grub is installed to the EFI partition with Secure Boot support, it |
783 | + always needs some config to tell it the prefix to the /boot/grub disk, |
784 | + because we aren't modifying the grub image at runtime to set the root. |
785 | + So even though when using LVM we don't need to search for the root using |
786 | + search.fs_uuid, we do need to use load.cfg to tell grub what that root |
787 | + is. |
788 | +Author: Steve Langasek <steve.langasek@ubuntu.com> |
789 | +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1236625 |
790 | +Forwarded: no |
791 | +Last-Update: 2013-10-07 |
792 | + |
793 | +Index: lp.1236625/util/grub-install.in |
794 | +=================================================================== |
795 | +--- lp.1236625.orig/util/grub-install.in |
796 | ++++ lp.1236625/util/grub-install.in |
797 | +@@ -848,10 +848,16 @@ |
798 | + else |
799 | + cp "$efi_signed" "${efidir}/${efi_file}" |
800 | + fi |
801 | +- if [ x"$config_opt_file" != x ]; then |
802 | +- cp "${config_opt_file}" "${efidir}/grub.cfg" |
803 | +- echo 'configfile $prefix/grub.cfg' >> "${efidir}/grub.cfg" |
804 | ++ if [ x"$config_opt_file" = x ]; then |
805 | ++ # So we have a device abstraction; we don't need to search for |
806 | ++ # the root, but we do need to tell grub where it is. |
807 | ++ hints="`echo "${grub_device}" | xargs "$grub_probe" --device-map="${device_map}" --target=efi_hints --device`" |
808 | ++ echo "set root=$hints" >> "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
809 | ++ echo 'set prefix=($root)'"$(echo "${relative_grubdir}" | sed "s,\\([ \"'\\\\]\\),\\\\\\1,g")" >> "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
810 | ++ config_opt_file="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
811 | + fi |
812 | ++ cp "${config_opt_file}" "${efidir}/grub.cfg" |
813 | ++ echo 'configfile $prefix/grub.cfg' >> "${efidir}/grub.cfg" |
814 | + else |
815 | + cp "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/core.${imgext}" "${efidir}/${efi_file}" |
816 | + # For old macs. Suggested by Peter Jones. |
817 | |
818 | === added file 'debian/patches/efidisk_non_512_sectors.patch' |
819 | --- debian/patches/efidisk_non_512_sectors.patch 1970-01-01 00:00:00 +0000 |
820 | +++ debian/patches/efidisk_non_512_sectors.patch 2013-10-08 00:15:07 +0000 |
821 | @@ -0,0 +1,56 @@ |
822 | +Description: Handle partitions on non-512B EFI disks |
823 | +Origin: backport, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4795 |
824 | +Author: Peter Jones <pjones@redhat.com> |
825 | +Author: Vladimir Serbinenko <phcoder@gmail.com> |
826 | +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1065281 |
827 | +Forwarded: not-needed |
828 | +Last-Update: 2013-09-18 |
829 | + |
830 | +Index: b/grub-core/disk/efi/efidisk.c |
831 | +=================================================================== |
832 | +--- a/grub-core/disk/efi/efidisk.c |
833 | ++++ b/grub-core/disk/efi/efidisk.c |
834 | +@@ -668,9 +668,11 @@ |
835 | + && (GRUB_EFI_DEVICE_PATH_SUBTYPE (c->last_device_path) |
836 | + == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE) |
837 | + && (grub_partition_get_start (disk->partition) |
838 | +- == hd.partition_start) |
839 | ++ == (hd.partition_start << (disk->log_sector_size |
840 | ++ - GRUB_DISK_SECTOR_BITS))) |
841 | + && (grub_partition_get_len (disk->partition) |
842 | +- == hd.partition_size)) |
843 | ++ == (hd.partition_size << (disk->log_sector_size |
844 | ++ - GRUB_DISK_SECTOR_BITS)))) |
845 | + { |
846 | + handle = c->handle; |
847 | + return 1; |
848 | +@@ -763,11 +765,14 @@ |
849 | + auto int find_partition (grub_disk_t disk, const grub_partition_t part); |
850 | + |
851 | + /* Find the identical partition. */ |
852 | +- int find_partition (grub_disk_t disk __attribute__ ((unused)), |
853 | +- const grub_partition_t part) |
854 | ++ int find_partition (grub_disk_t disk, const grub_partition_t part) |
855 | + { |
856 | +- if (grub_partition_get_start (part) == hd.partition_start |
857 | +- && grub_partition_get_len (part) == hd.partition_size) |
858 | ++ if (grub_partition_get_start (part) |
859 | ++ == (hd.partition_start << (disk->log_sector_size |
860 | ++ - GRUB_DISK_SECTOR_BITS)) |
861 | ++ && grub_partition_get_len (part) |
862 | ++ == (hd.partition_size << (disk->log_sector_size |
863 | ++ - GRUB_DISK_SECTOR_BITS))) |
864 | + { |
865 | + partition_name = grub_partition_get_name (part); |
866 | + return 1; |
867 | +@@ -799,7 +804,9 @@ |
868 | + /* Find a partition which matches the hard drive device path. */ |
869 | + grub_memcpy (&hd, ldp, sizeof (hd)); |
870 | + if (hd.partition_start == 0 |
871 | +- && hd.partition_size == grub_disk_get_size (parent)) |
872 | ++ && (hd.partition_size << (parent->log_sector_size |
873 | ++ - GRUB_DISK_SECTOR_BITS)) |
874 | ++ == grub_disk_get_size (parent)) |
875 | + { |
876 | + dev_name = grub_strdup (parent->name); |
877 | + } |
878 | |
879 | === added file 'debian/patches/install_bios_setup_path.patch' |
880 | --- debian/patches/install_bios_setup_path.patch 1970-01-01 00:00:00 +0000 |
881 | +++ debian/patches/install_bios_setup_path.patch 2013-10-08 00:15:07 +0000 |
882 | @@ -0,0 +1,20 @@ |
883 | +Description: Look for grub-bios-setup in /usr/lib/grub/i386-pc/ as well |
884 | +Author: Colin Watson <cjwatson@debian.org> |
885 | +Bug-Debian: http://bugs.debian.org/705636 |
886 | +Forwarded: no |
887 | +Last-Update: 2013-04-17 |
888 | + |
889 | +Index: b/util/grub-install.in |
890 | +=================================================================== |
891 | +--- a/util/grub-install.in |
892 | ++++ b/util/grub-install.in |
893 | +@@ -363,6 +363,9 @@ |
894 | + |
895 | + if test "x$grub_setup" = x && [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "i386-pc" ]; then |
896 | + grub_setup="${sbindir}/`echo grub-bios-setup | sed ${transform}`" |
897 | ++ if [ ! -e "$grub_setup" ]; then |
898 | ++ grub_setup="${source_dir}/`echo grub-bios-setup | sed ${transform}`" |
899 | ++ fi |
900 | + fi |
901 | + |
902 | + if test "x$grub_setup" = x && [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "sparc64-ieee1275" ]; then |
903 | |
904 | === modified file 'debian/patches/install_signed.patch' |
905 | --- debian/patches/install_signed.patch 2013-01-29 06:22:50 +0000 |
906 | +++ debian/patches/install_signed.patch 2013-10-08 00:15:07 +0000 |
907 | @@ -1,26 +1,22 @@ |
908 | Description: Install signed images if UEFI Secure Boot is enabled |
909 | Author: Colin Watson <cjwatson@ubuntu.com> |
910 | +Author: Stéphane Graber <stgraber@ubuntu.com> |
911 | Forwarded: no |
912 | -Last-Update: 2012-12-10 |
913 | +Last-Update: 2013-08-12 |
914 | |
915 | Index: b/util/grub-install.in |
916 | =================================================================== |
917 | --- a/util/grub-install.in |
918 | +++ b/util/grub-install.in |
919 | -@@ -63,6 +63,12 @@ |
920 | +@@ -63,6 +63,7 @@ |
921 | |
922 | removable=no |
923 | efi_quiet= |
924 | -+sb_var=/sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data |
925 | -+if [ -e "$sb_var" ] && [ "$(printf %x \'"$(cat "$sb_var")")" = 1 ]; then |
926 | -+ uefi_secure_boot=yes |
927 | -+else |
928 | -+ uefi_secure_boot=no |
929 | -+fi |
930 | ++uefi_secure_boot=yes |
931 | |
932 | # Get GRUB_DISTRIBUTOR. |
933 | if test -f "${sysconfdir}/default/grub" ; then |
934 | -@@ -117,6 +123,8 @@ |
935 | +@@ -117,6 +118,8 @@ |
936 | print_option_help "--removable" "$(gettext "the installation device is removable. This option is only available on EFI.")" |
937 | print_option_help "--bootloader-id=$(gettext "ID")" "$(gettext "the ID of bootloader. This option is only available on EFI.")" |
938 | print_option_help "--efi-directory=$(gettext "DIR")" "$(gettext "use DIR as the EFI System Partition root.")" |
939 | @@ -29,7 +25,7 @@ |
940 | echo |
941 | gettext "INSTALL_DEVICE must be system device filename.";echo |
942 | echo |
943 | -@@ -258,6 +266,11 @@ |
944 | +@@ -258,6 +261,11 @@ |
945 | -f | --force) |
946 | setup_force="--force" ;; |
947 | |
948 | @@ -41,7 +37,7 @@ |
949 | -*) |
950 | gettext_printf "Unrecognized option \`%s'\n" "$option" 1>&2 |
951 | usage |
952 | -@@ -460,39 +473,32 @@ |
953 | +@@ -460,39 +468,32 @@ |
954 | # not collide with other vendors. To minimise collisions, we use the |
955 | # name of our distributor if possible. |
956 | efi_distributor="$bootloader_id" |
957 | @@ -98,7 +94,7 @@ |
958 | # TODO: We should also use efibootmgr, if available, to add a Boot |
959 | # entry for ourselves. |
960 | fi |
961 | -@@ -653,7 +659,7 @@ |
962 | +@@ -653,7 +654,7 @@ |
963 | install_drive="$grub_drive" |
964 | fi |
965 | |
966 | @@ -107,7 +103,7 @@ |
967 | # generic method (used on coreboot and ata mod) |
968 | uuid= |
969 | if [ x"$force_file_id" != xy ]; then |
970 | -@@ -828,10 +834,32 @@ |
971 | +@@ -828,10 +829,32 @@ |
972 | gettext "You will have to set \`SystemPartition' and \`OSLoader' manually." 1>&2 |
973 | echo 1>&2 |
974 | elif [ x"$grub_modinfo_platform" = xefi ]; then |
975 | |
976 | === added file 'debian/patches/maybe_quiet.patch' |
977 | --- debian/patches/maybe_quiet.patch 1970-01-01 00:00:00 +0000 |
978 | +++ debian/patches/maybe_quiet.patch 2013-10-08 00:15:07 +0000 |
979 | @@ -0,0 +1,362 @@ |
980 | +Description: Add configure option to reduce visual clutter at boot time |
981 | + If this option is enabled, then do all of the following: |
982 | + . |
983 | + Don't display introductory message about line editing unless we're actually |
984 | + offering a shell prompt. (This is believed to be a workaround for a |
985 | + different bug. We'll go with this for now, but will drop this in favour of |
986 | + a better fix upstream if somebody figures out what that is.) |
987 | + . |
988 | + Don't clear the screen just before booting if we never drew the menu in the |
989 | + first place. |
990 | + . |
991 | + Remove verbose messages printed before reading configuration. In some ways |
992 | + this is awkward because it makes debugging harder, but it's a requirement |
993 | + for a smooth-looking boot process; we may be able to do better in future. |
994 | + Upstream doesn't want this, though. |
995 | + . |
996 | + Disable the cursor as well, for similar reasons of tidiness. |
997 | + . |
998 | + Suppress kernel/initrd progress messages, except in recovery mode. |
999 | + . |
1000 | + Suppress "GRUB loading" message unless Shift is held down. Upstream |
1001 | + doesn't want this, as it makes debugging harder. Ubuntu wants it to |
1002 | + provide a cleaner boot experience. |
1003 | +Author: Colin Watson <cjwatson@ubuntu.com> |
1004 | +Bug-Ubuntu: https://bugs.launchpad.net/bugs/386922 |
1005 | +Bug-Ubuntu: https://bugs.launchpad.net/bugs/861048 |
1006 | +Forwarded: (partial) http://lists.gnu.org/archive/html/grub-devel/2009-09/msg00056.html |
1007 | +Last-Update: 2013-08-26 |
1008 | + |
1009 | +Index: b/config.h.in |
1010 | +=================================================================== |
1011 | +--- a/config.h.in |
1012 | ++++ b/config.h.in |
1013 | +@@ -41,6 +41,8 @@ |
1014 | + #define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@ |
1015 | + /* Define to 1 to enable disk cache statistics. */ |
1016 | + #define DISK_CACHE_STATS @DISK_CACHE_STATS@ |
1017 | ++/* Define to 1 to make GRUB quieter at boot time. */ |
1018 | ++#define QUIET_BOOT @QUIET_BOOT@ |
1019 | + |
1020 | + #define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@" |
1021 | + #define GRUB_PLATFORM "@GRUB_PLATFORM@" |
1022 | +Index: b/configure.ac |
1023 | +=================================================================== |
1024 | +--- a/configure.ac |
1025 | ++++ b/configure.ac |
1026 | +@@ -1076,6 +1076,17 @@ |
1027 | + AC_SUBST([LIBZFS]) |
1028 | + AC_SUBST([LIBNVPAIR]) |
1029 | + |
1030 | ++AC_ARG_ENABLE([quiet-boot], |
1031 | ++ [AS_HELP_STRING([--enable-quiet-boot], |
1032 | ++ [emit fewer messages at boot time (default=no)])], |
1033 | ++ [], [enable_quiet_boot=no]) |
1034 | ++if test x"$enable_quiet_boot" = xyes ; then |
1035 | ++ QUIET_BOOT=1 |
1036 | ++else |
1037 | ++ QUIET_BOOT=0 |
1038 | ++fi |
1039 | ++AC_SUBST([QUIET_BOOT]) |
1040 | ++ |
1041 | + LIBS="" |
1042 | + |
1043 | + AC_SUBST([FONT_SOURCE]) |
1044 | +@@ -1232,5 +1243,10 @@ |
1045 | + else |
1046 | + echo With libzfs support: No "($libzfs_excuse)" |
1047 | + fi |
1048 | ++if [ x"$enable_quiet_boot" = xyes ]; then |
1049 | ++echo With quiet boot: Yes |
1050 | ++else |
1051 | ++echo With quiet boot: No |
1052 | ++fi |
1053 | + echo "*******************************************************" |
1054 | + ] |
1055 | +Index: b/grub-core/boot/i386/pc/boot.S |
1056 | +=================================================================== |
1057 | +--- a/grub-core/boot/i386/pc/boot.S |
1058 | ++++ b/grub-core/boot/i386/pc/boot.S |
1059 | +@@ -19,6 +19,9 @@ |
1060 | + |
1061 | + #include <grub/symbol.h> |
1062 | + #include <grub/machine/boot.h> |
1063 | ++#ifdef QUIET_BOOT |
1064 | ++#include <grub/machine/memory.h> |
1065 | ++#endif |
1066 | + |
1067 | + /* |
1068 | + * defines for the code go here |
1069 | +@@ -150,9 +153,17 @@ |
1070 | + /* save drive reference first thing! */ |
1071 | + pushw %dx |
1072 | + |
1073 | ++#ifdef QUIET_BOOT |
1074 | ++ /* is either shift key held down? */ |
1075 | ++ movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
1076 | ++ andb $3, (%bx) |
1077 | ++ jz 2f |
1078 | ++#endif |
1079 | ++ |
1080 | + /* print a notification message on the screen */ |
1081 | + MSG(notification_string) |
1082 | + |
1083 | ++2: |
1084 | + /* set %si to the disk address packet */ |
1085 | + movw $disk_address_packet, %si |
1086 | + |
1087 | +Index: b/grub-core/boot/i386/pc/diskboot.S |
1088 | +=================================================================== |
1089 | +--- a/grub-core/boot/i386/pc/diskboot.S |
1090 | ++++ b/grub-core/boot/i386/pc/diskboot.S |
1091 | +@@ -18,6 +18,9 @@ |
1092 | + |
1093 | + #include <grub/symbol.h> |
1094 | + #include <grub/machine/boot.h> |
1095 | ++#ifdef QUIET_BOOT |
1096 | ++#include <grub/machine/memory.h> |
1097 | ++#endif |
1098 | + |
1099 | + /* |
1100 | + * defines for the code go here |
1101 | +@@ -25,6 +28,12 @@ |
1102 | + |
1103 | + #define MSG(x) movw $x, %si; call LOCAL(message) |
1104 | + |
1105 | ++#ifdef QUIET_BOOT |
1106 | ++#define SILENT(x) call LOCAL(check_silent); jz LOCAL(x) |
1107 | ++#else |
1108 | ++#define SILENT(x) |
1109 | ++#endif |
1110 | ++ |
1111 | + .file "diskboot.S" |
1112 | + |
1113 | + .text |
1114 | +@@ -50,11 +59,14 @@ |
1115 | + /* save drive reference first thing! */ |
1116 | + pushw %dx |
1117 | + |
1118 | ++ SILENT(after_notification_string) |
1119 | ++ |
1120 | + /* print a notification message on the screen */ |
1121 | + pushw %si |
1122 | + MSG(notification_string) |
1123 | + popw %si |
1124 | + |
1125 | ++LOCAL(after_notification_string): |
1126 | + /* this sets up for the first run through "bootloop" */ |
1127 | + movw $LOCAL(firstlist), %di |
1128 | + |
1129 | +@@ -279,7 +291,10 @@ |
1130 | + /* restore addressing regs and print a dot with correct DS |
1131 | + (MSG modifies SI, which is saved, and unused AX and BX) */ |
1132 | + popw %ds |
1133 | ++ SILENT(after_notification_step) |
1134 | + MSG(notification_step) |
1135 | ++ |
1136 | ++LOCAL(after_notification_step): |
1137 | + popa |
1138 | + |
1139 | + /* check if finished with this dataset */ |
1140 | +@@ -295,8 +310,11 @@ |
1141 | + /* END OF MAIN LOOP */ |
1142 | + |
1143 | + LOCAL(bootit): |
1144 | ++ SILENT(after_notification_done) |
1145 | + /* print a newline */ |
1146 | + MSG(notification_done) |
1147 | ++ |
1148 | ++LOCAL(after_notification_done): |
1149 | + popw %dx /* this makes sure %dl is our "boot" drive */ |
1150 | + ljmp $0, $(GRUB_BOOT_MACHINE_KERNEL_ADDR + 0x200) |
1151 | + |
1152 | +@@ -320,6 +338,14 @@ |
1153 | + /* go here when you need to stop the machine hard after an error condition */ |
1154 | + LOCAL(stop): jmp LOCAL(stop) |
1155 | + |
1156 | ++#ifdef QUIET_BOOT |
1157 | ++LOCAL(check_silent): |
1158 | ++ /* is either shift key held down? */ |
1159 | ++ movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
1160 | ++ andb $3, (%bx) |
1161 | ++ ret |
1162 | ++#endif |
1163 | ++ |
1164 | + notification_string: .asciz "loading" |
1165 | + |
1166 | + notification_step: .asciz "." |
1167 | +Index: b/grub-core/kern/main.c |
1168 | +=================================================================== |
1169 | +--- a/grub-core/kern/main.c |
1170 | ++++ b/grub-core/kern/main.c |
1171 | +@@ -207,13 +207,23 @@ |
1172 | + void __attribute__ ((noreturn)) |
1173 | + grub_main (void) |
1174 | + { |
1175 | ++#ifdef QUIET_BOOT |
1176 | ++ struct grub_term_output *term; |
1177 | ++#endif |
1178 | ++ |
1179 | + /* First of all, initialize the machine. */ |
1180 | + grub_machine_init (); |
1181 | + |
1182 | ++#ifdef QUIET_BOOT |
1183 | ++ /* Disable the cursor until we need it. */ |
1184 | ++ FOR_ACTIVE_TERM_OUTPUTS(term) |
1185 | ++ grub_term_setcursor (term, 0); |
1186 | ++#else |
1187 | + /* Hello. */ |
1188 | + grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT); |
1189 | + grub_printf ("Welcome to GRUB!\n\n"); |
1190 | + grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); |
1191 | ++#endif |
1192 | + |
1193 | + /* Load pre-loaded modules and free the space. */ |
1194 | + grub_register_exported_symbols (); |
1195 | +@@ -232,5 +242,12 @@ |
1196 | + |
1197 | + grub_load_config (); |
1198 | + grub_load_normal_mode (); |
1199 | ++ |
1200 | ++#ifdef QUIET_BOOT |
1201 | ++ /* If we have to enter rescue mode, enable the cursor again. */ |
1202 | ++ FOR_ACTIVE_TERM_OUTPUTS(term) |
1203 | ++ grub_term_setcursor (term, 1); |
1204 | ++#endif |
1205 | ++ |
1206 | + grub_rescue_run (); |
1207 | + } |
1208 | +Index: b/grub-core/kern/rescue_reader.c |
1209 | +=================================================================== |
1210 | +--- a/grub-core/kern/rescue_reader.c |
1211 | ++++ b/grub-core/kern/rescue_reader.c |
1212 | +@@ -77,7 +77,9 @@ |
1213 | + void __attribute__ ((noreturn)) |
1214 | + grub_rescue_run (void) |
1215 | + { |
1216 | ++#ifdef QUIET_BOOT |
1217 | + grub_printf ("Entering rescue mode...\n"); |
1218 | ++#endif |
1219 | + |
1220 | + while (1) |
1221 | + { |
1222 | +Index: b/grub-core/normal/main.c |
1223 | +=================================================================== |
1224 | +--- a/grub-core/normal/main.c |
1225 | ++++ b/grub-core/normal/main.c |
1226 | +@@ -399,6 +399,15 @@ |
1227 | + grub_normal_read_line_real (char **line, int cont, int nested) |
1228 | + { |
1229 | + const char *prompt; |
1230 | ++#ifdef QUIET_BOOT |
1231 | ++ static int displayed_intro; |
1232 | ++ |
1233 | ++ if (! displayed_intro) |
1234 | ++ { |
1235 | ++ grub_normal_reader_init (nested); |
1236 | ++ displayed_intro = 1; |
1237 | ++ } |
1238 | ++#endif |
1239 | + |
1240 | + if (cont) |
1241 | + /* TRANSLATORS: it's command line prompt. */ |
1242 | +@@ -446,7 +455,9 @@ |
1243 | + return; |
1244 | + } |
1245 | + |
1246 | ++#ifndef QUIET_BOOT |
1247 | + grub_normal_reader_init (nested); |
1248 | ++#endif |
1249 | + |
1250 | + while (1) |
1251 | + { |
1252 | +Index: b/grub-core/normal/menu.c |
1253 | +=================================================================== |
1254 | +--- a/grub-core/normal/menu.c |
1255 | ++++ b/grub-core/normal/menu.c |
1256 | +@@ -669,12 +669,18 @@ |
1257 | + |
1258 | + /* Callback invoked immediately before a menu entry is executed. */ |
1259 | + static void |
1260 | +-notify_booting (grub_menu_entry_t entry, |
1261 | ++notify_booting (grub_menu_entry_t entry |
1262 | ++#ifdef QUIET_BOOT |
1263 | ++ __attribute__((unused)) |
1264 | ++#endif |
1265 | ++ , |
1266 | + void *userdata __attribute__((unused))) |
1267 | + { |
1268 | ++#ifndef QUIET_BOOT |
1269 | + grub_printf (" "); |
1270 | + grub_printf_ (N_("Booting `%s'"), entry->title); |
1271 | + grub_printf ("\n\n"); |
1272 | ++#endif |
1273 | + } |
1274 | + |
1275 | + /* Callback invoked when a default menu entry executed because of a timeout |
1276 | +@@ -722,6 +728,9 @@ |
1277 | + int boot_entry; |
1278 | + grub_menu_entry_t e; |
1279 | + int auto_boot; |
1280 | ++#ifdef QUIET_BOOT |
1281 | ++ int initial_timeout = grub_menu_get_timeout (); |
1282 | ++#endif |
1283 | + |
1284 | + boot_entry = run_menu (menu, nested, &auto_boot); |
1285 | + if (boot_entry < 0) |
1286 | +@@ -731,7 +740,11 @@ |
1287 | + if (! e) |
1288 | + continue; /* Menu is empty. */ |
1289 | + |
1290 | +- grub_cls (); |
1291 | ++#ifdef QUIET_BOOT |
1292 | ++ /* Only clear the screen if we drew the menu in the first place. */ |
1293 | ++ if (initial_timeout != 0) |
1294 | ++#endif |
1295 | ++ grub_cls (); |
1296 | + |
1297 | + if (auto_boot) |
1298 | + grub_menu_execute_with_fallback (menu, e, autobooted, |
1299 | +Index: b/util/grub.d/10_linux.in |
1300 | +=================================================================== |
1301 | +--- a/util/grub.d/10_linux.in |
1302 | ++++ b/util/grub.d/10_linux.in |
1303 | +@@ -20,6 +20,7 @@ |
1304 | + prefix="@prefix@" |
1305 | + exec_prefix="@exec_prefix@" |
1306 | + datarootdir="@datarootdir@" |
1307 | ++quiet_boot="@QUIET_BOOT@" |
1308 | + |
1309 | + . "@datadir@/@PACKAGE@/grub-mkconfig_lib" |
1310 | + |
1311 | +@@ -140,10 +141,12 @@ |
1312 | + fi |
1313 | + printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" |
1314 | + fi |
1315 | +- message="$(gettext_printf "Loading Linux %s ..." ${version})" |
1316 | +- sed "s/^/$submenu_indentation/" << EOF |
1317 | ++ if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then |
1318 | ++ message="$(gettext_printf "Loading Linux %s ..." ${version})" |
1319 | ++ sed "s/^/$submenu_indentation/" << EOF |
1320 | + echo '$(echo "$message" | grub_quote)' |
1321 | + EOF |
1322 | ++ fi |
1323 | + if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then |
1324 | + sed "s/^/$submenu_indentation/" << EOF |
1325 | + linux ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args} |
1326 | +@@ -155,9 +158,13 @@ |
1327 | + fi |
1328 | + if test -n "${initrd}" ; then |
1329 | + # TRANSLATORS: ramdisk isn't identifier. Should be translated. |
1330 | +- message="$(gettext_printf "Loading initial ramdisk ...")" |
1331 | +- sed "s/^/$submenu_indentation/" << EOF |
1332 | ++ if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then |
1333 | ++ message="$(gettext_printf "Loading initial ramdisk ...")" |
1334 | ++ sed "s/^/$submenu_indentation/" << EOF |
1335 | + echo '$(echo "$message" | grub_quote)' |
1336 | ++EOF |
1337 | ++ fi |
1338 | ++ sed "s/^/$submenu_indentation/" << EOF |
1339 | + initrd ${rel_dirname}/${initrd} |
1340 | + EOF |
1341 | + fi |
1342 | |
1343 | === added file 'debian/patches/mkconfig_emacs_autosave.patch' |
1344 | --- debian/patches/mkconfig_emacs_autosave.patch 1970-01-01 00:00:00 +0000 |
1345 | +++ debian/patches/mkconfig_emacs_autosave.patch 2013-10-08 00:15:07 +0000 |
1346 | @@ -0,0 +1,20 @@ |
1347 | +Description: Fix detection of Emacs autosave files |
1348 | +Author: Colin Watson <cjwatson@ubuntu.com> |
1349 | +Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5089 |
1350 | +Forwarded: not-needed |
1351 | +Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5089 |
1352 | +Last-Update: 2013-08-11 |
1353 | + |
1354 | +Index: b/util/grub-mkconfig.in |
1355 | +=================================================================== |
1356 | +--- a/util/grub-mkconfig.in |
1357 | ++++ b/util/grub-mkconfig.in |
1358 | +@@ -253,7 +253,7 @@ |
1359 | + # emacsen backup files. FIXME: support other editors |
1360 | + *~) ;; |
1361 | + # emacsen autosave files. FIXME: support other editors |
1362 | +- \#*\#) ;; |
1363 | ++ */\#*\#) ;; |
1364 | + *) |
1365 | + if grub_file_is_not_garbage "$i" && test -x "$i" ; then |
1366 | + echo |
1367 | |
1368 | === modified file 'debian/patches/mkconfig_signed_kernel.patch' |
1369 | --- debian/patches/mkconfig_signed_kernel.patch 2013-01-29 06:15:21 +0000 |
1370 | +++ debian/patches/mkconfig_signed_kernel.patch 2013-10-08 00:15:07 +0000 |
1371 | @@ -7,7 +7,7 @@ |
1372 | =================================================================== |
1373 | --- a/util/grub.d/10_linux.in |
1374 | +++ b/util/grub.d/10_linux.in |
1375 | -@@ -140,8 +140,16 @@ |
1376 | +@@ -143,8 +143,16 @@ |
1377 | message="$(gettext_printf "Loading Linux %s ..." ${version})" |
1378 | sed "s/^/$submenu_indentation/" << EOF |
1379 | echo '$(echo "$message" | grub_quote)' |
1380 | @@ -24,7 +24,7 @@ |
1381 | if test -n "${initrd}" ; then |
1382 | # TRANSLATORS: ramdisk isn't identifier. Should be translated. |
1383 | message="$(gettext_printf "Loading initial ramdisk ...")" |
1384 | -@@ -187,6 +195,13 @@ |
1385 | +@@ -190,6 +198,13 @@ |
1386 | is_first_entry=true |
1387 | while [ "x$list" != "x" ] ; do |
1388 | linux=`version_find_latest $list` |
1389 | |
1390 | === modified file 'debian/patches/mkconfig_ubuntu_distributor.patch' |
1391 | --- debian/patches/mkconfig_ubuntu_distributor.patch 2013-01-29 05:50:16 +0000 |
1392 | +++ debian/patches/mkconfig_ubuntu_distributor.patch 2013-10-08 00:15:07 +0000 |
1393 | @@ -2,23 +2,27 @@ |
1394 | Ubuntu is called "Ubuntu", not "Ubuntu GNU/Linux". |
1395 | Author: Mario Limonciello <Mario_Limonciello@dell.com> |
1396 | Author: Colin Watson <cjwatson@debian.org> |
1397 | +Author: Harald Sitter <apachelogger@kubuntu.org> |
1398 | Forwarded: not-needed |
1399 | -Last-Update: 2013-01-29 |
1400 | +Last-Update: 2013-08-12 |
1401 | |
1402 | Index: b/util/grub.d/10_linux.in |
1403 | =================================================================== |
1404 | --- a/util/grub.d/10_linux.in |
1405 | +++ b/util/grub.d/10_linux.in |
1406 | -@@ -31,7 +31,11 @@ |
1407 | +@@ -31,7 +31,14 @@ |
1408 | if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then |
1409 | OS=GNU/Linux |
1410 | else |
1411 | - OS="${GRUB_DISTRIBUTOR} GNU/Linux" |
1412 | -+ if [ "${GRUB_DISTRIBUTOR}" = "Ubuntu" ] ; then |
1413 | -+ OS="${GRUB_DISTRIBUTOR}" |
1414 | -+ else |
1415 | -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux" |
1416 | -+ fi |
1417 | ++ case ${GRUB_DISTRIBUTOR} in |
1418 | ++ Ubuntu|Kubuntu) |
1419 | ++ OS="${GRUB_DISTRIBUTOR}" |
1420 | ++ ;; |
1421 | ++ *) |
1422 | ++ OS="${GRUB_DISTRIBUTOR} GNU/Linux" |
1423 | ++ ;; |
1424 | ++ esac |
1425 | CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" |
1426 | fi |
1427 | |
1428 | |
1429 | === added file 'debian/patches/os_prober_efi.patch' |
1430 | --- debian/patches/os_prober_efi.patch 1970-01-01 00:00:00 +0000 |
1431 | +++ debian/patches/os_prober_efi.patch 2013-10-08 00:15:07 +0000 |
1432 | @@ -0,0 +1,36 @@ |
1433 | +Index: b/util/grub.d/30_os-prober.in |
1434 | +=================================================================== |
1435 | +--- a/util/grub.d/30_os-prober.in |
1436 | ++++ b/util/grub.d/30_os-prober.in |
1437 | +@@ -35,6 +35,11 @@ |
1438 | + exit 0 |
1439 | + fi |
1440 | + |
1441 | ++# Try to load the efivars module, in case it's needed for EFI support |
1442 | ++# to work below. Hide the errors in case it's not available, there is |
1443 | ++# no need to scare people here. |
1444 | ++modprobe efivars >/dev/null 2>&1 || true |
1445 | ++ |
1446 | + OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" |
1447 | + if [ -z "${OSPROBED}" ] ; then |
1448 | + # empty os-prober output, nothing doing |
1449 | +@@ -144,6 +149,19 @@ |
1450 | + } |
1451 | + EOF |
1452 | + ;; |
1453 | ++ efi) |
1454 | ++ EFIPATH=${DEVICE#*@} |
1455 | ++ DEVICE=${DEVICE%@*} |
1456 | ++ cat << EOF |
1457 | ++menuentry "${LONGNAME} (UEFI on ${DEVICE})" --class windows --class os { |
1458 | ++EOF |
1459 | ++ save_default_entry | sed -e "s/^/\t/" |
1460 | ++ prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/" |
1461 | ++ cat <<EOF |
1462 | ++ chainloader ${EFIPATH} |
1463 | ++} |
1464 | ++EOF |
1465 | ++ ;; |
1466 | + linux) |
1467 | + LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`" |
1468 | + prepare_boot_cache= |
1469 | |
1470 | === added file 'debian/patches/probe_error_handling.patch' |
1471 | --- debian/patches/probe_error_handling.patch 1970-01-01 00:00:00 +0000 |
1472 | +++ debian/patches/probe_error_handling.patch 2013-10-08 00:15:07 +0000 |
1473 | @@ -0,0 +1,22 @@ |
1474 | +Description: Fix spurious failure on Xen partition devices without disk devices |
1475 | + Zero out grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by |
1476 | + falling back to the partition device, otherwise a later call to this |
1477 | + function may fail spuriously. |
1478 | +Author: Colin Watson <cjwatson@ubuntu.com> |
1479 | +Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5092 |
1480 | +Bug-Debian: http://bugs.debian.org/708614 |
1481 | +Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5092 |
1482 | +Last-Update: 2013-08-13 |
1483 | + |
1484 | +Index: b/util/getroot.c |
1485 | +=================================================================== |
1486 | +--- a/util/getroot.c |
1487 | ++++ b/util/getroot.c |
1488 | +@@ -2316,6 +2316,7 @@ |
1489 | + grub_util_warn |
1490 | + (_("disk does not exist, so falling back to partition device %s"), |
1491 | + os_dev); |
1492 | ++ grub_errno = GRUB_ERR_NONE; |
1493 | + |
1494 | + canon = canonicalize_file_name (os_dev); |
1495 | + drive = find_system_device (canon ? : os_dev, &st, 0, 1); |
1496 | |
1497 | === modified file 'debian/patches/restore_mkdevicemap.patch' |
1498 | --- debian/patches/restore_mkdevicemap.patch 2012-09-05 13:02:04 +0000 |
1499 | +++ debian/patches/restore_mkdevicemap.patch 2013-10-08 00:15:07 +0000 |
1500 | @@ -961,7 +961,7 @@ |
1501 | + dmraid_check (node_name, "dm_tree_node_get_name failed\n"); |
1502 | + node_uuid = dm_tree_node_get_uuid (second); |
1503 | + dmraid_check (node_uuid, "dm_tree_node_get_uuid failed\n"); |
1504 | -+ if (strncmp (node_uuid, "DMRAID-", 7) != 0) |
1505 | ++ if (strstr (node_uuid, "DMRAID-") == 0) |
1506 | + { |
1507 | + grub_dprintf ("deviceiter", "%s is not DM-RAID\n", node_name); |
1508 | + goto dmraid_next_child; |
1509 | |
1510 | === added file 'debian/patches/script_check_no_commands.patch' |
1511 | --- debian/patches/script_check_no_commands.patch 1970-01-01 00:00:00 +0000 |
1512 | +++ debian/patches/script_check_no_commands.patch 2013-10-08 00:15:07 +0000 |
1513 | @@ -0,0 +1,87 @@ |
1514 | +Description: Guard against scripts containing no commands |
1515 | + Make grub-script-check fail on scripts containing no commands, to guard |
1516 | + against corrupted grub-mkconfig setups that produce no useful output. |
1517 | +Origin: backport, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5044 |
1518 | +Author: Colin Watson <cjwatson@debian.org> |
1519 | +Bug-Debian: http://bugs.debian.org/713886 |
1520 | +Forwarded: not-needed |
1521 | +Last-Update: 2013-07-13 |
1522 | + |
1523 | +Index: b/Makefile.util.def |
1524 | +=================================================================== |
1525 | +--- a/Makefile.util.def |
1526 | ++++ b/Makefile.util.def |
1527 | +@@ -701,6 +701,12 @@ |
1528 | + |
1529 | + script = { |
1530 | + testcase; |
1531 | ++ name = grub_script_no_commands; |
1532 | ++ common = tests/grub_script_no_commands.in; |
1533 | ++}; |
1534 | ++ |
1535 | ++script = { |
1536 | ++ testcase; |
1537 | + name = partmap_test; |
1538 | + common = tests/partmap_test.in; |
1539 | + }; |
1540 | +Index: b/tests/grub_script_no_commands.in |
1541 | +=================================================================== |
1542 | +--- /dev/null |
1543 | ++++ b/tests/grub_script_no_commands.in |
1544 | +@@ -0,0 +1,21 @@ |
1545 | ++#! /bin/sh |
1546 | ++set -e |
1547 | ++ |
1548 | ++# grub-script-check refuses to pass a file with no commands; this usually |
1549 | ++# indicates a bug in the code generating that file. |
1550 | ++ |
1551 | ++@builddir@/grub-script-check <<EOF && exit 1 |
1552 | ++ |
1553 | ++EOF |
1554 | ++ |
1555 | ++@builddir@/grub-script-check <<EOF && exit 1 |
1556 | ++# comment |
1557 | ++EOF |
1558 | ++ |
1559 | ++@builddir@/grub-script-check <<EOF && exit 1 |
1560 | ++# comment 1 |
1561 | ++# comment 2 |
1562 | ++ |
1563 | ++EOF |
1564 | ++ |
1565 | ++exit 0 |
1566 | +Index: b/util/grub-script-check.c |
1567 | +=================================================================== |
1568 | +--- a/util/grub-script-check.c |
1569 | ++++ b/util/grub-script-check.c |
1570 | +@@ -92,7 +92,7 @@ |
1571 | + int lineno = 0; |
1572 | + FILE *file = 0; |
1573 | + struct arguments arguments; |
1574 | +- int found_input = 0; |
1575 | ++ int found_input = 0, found_cmd = 0; |
1576 | + struct grub_script *script = NULL; |
1577 | + |
1578 | + auto grub_err_t get_config_line (char **line, int cont); |
1579 | +@@ -177,6 +177,8 @@ |
1580 | + script = grub_script_parse (input, get_config_line); |
1581 | + if (script) |
1582 | + { |
1583 | ++ if (script->cmd) |
1584 | ++ found_cmd = 1; |
1585 | + grub_script_execute (script); |
1586 | + grub_script_free (script); |
1587 | + } |
1588 | +@@ -191,6 +193,12 @@ |
1589 | + fprintf (stderr, _("Syntax error at line %u\n"), lineno); |
1590 | + return 1; |
1591 | + } |
1592 | ++ if (! found_cmd) |
1593 | ++ { |
1594 | ++ fprintf (stderr, _("Script contains no commands and will do nothing\n"), |
1595 | ++ arguments.filename); |
1596 | ++ return 1; |
1597 | ++ } |
1598 | + |
1599 | + return 0; |
1600 | + } |
1601 | |
1602 | === modified file 'debian/patches/series' |
1603 | --- debian/patches/series 2013-03-13 00:30:03 +0000 |
1604 | +++ debian/patches/series 2013-10-08 00:15:07 +0000 |
1605 | @@ -43,17 +43,22 @@ |
1606 | linuxefi_non_sb_fallback.patch |
1607 | mkconfig_signed_kernel.patch |
1608 | install_signed.patch |
1609 | +install_bios_setup_path.patch |
1610 | +os_prober_efi.patch |
1611 | +acpihalt_improvements.patch |
1612 | +script_check_no_commands.patch |
1613 | +texinfo_ordering.patch |
1614 | +mkconfig_emacs_autosave.patch |
1615 | +sleep_shift.patch |
1616 | +probe_error_handling.patch |
1617 | +wubi_no_windows.patch |
1618 | +maybe_quiet.patch |
1619 | +efidisk_non_512_sectors.patch |
1620 | ubuntu_crashkernel.patch |
1621 | ubuntu_quick_boot.patch |
1622 | -ubuntu_sleep_shift.patch |
1623 | -ubuntu_normal_quiet.patch |
1624 | -ubuntu_really_quiet.patch |
1625 | -ubuntu_linux_quiet.patch |
1626 | ubuntu_failed_boot_menu.patch |
1627 | -ubuntu_quiet_grub_loading.patch |
1628 | ubuntu_gfxpayload_filter.patch |
1629 | ubuntu_vt_handoff.patch |
1630 | ubuntu_recovery_nomodeset.patch |
1631 | -ubuntu_wubi_no_windows.patch |
1632 | ubuntu_probe_dmraid.patch |
1633 | -ubuntu_acpihalt_improvements.patch |
1634 | +efi_always_install_grub_cfg.patch |
1635 | |
1636 | === added file 'debian/patches/sleep_shift.patch' |
1637 | --- debian/patches/sleep_shift.patch 1970-01-01 00:00:00 +0000 |
1638 | +++ debian/patches/sleep_shift.patch 2013-10-08 00:15:07 +0000 |
1639 | @@ -0,0 +1,53 @@ |
1640 | +Description: Allow Shift to interrupt 'sleep --interruptible' |
1641 | + Upstream would like to consider this at more length. See |
1642 | + http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00718.html, and the |
1643 | + rest of the thread for context. |
1644 | +Author: Colin Watson <cjwatson@ubuntu.com> |
1645 | +Forwarded: http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00694.html |
1646 | +Last-Update: 2012-09-06 |
1647 | + |
1648 | +Index: b/grub-core/commands/sleep.c |
1649 | +=================================================================== |
1650 | +--- a/grub-core/commands/sleep.c |
1651 | ++++ b/grub-core/commands/sleep.c |
1652 | +@@ -46,6 +46,31 @@ |
1653 | + grub_refresh (); |
1654 | + } |
1655 | + |
1656 | ++static int |
1657 | ++grub_check_keyboard (void) |
1658 | ++{ |
1659 | ++ int mods = 0; |
1660 | ++ grub_term_input_t term; |
1661 | ++ |
1662 | ++ if (grub_term_poll_usb) |
1663 | ++ grub_term_poll_usb (); |
1664 | ++ |
1665 | ++ FOR_ACTIVE_TERM_INPUTS(term) |
1666 | ++ { |
1667 | ++ if (term->getkeystatus) |
1668 | ++ mods |= term->getkeystatus (term); |
1669 | ++ } |
1670 | ++ |
1671 | ++ if (mods >= 0 && |
1672 | ++ (mods & (GRUB_TERM_STATUS_LSHIFT | GRUB_TERM_STATUS_RSHIFT)) != 0) |
1673 | ++ return 1; |
1674 | ++ |
1675 | ++ if (grub_getkey_noblock () == GRUB_TERM_ESC) |
1676 | ++ return 1; |
1677 | ++ |
1678 | ++ return 0; |
1679 | ++} |
1680 | ++ |
1681 | + /* Based on grub_millisleep() from kern/generic/millisleep.c. */ |
1682 | + static int |
1683 | + grub_interruptible_millisleep (grub_uint32_t ms) |
1684 | +@@ -55,7 +80,7 @@ |
1685 | + start = grub_get_time_ms (); |
1686 | + |
1687 | + while (grub_get_time_ms () - start < ms) |
1688 | +- if (grub_getkey_noblock () == GRUB_TERM_ESC) |
1689 | ++ if (grub_check_keyboard ()) |
1690 | + return 1; |
1691 | + |
1692 | + return 0; |
1693 | |
1694 | === added file 'debian/patches/texinfo_ordering.patch' |
1695 | --- debian/patches/texinfo_ordering.patch 1970-01-01 00:00:00 +0000 |
1696 | +++ debian/patches/texinfo_ordering.patch 2013-10-08 00:15:07 +0000 |
1697 | @@ -0,0 +1,21 @@ |
1698 | +Description: Move @itemize after @subsection to satisfy texinfo-5.1 |
1699 | +Author: Bryan Hundven <bryanhundven@gmail.com> |
1700 | +Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4813 |
1701 | +Forwarded: not-needed |
1702 | +Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4813 |
1703 | +Last-Update: 2013-08-11 |
1704 | + |
1705 | +Index: b/docs/grub-dev.texi |
1706 | +=================================================================== |
1707 | +--- a/docs/grub-dev.texi |
1708 | ++++ b/docs/grub-dev.texi |
1709 | +@@ -1394,8 +1394,8 @@ |
1710 | + |
1711 | + @node Bitmap API |
1712 | + @section Bitmap API |
1713 | +-@itemize |
1714 | + @subsection grub_video_bitmap_create |
1715 | ++@itemize |
1716 | + @item Prototype: |
1717 | + @example |
1718 | + grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format) |
1719 | |
1720 | === removed file 'debian/patches/ubuntu_acpihalt_improvements.patch' |
1721 | --- debian/patches/ubuntu_acpihalt_improvements.patch 2013-03-13 00:30:03 +0000 |
1722 | +++ debian/patches/ubuntu_acpihalt_improvements.patch 1970-01-01 00:00:00 +0000 |
1723 | @@ -1,191 +0,0 @@ |
1724 | -Description: acpihalt: expand parser to handle SSDTs and some more opcodes |
1725 | -Author: Colin Watson <cjwatson@ubuntu.com> |
1726 | -Forwarded: https://lists.gnu.org/archive/html/grub-devel/2013-03/msg00060.html |
1727 | -Last-Update: 2013-03-13 |
1728 | - |
1729 | -Index: b/grub-core/commands/acpihalt.c |
1730 | -=================================================================== |
1731 | ---- a/grub-core/commands/acpihalt.c |
1732 | -+++ b/grub-core/commands/acpihalt.c |
1733 | -@@ -41,6 +41,7 @@ |
1734 | - #endif |
1735 | - |
1736 | - #ifndef GRUB_DSDT_TEST |
1737 | -+#include <grub/mm.h> |
1738 | - #include <grub/misc.h> |
1739 | - #include <grub/time.h> |
1740 | - #include <grub/cpu/io.h> |
1741 | -@@ -146,6 +147,10 @@ |
1742 | - ptr += skip_name_string (ptr, end); |
1743 | - ptr++; |
1744 | - break; |
1745 | -+ case GRUB_ACPI_EXTOPCODE_EVENT_OP: |
1746 | -+ ptr++; |
1747 | -+ ptr += skip_name_string (ptr, end); |
1748 | -+ break; |
1749 | - case GRUB_ACPI_EXTOPCODE_OPERATION_REGION: |
1750 | - ptr++; |
1751 | - ptr += skip_name_string (ptr, end); |
1752 | -@@ -158,7 +163,12 @@ |
1753 | - return 0; |
1754 | - break; |
1755 | - case GRUB_ACPI_EXTOPCODE_FIELD_OP: |
1756 | -+ case GRUB_ACPI_EXTOPCODE_DEVICE_OP: |
1757 | -+ case GRUB_ACPI_EXTOPCODE_PROCESSOR_OP: |
1758 | -+ case GRUB_ACPI_EXTOPCODE_POWER_RES_OP: |
1759 | -+ case GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP: |
1760 | - case GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP: |
1761 | -+ case GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP: |
1762 | - ptr++; |
1763 | - ptr += decode_length (ptr, 0); |
1764 | - break; |
1765 | -@@ -170,12 +180,14 @@ |
1766 | - } |
1767 | - |
1768 | - static int |
1769 | --get_sleep_type (grub_uint8_t *table, grub_uint8_t *end) |
1770 | -+get_sleep_type (grub_uint8_t *table, grub_uint8_t *ptr, grub_uint8_t *end, |
1771 | -+ grub_uint8_t *scope, int scope_len) |
1772 | - { |
1773 | -- grub_uint8_t *ptr, *prev = table; |
1774 | -- int sleep_type = -1; |
1775 | -+ grub_uint8_t *prev = table; |
1776 | -+ int sleep_type = -2; |
1777 | - |
1778 | -- ptr = table + sizeof (struct grub_acpi_table_header); |
1779 | -+ if (!ptr) |
1780 | -+ ptr = table + sizeof (struct grub_acpi_table_header); |
1781 | - while (ptr < end && prev < ptr) |
1782 | - { |
1783 | - int add; |
1784 | -@@ -202,7 +214,8 @@ |
1785 | - } |
1786 | - case GRUB_ACPI_OPCODE_NAME: |
1787 | - ptr++; |
1788 | -- if (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0) |
1789 | -+ if ((!scope || memcmp (scope, "\\", scope_len) == 0) && |
1790 | -+ (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0)) |
1791 | - { |
1792 | - int ll; |
1793 | - grub_uint8_t *ptr2 = ptr; |
1794 | -@@ -241,6 +254,25 @@ |
1795 | - return -1; |
1796 | - break; |
1797 | - case GRUB_ACPI_OPCODE_SCOPE: |
1798 | -+ { |
1799 | -+ int scope_sleep_type; |
1800 | -+ int ll; |
1801 | -+ grub_uint8_t *name; |
1802 | -+ int name_len; |
1803 | -+ |
1804 | -+ ptr++; |
1805 | -+ add = decode_length (ptr, &ll); |
1806 | -+ name = ptr + ll; |
1807 | -+ name_len = skip_name_string (name, ptr + add); |
1808 | -+ if (!name_len) |
1809 | -+ return -1; |
1810 | -+ scope_sleep_type = get_sleep_type (table, name + name_len, |
1811 | -+ ptr + add, name, name_len); |
1812 | -+ if (scope_sleep_type != -2) |
1813 | -+ return scope_sleep_type; |
1814 | -+ ptr += add; |
1815 | -+ break; |
1816 | -+ } |
1817 | - case GRUB_ACPI_OPCODE_IF: |
1818 | - case GRUB_ACPI_OPCODE_METHOD: |
1819 | - { |
1820 | -@@ -291,7 +323,7 @@ |
1821 | - return 2; |
1822 | - } |
1823 | - |
1824 | -- printf ("Sleep type = %d\n", get_sleep_type (buf, buf + len)); |
1825 | -+ printf ("Sleep type = %d\n", get_sleep_type (buf, NULL, buf + len, NULL, 0)); |
1826 | - free (buf); |
1827 | - fclose (f); |
1828 | - return 0; |
1829 | -@@ -304,8 +336,10 @@ |
1830 | - { |
1831 | - struct grub_acpi_rsdp_v20 *rsdp2; |
1832 | - struct grub_acpi_rsdp_v10 *rsdp1; |
1833 | -- struct grub_acpi_table_header *rsdt; |
1834 | -- grub_uint32_t *entry_ptr; |
1835 | -+ struct grub_acpi_table_header *rsdt; |
1836 | -+ grub_uint32_t *entry_ptr; |
1837 | -+ grub_uint32_t port = 0; |
1838 | -+ int sleep_type = -1; |
1839 | - |
1840 | - rsdp2 = grub_acpi_get_rsdpv2 (); |
1841 | - if (rsdp2) |
1842 | -@@ -324,33 +358,39 @@ |
1843 | - { |
1844 | - if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "FACP", 4) == 0) |
1845 | - { |
1846 | -- grub_uint32_t port; |
1847 | - struct grub_acpi_fadt *fadt |
1848 | - = ((struct grub_acpi_fadt *) (grub_addr_t) *entry_ptr); |
1849 | - struct grub_acpi_table_header *dsdt |
1850 | - = (struct grub_acpi_table_header *) (grub_addr_t) fadt->dsdt_addr; |
1851 | -- int sleep_type = -1; |
1852 | -+ grub_uint8_t *buf = (grub_uint8_t *) dsdt; |
1853 | - |
1854 | - port = fadt->pm1a; |
1855 | - |
1856 | - grub_dprintf ("acpi", "PM1a port=%x\n", port); |
1857 | - |
1858 | - if (grub_memcmp (dsdt->signature, "DSDT", |
1859 | -- sizeof (dsdt->signature)) != 0) |
1860 | -- break; |
1861 | -+ sizeof (dsdt->signature)) == 0) |
1862 | -+ sleep_type = get_sleep_type (buf, NULL, buf + dsdt->length, |
1863 | -+ NULL, 0); |
1864 | -+ } |
1865 | -+ else if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "SSDT", 4) == 0) |
1866 | -+ { |
1867 | -+ struct grub_acpi_table_header *ssdt |
1868 | -+ = (struct grub_acpi_table_header *) (grub_addr_t) *entry_ptr; |
1869 | -+ grub_uint8_t *buf = (grub_uint8_t *) ssdt; |
1870 | - |
1871 | -- sleep_type = get_sleep_type ((grub_uint8_t *) dsdt, |
1872 | -- (grub_uint8_t *) dsdt + dsdt->length); |
1873 | -+ grub_dprintf ("acpi", "SSDT = %p\n", ssdt); |
1874 | - |
1875 | -- if (sleep_type < 0 || sleep_type >= 8) |
1876 | -- break; |
1877 | -+ sleep_type = get_sleep_type (buf, NULL, buf + ssdt->length, NULL, 0); |
1878 | -+ } |
1879 | -+ } |
1880 | - |
1881 | -- grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n", |
1882 | -- sleep_type, port); |
1883 | -+ if (port && sleep_type >= 0 && sleep_type < 8) |
1884 | -+ { |
1885 | -+ grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n", sleep_type, port); |
1886 | - |
1887 | -- grub_outw (GRUB_ACPI_SLP_EN |
1888 | -- | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET), port & 0xffff); |
1889 | -- } |
1890 | -+ grub_outw (GRUB_ACPI_SLP_EN | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET), |
1891 | -+ port & 0xffff); |
1892 | - } |
1893 | - |
1894 | - grub_millisleep (1500); |
1895 | -Index: b/include/grub/acpi.h |
1896 | -=================================================================== |
1897 | ---- a/include/grub/acpi.h |
1898 | -+++ b/include/grub/acpi.h |
1899 | -@@ -174,9 +174,15 @@ |
1900 | - enum |
1901 | - { |
1902 | - GRUB_ACPI_EXTOPCODE_MUTEX = 0x01, |
1903 | -+ GRUB_ACPI_EXTOPCODE_EVENT_OP = 0x02, |
1904 | - GRUB_ACPI_EXTOPCODE_OPERATION_REGION = 0x80, |
1905 | - GRUB_ACPI_EXTOPCODE_FIELD_OP = 0x81, |
1906 | -+ GRUB_ACPI_EXTOPCODE_DEVICE_OP = 0x82, |
1907 | -+ GRUB_ACPI_EXTOPCODE_PROCESSOR_OP = 0x83, |
1908 | -+ GRUB_ACPI_EXTOPCODE_POWER_RES_OP = 0x84, |
1909 | -+ GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP = 0x85, |
1910 | - GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP = 0x86, |
1911 | -+ GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP = 0x87, |
1912 | - }; |
1913 | - |
1914 | - #endif /* ! GRUB_ACPI_HEADER */ |
1915 | |
1916 | === modified file 'debian/patches/ubuntu_crashkernel.patch' |
1917 | --- debian/patches/ubuntu_crashkernel.patch 2013-02-01 17:45:21 +0000 |
1918 | +++ debian/patches/ubuntu_crashkernel.patch 2013-10-08 00:15:07 +0000 |
1919 | @@ -11,7 +11,7 @@ |
1920 | =================================================================== |
1921 | --- a/util/grub.d/10_linux.in |
1922 | +++ b/util/grub.d/10_linux.in |
1923 | -@@ -82,6 +82,11 @@ |
1924 | +@@ -86,6 +86,11 @@ |
1925 | |
1926 | title_correction_code= |
1927 | |
1928 | @@ -23,7 +23,7 @@ |
1929 | linux_entry () |
1930 | { |
1931 | os="$1" |
1932 | -@@ -248,7 +253,7 @@ |
1933 | +@@ -258,7 +263,7 @@ |
1934 | |
1935 | if [ "x$is_first_entry" = xtrue ]; then |
1936 | linux_entry "${OS}" "${version}" simple \ |
1937 | @@ -32,7 +32,7 @@ |
1938 | |
1939 | submenu_indentation="\t" |
1940 | |
1941 | -@@ -260,7 +265,7 @@ |
1942 | +@@ -270,7 +275,7 @@ |
1943 | fi |
1944 | |
1945 | linux_entry "${OS}" "${version}" advanced \ |
1946 | |
1947 | === modified file 'debian/patches/ubuntu_failed_boot_menu.patch' |
1948 | --- debian/patches/ubuntu_failed_boot_menu.patch 2013-02-01 17:45:21 +0000 |
1949 | +++ debian/patches/ubuntu_failed_boot_menu.patch 2013-10-08 00:15:07 +0000 |
1950 | @@ -2,14 +2,23 @@ |
1951 | "Failure" here is defined as failing to get to the end of one of the normal |
1952 | runlevels. |
1953 | Author: Colin Watson <cjwatson@ubuntu.com> |
1954 | +Author: Richard Laager <rlaager@wiktel.com> |
1955 | Forwarded: no |
1956 | -Last-Update: 2012-09-06 |
1957 | +Last-Update: 2013-09-11 |
1958 | |
1959 | Index: b/util/grub.d/00_header.in |
1960 | =================================================================== |
1961 | --- a/util/grub.d/00_header.in |
1962 | +++ b/util/grub.d/00_header.in |
1963 | -@@ -46,6 +46,7 @@ |
1964 | +@@ -23,6 +23,7 @@ |
1965 | + exec_prefix="@exec_prefix@" |
1966 | + datarootdir="@datarootdir@" |
1967 | + grub_lang=`echo $LANG | cut -d . -f 1` |
1968 | ++grubdir="`echo "/@bootdirname@/@grubdirname@" | sed 's,//*,/,g'`" |
1969 | + |
1970 | + export TEXTDOMAIN=@PACKAGE@ |
1971 | + export TEXTDOMAINDIR="@localedir@" |
1972 | +@@ -46,6 +47,7 @@ |
1973 | |
1974 | cat << EOF |
1975 | if [ -s \$prefix/grubenv ]; then |
1976 | @@ -17,19 +26,32 @@ |
1977 | load_env |
1978 | fi |
1979 | EOF |
1980 | -@@ -87,6 +88,11 @@ |
1981 | +@@ -87,6 +89,24 @@ |
1982 | fi |
1983 | } |
1984 | |
1985 | +function recordfail { |
1986 | + set recordfail=1 |
1987 | ++EOF |
1988 | ++FS="$(grub-probe --target=fs "${grubdir}")" |
1989 | ++case "$FS" in |
1990 | ++ btrfs | cpiofs | newc | odc | romfs | squash4 | tarfs | zfs) |
1991 | ++ cat <<EOF |
1992 | ++ # GRUB lacks write support for $FS, so recordfail support is disabled. |
1993 | ++EOF |
1994 | ++ ;; |
1995 | ++ *) |
1996 | ++ cat <<EOF |
1997 | + if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi |
1998 | ++EOF |
1999 | ++esac |
2000 | ++cat <<EOF |
2001 | +} |
2002 | + |
2003 | function load_video { |
2004 | EOF |
2005 | if [ -n "${GRUB_VIDEO_BACKEND}" ]; then |
2006 | -@@ -273,7 +279,11 @@ |
2007 | +@@ -273,7 +293,11 @@ |
2008 | make_timeout () |
2009 | { |
2010 | cat << EOF |
2011 | @@ -46,7 +68,7 @@ |
2012 | =================================================================== |
2013 | --- a/util/grub.d/10_linux.in |
2014 | +++ b/util/grub.d/10_linux.in |
2015 | -@@ -114,6 +114,7 @@ |
2016 | +@@ -118,6 +118,7 @@ |
2017 | else |
2018 | echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/" |
2019 | fi |
2020 | |
2021 | === modified file 'debian/patches/ubuntu_gfxpayload_filter.patch' |
2022 | --- debian/patches/ubuntu_gfxpayload_filter.patch 2013-02-01 17:45:21 +0000 |
2023 | +++ debian/patches/ubuntu_gfxpayload_filter.patch 2013-10-08 00:15:07 +0000 |
2024 | @@ -177,7 +177,7 @@ |
2025 | =================================================================== |
2026 | --- a/util/grub.d/10_linux.in |
2027 | +++ b/util/grub.d/10_linux.in |
2028 | -@@ -127,8 +127,8 @@ |
2029 | +@@ -131,8 +131,8 @@ |
2030 | if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then |
2031 | echo " load_video" | sed "s/^/$submenu_indentation/" |
2032 | fi |
2033 | @@ -187,7 +187,7 @@ |
2034 | |
2035 | echo " insmod gzio" | sed "s/^/$submenu_indentation/" |
2036 | |
2037 | -@@ -200,6 +200,35 @@ |
2038 | +@@ -204,6 +204,35 @@ |
2039 | boot_device_id= |
2040 | title_correction_code= |
2041 | |
2042 | |
2043 | === removed file 'debian/patches/ubuntu_linux_quiet.patch' |
2044 | --- debian/patches/ubuntu_linux_quiet.patch 2013-02-01 17:45:21 +0000 |
2045 | +++ debian/patches/ubuntu_linux_quiet.patch 1970-01-01 00:00:00 +0000 |
2046 | @@ -1,41 +0,0 @@ |
2047 | -Description: Suppress kernel/initrd progress messages, except in recovery mode |
2048 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2049 | -Bug-Ubuntu: https://bugs.launchpad.net/bugs/386922 |
2050 | -Forwarded: no |
2051 | -Last-Update: 2013-02-01 |
2052 | - |
2053 | -Index: b/util/grub.d/10_linux.in |
2054 | -=================================================================== |
2055 | ---- a/util/grub.d/10_linux.in |
2056 | -+++ b/util/grub.d/10_linux.in |
2057 | -@@ -142,10 +142,12 @@ |
2058 | - fi |
2059 | - printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" |
2060 | - fi |
2061 | -- message="$(gettext_printf "Loading Linux %s ..." ${version})" |
2062 | -- sed "s/^/$submenu_indentation/" << EOF |
2063 | -+ if [ x$type != xsimple ]; then |
2064 | -+ message="$(gettext_printf "Loading Linux %s ..." ${version})" |
2065 | -+ sed "s/^/$submenu_indentation/" << EOF |
2066 | - echo '$(echo "$message" | grub_quote)' |
2067 | - EOF |
2068 | -+ fi |
2069 | - if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then |
2070 | - sed "s/^/$submenu_indentation/" << EOF |
2071 | - linux ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args} |
2072 | -@@ -157,9 +159,13 @@ |
2073 | - fi |
2074 | - if test -n "${initrd}" ; then |
2075 | - # TRANSLATORS: ramdisk isn't identifier. Should be translated. |
2076 | -- message="$(gettext_printf "Loading initial ramdisk ...")" |
2077 | -- sed "s/^/$submenu_indentation/" << EOF |
2078 | -+ if [ x$type != xsimple ]; then |
2079 | -+ message="$(gettext_printf "Loading initial ramdisk ...")" |
2080 | -+ sed "s/^/$submenu_indentation/" << EOF |
2081 | - echo '$(echo "$message" | grub_quote)' |
2082 | -+EOF |
2083 | -+ fi |
2084 | -+ sed "s/^/$submenu_indentation/" << EOF |
2085 | - initrd ${rel_dirname}/${initrd} |
2086 | - EOF |
2087 | - fi |
2088 | |
2089 | === removed file 'debian/patches/ubuntu_normal_quiet.patch' |
2090 | --- debian/patches/ubuntu_normal_quiet.patch 2012-09-07 12:39:02 +0000 |
2091 | +++ debian/patches/ubuntu_normal_quiet.patch 1970-01-01 00:00:00 +0000 |
2092 | @@ -1,62 +0,0 @@ |
2093 | -Description: Reduce visual clutter in normal mode |
2094 | - Don't display introductory message about line editing unless we're actually |
2095 | - offering a shell prompt. (This is believed to be a workaround for a |
2096 | - different bug. We'll go with this for now, but will drop this in favour of |
2097 | - a better fix upstream if somebody figures out what that is.) |
2098 | - . |
2099 | - Don't clear the screen just before booting if we never drew the menu in the |
2100 | - first place. |
2101 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2102 | -Forwarded: http://lists.gnu.org/archive/html/grub-devel/2009-09/msg00056.html |
2103 | -Last-Update: 2012-09-06 |
2104 | - |
2105 | -Index: b/grub-core/normal/main.c |
2106 | -=================================================================== |
2107 | ---- a/grub-core/normal/main.c |
2108 | -+++ b/grub-core/normal/main.c |
2109 | -@@ -399,6 +399,13 @@ |
2110 | - grub_normal_read_line_real (char **line, int cont, int nested) |
2111 | - { |
2112 | - const char *prompt; |
2113 | -+ static int displayed_intro; |
2114 | -+ |
2115 | -+ if (! displayed_intro) |
2116 | -+ { |
2117 | -+ grub_normal_reader_init (nested); |
2118 | -+ displayed_intro = 1; |
2119 | -+ } |
2120 | - |
2121 | - if (cont) |
2122 | - /* TRANSLATORS: it's command line prompt. */ |
2123 | -@@ -446,8 +453,6 @@ |
2124 | - return; |
2125 | - } |
2126 | - |
2127 | -- grub_normal_reader_init (nested); |
2128 | -- |
2129 | - while (1) |
2130 | - { |
2131 | - char *line; |
2132 | -Index: b/grub-core/normal/menu.c |
2133 | -=================================================================== |
2134 | ---- a/grub-core/normal/menu.c |
2135 | -+++ b/grub-core/normal/menu.c |
2136 | -@@ -722,6 +722,7 @@ |
2137 | - int boot_entry; |
2138 | - grub_menu_entry_t e; |
2139 | - int auto_boot; |
2140 | -+ int initial_timeout = grub_menu_get_timeout (); |
2141 | - |
2142 | - boot_entry = run_menu (menu, nested, &auto_boot); |
2143 | - if (boot_entry < 0) |
2144 | -@@ -731,7 +732,9 @@ |
2145 | - if (! e) |
2146 | - continue; /* Menu is empty. */ |
2147 | - |
2148 | -- grub_cls (); |
2149 | -+ /* Only clear the screen if we drew the menu in the first place. */ |
2150 | -+ if (initial_timeout != 0) |
2151 | -+ grub_cls (); |
2152 | - |
2153 | - if (auto_boot) |
2154 | - grub_menu_execute_with_fallback (menu, e, autobooted, |
2155 | |
2156 | === modified file 'debian/patches/ubuntu_quick_boot.patch' |
2157 | --- debian/patches/ubuntu_quick_boot.patch 2012-09-26 16:27:19 +0000 |
2158 | +++ debian/patches/ubuntu_quick_boot.patch 2013-10-08 00:15:07 +0000 |
2159 | @@ -10,7 +10,7 @@ |
2160 | https://wiki.ubuntu.com/DesktopExperienceTeam/KarmicBootExperienceDesignSpec#Bootloader. |
2161 | Author: Colin Watson <cjwatson@ubuntu.com> |
2162 | Forwarded: no |
2163 | -Last-Update: 2012-09-26 |
2164 | +Last-Update: 2013-05-09 |
2165 | |
2166 | Index: b/util/grub.d/00_header.in |
2167 | =================================================================== |
2168 | @@ -44,7 +44,7 @@ |
2169 | =================================================================== |
2170 | --- a/util/grub.d/30_os-prober.in |
2171 | +++ b/util/grub.d/30_os-prober.in |
2172 | -@@ -26,22 +26,80 @@ |
2173 | +@@ -26,12 +26,68 @@ |
2174 | |
2175 | . "@datadir@/@PACKAGE@/grub-mkconfig_lib" |
2176 | |
2177 | @@ -113,6 +113,7 @@ |
2178 | exit 0 |
2179 | fi |
2180 | |
2181 | +@@ -43,10 +99,12 @@ |
2182 | OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" |
2183 | if [ -z "${OSPROBED}" ] ; then |
2184 | # empty os-prober output, nothing doing |
2185 | @@ -125,15 +126,23 @@ |
2186 | if [ x$2 = x32 ]; then |
2187 | # TRANSLATORS: it refers to kernel architecture (32-bit) |
2188 | bitstr="$(gettext "(32-bit)")" |
2189 | -@@ -122,6 +180,7 @@ |
2190 | - case ${BOOT} in |
2191 | - chain) |
2192 | +@@ -146,6 +204,7 @@ |
2193 | + ;; |
2194 | + esac |
2195 | |
2196 | + found_other_os=1 |
2197 | onstr="$(gettext_printf "(on %s)" "${DEVICE}")" |
2198 | cat << EOF |
2199 | menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { |
2200 | -@@ -174,6 +233,7 @@ |
2201 | +@@ -169,6 +228,7 @@ |
2202 | + EOF |
2203 | + ;; |
2204 | + efi) |
2205 | ++ found_other_os=1 |
2206 | + EFIPATH=${DEVICE#*@} |
2207 | + DEVICE=${DEVICE%@*} |
2208 | + cat << EOF |
2209 | +@@ -211,6 +271,7 @@ |
2210 | [ "${prepare_boot_cache}" ] || continue |
2211 | fi |
2212 | |
2213 | @@ -141,7 +150,7 @@ |
2214 | onstr="$(gettext_printf "(on %s)" "${DEVICE}")" |
2215 | recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true |
2216 | counter=1 |
2217 | -@@ -240,6 +300,7 @@ |
2218 | +@@ -277,6 +338,7 @@ |
2219 | osx_entry xnu_kernel64 64 |
2220 | ;; |
2221 | hurd) |
2222 | @@ -149,7 +158,7 @@ |
2223 | onstr="$(gettext_printf "(on %s)" "${DEVICE}")" |
2224 | cat << EOF |
2225 | menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' { |
2226 | -@@ -272,3 +333,5 @@ |
2227 | +@@ -309,3 +371,5 @@ |
2228 | ;; |
2229 | esac |
2230 | done |
2231 | |
2232 | === removed file 'debian/patches/ubuntu_quiet_grub_loading.patch' |
2233 | --- debian/patches/ubuntu_quiet_grub_loading.patch 2012-09-07 12:39:02 +0000 |
2234 | +++ debian/patches/ubuntu_quiet_grub_loading.patch 1970-01-01 00:00:00 +0000 |
2235 | @@ -1,106 +0,0 @@ |
2236 | -Description: Suppress "GRUB loading" message unless Shift is held down |
2237 | - Upstream doesn't want this, as it makes debugging harder. Ubuntu wants it |
2238 | - to provide a cleaner boot experience. |
2239 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2240 | -Forwarded: not-needed |
2241 | -Last-Update: 2012-09-06 |
2242 | - |
2243 | -Index: b/grub-core/boot/i386/pc/boot.S |
2244 | -=================================================================== |
2245 | ---- a/grub-core/boot/i386/pc/boot.S |
2246 | -+++ b/grub-core/boot/i386/pc/boot.S |
2247 | -@@ -18,6 +18,7 @@ |
2248 | - */ |
2249 | - |
2250 | - #include <grub/symbol.h> |
2251 | -+#include <grub/machine/memory.h> |
2252 | - #include <grub/machine/boot.h> |
2253 | - |
2254 | - /* |
2255 | -@@ -150,9 +151,15 @@ |
2256 | - /* save drive reference first thing! */ |
2257 | - pushw %dx |
2258 | - |
2259 | -+ /* is either shift key held down? */ |
2260 | -+ movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
2261 | -+ andb $3, (%bx) |
2262 | -+ jz 2f |
2263 | -+ |
2264 | - /* print a notification message on the screen */ |
2265 | - MSG(notification_string) |
2266 | - |
2267 | -+2: |
2268 | - /* set %si to the disk address packet */ |
2269 | - movw $disk_address_packet, %si |
2270 | - |
2271 | -Index: b/grub-core/boot/i386/pc/diskboot.S |
2272 | -=================================================================== |
2273 | ---- a/grub-core/boot/i386/pc/diskboot.S |
2274 | -+++ b/grub-core/boot/i386/pc/diskboot.S |
2275 | -@@ -17,6 +17,7 @@ |
2276 | - */ |
2277 | - |
2278 | - #include <grub/symbol.h> |
2279 | -+#include <grub/machine/memory.h> |
2280 | - #include <grub/machine/boot.h> |
2281 | - |
2282 | - /* |
2283 | -@@ -24,6 +25,7 @@ |
2284 | - */ |
2285 | - |
2286 | - #define MSG(x) movw $x, %si; call LOCAL(message) |
2287 | -+#define SILENT(x) call LOCAL(check_silent); jz LOCAL(x) |
2288 | - |
2289 | - .file "diskboot.S" |
2290 | - |
2291 | -@@ -50,11 +52,14 @@ |
2292 | - /* save drive reference first thing! */ |
2293 | - pushw %dx |
2294 | - |
2295 | -+ SILENT(after_notification_string) |
2296 | -+ |
2297 | - /* print a notification message on the screen */ |
2298 | - pushw %si |
2299 | - MSG(notification_string) |
2300 | - popw %si |
2301 | - |
2302 | -+LOCAL(after_notification_string): |
2303 | - /* this sets up for the first run through "bootloop" */ |
2304 | - movw $LOCAL(firstlist), %di |
2305 | - |
2306 | -@@ -279,7 +284,10 @@ |
2307 | - /* restore addressing regs and print a dot with correct DS |
2308 | - (MSG modifies SI, which is saved, and unused AX and BX) */ |
2309 | - popw %ds |
2310 | -+ SILENT(after_notification_step) |
2311 | - MSG(notification_step) |
2312 | -+ |
2313 | -+LOCAL(after_notification_step): |
2314 | - popa |
2315 | - |
2316 | - /* check if finished with this dataset */ |
2317 | -@@ -295,8 +303,11 @@ |
2318 | - /* END OF MAIN LOOP */ |
2319 | - |
2320 | - LOCAL(bootit): |
2321 | -+ SILENT(after_notification_done) |
2322 | - /* print a newline */ |
2323 | - MSG(notification_done) |
2324 | -+ |
2325 | -+LOCAL(after_notification_done): |
2326 | - popw %dx /* this makes sure %dl is our "boot" drive */ |
2327 | - ljmp $0, $(GRUB_BOOT_MACHINE_KERNEL_ADDR + 0x200) |
2328 | - |
2329 | -@@ -320,6 +331,12 @@ |
2330 | - /* go here when you need to stop the machine hard after an error condition */ |
2331 | - LOCAL(stop): jmp LOCAL(stop) |
2332 | - |
2333 | -+LOCAL(check_silent): |
2334 | -+ /* is either shift key held down? */ |
2335 | -+ movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
2336 | -+ andb $3, (%bx) |
2337 | -+ ret |
2338 | -+ |
2339 | - notification_string: .asciz "loading" |
2340 | - |
2341 | - notification_step: .asciz "." |
2342 | |
2343 | === removed file 'debian/patches/ubuntu_really_quiet.patch' |
2344 | --- debian/patches/ubuntu_really_quiet.patch 2012-09-07 12:39:02 +0000 |
2345 | +++ debian/patches/ubuntu_really_quiet.patch 1970-01-01 00:00:00 +0000 |
2346 | @@ -1,77 +0,0 @@ |
2347 | -Description: Remove verbose messages printed before reading configuration |
2348 | - In some ways this is awkward because it makes debugging harder, but it's a |
2349 | - requirement for a smooth-looking boot process; we may be able to do better in |
2350 | - future. Upstream doesn't want this, though. |
2351 | - . |
2352 | - We disable the cursor as well, for similar reasons of tidiness. |
2353 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2354 | -Bug-Ubuntu: https://bugs.launchpad.net/bugs/386922 |
2355 | -Bug-Ubuntu: https://bugs.launchpad.net/bugs/861048 |
2356 | -Forwarded: not-needed |
2357 | -Last-Update: 2012-09-06 |
2358 | - |
2359 | -Index: b/grub-core/kern/main.c |
2360 | -=================================================================== |
2361 | ---- a/grub-core/kern/main.c |
2362 | -+++ b/grub-core/kern/main.c |
2363 | -@@ -207,13 +207,14 @@ |
2364 | - void __attribute__ ((noreturn)) |
2365 | - grub_main (void) |
2366 | - { |
2367 | -+ struct grub_term_output *term; |
2368 | -+ |
2369 | - /* First of all, initialize the machine. */ |
2370 | - grub_machine_init (); |
2371 | - |
2372 | -- /* Hello. */ |
2373 | -- grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT); |
2374 | -- grub_printf ("Welcome to GRUB!\n\n"); |
2375 | -- grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); |
2376 | -+ /* Disable the cursor until we need it. */ |
2377 | -+ FOR_ACTIVE_TERM_OUTPUTS(term) |
2378 | -+ grub_term_setcursor (term, 0); |
2379 | - |
2380 | - /* Load pre-loaded modules and free the space. */ |
2381 | - grub_register_exported_symbols (); |
2382 | -@@ -232,5 +233,10 @@ |
2383 | - |
2384 | - grub_load_config (); |
2385 | - grub_load_normal_mode (); |
2386 | -+ |
2387 | -+ /* If we have to enter rescue mode, enable the cursor again. */ |
2388 | -+ FOR_ACTIVE_TERM_OUTPUTS(term) |
2389 | -+ grub_term_setcursor (term, 1); |
2390 | -+ |
2391 | - grub_rescue_run (); |
2392 | - } |
2393 | -Index: b/grub-core/kern/rescue_reader.c |
2394 | -=================================================================== |
2395 | ---- a/grub-core/kern/rescue_reader.c |
2396 | -+++ b/grub-core/kern/rescue_reader.c |
2397 | -@@ -77,8 +77,6 @@ |
2398 | - void __attribute__ ((noreturn)) |
2399 | - grub_rescue_run (void) |
2400 | - { |
2401 | -- grub_printf ("Entering rescue mode...\n"); |
2402 | -- |
2403 | - while (1) |
2404 | - { |
2405 | - char *line; |
2406 | -Index: b/grub-core/normal/menu.c |
2407 | -=================================================================== |
2408 | ---- a/grub-core/normal/menu.c |
2409 | -+++ b/grub-core/normal/menu.c |
2410 | -@@ -669,12 +669,9 @@ |
2411 | - |
2412 | - /* Callback invoked immediately before a menu entry is executed. */ |
2413 | - static void |
2414 | --notify_booting (grub_menu_entry_t entry, |
2415 | -+notify_booting (grub_menu_entry_t entry __attribute__((unused)), |
2416 | - void *userdata __attribute__((unused))) |
2417 | - { |
2418 | -- grub_printf (" "); |
2419 | -- grub_printf_ (N_("Booting `%s'"), entry->title); |
2420 | -- grub_printf ("\n\n"); |
2421 | - } |
2422 | - |
2423 | - /* Callback invoked when a default menu entry executed because of a timeout |
2424 | |
2425 | === modified file 'debian/patches/ubuntu_recovery_nomodeset.patch' |
2426 | --- debian/patches/ubuntu_recovery_nomodeset.patch 2013-02-01 17:45:21 +0000 |
2427 | +++ debian/patches/ubuntu_recovery_nomodeset.patch 2013-10-08 00:15:07 +0000 |
2428 | @@ -10,7 +10,7 @@ |
2429 | =================================================================== |
2430 | --- a/util/grub.d/10_linux.in |
2431 | +++ b/util/grub.d/10_linux.in |
2432 | -@@ -134,7 +134,9 @@ |
2433 | +@@ -138,7 +138,9 @@ |
2434 | echo " load_video" | sed "s/^/$submenu_indentation/" |
2435 | fi |
2436 | fi |
2437 | @@ -21,7 +21,7 @@ |
2438 | |
2439 | echo " insmod gzio" | sed "s/^/$submenu_indentation/" |
2440 | |
2441 | -@@ -322,10 +324,10 @@ |
2442 | +@@ -326,10 +328,10 @@ |
2443 | if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then |
2444 | if [ -x /lib/recovery-mode/recovery-menu ]; then |
2445 | linux_entry "${OS}" "${version}" recovery \ |
2446 | |
2447 | === removed file 'debian/patches/ubuntu_sleep_shift.patch' |
2448 | --- debian/patches/ubuntu_sleep_shift.patch 2012-09-07 12:39:02 +0000 |
2449 | +++ debian/patches/ubuntu_sleep_shift.patch 1970-01-01 00:00:00 +0000 |
2450 | @@ -1,53 +0,0 @@ |
2451 | -Description: Allow Shift to interrupt 'sleep --interruptible' |
2452 | - Upstream would like to consider this at more length. See |
2453 | - http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00718.html, and the |
2454 | - rest of the thread for context. |
2455 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2456 | -Forwarded: http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00694.html |
2457 | -Last-Update: 2012-09-06 |
2458 | - |
2459 | -Index: b/grub-core/commands/sleep.c |
2460 | -=================================================================== |
2461 | ---- a/grub-core/commands/sleep.c |
2462 | -+++ b/grub-core/commands/sleep.c |
2463 | -@@ -46,6 +46,31 @@ |
2464 | - grub_refresh (); |
2465 | - } |
2466 | - |
2467 | -+static int |
2468 | -+grub_check_keyboard (void) |
2469 | -+{ |
2470 | -+ int mods = 0; |
2471 | -+ grub_term_input_t term; |
2472 | -+ |
2473 | -+ if (grub_term_poll_usb) |
2474 | -+ grub_term_poll_usb (); |
2475 | -+ |
2476 | -+ FOR_ACTIVE_TERM_INPUTS(term) |
2477 | -+ { |
2478 | -+ if (term->getkeystatus) |
2479 | -+ mods |= term->getkeystatus (term); |
2480 | -+ } |
2481 | -+ |
2482 | -+ if (mods >= 0 && |
2483 | -+ (mods & (GRUB_TERM_STATUS_LSHIFT | GRUB_TERM_STATUS_RSHIFT)) != 0) |
2484 | -+ return 1; |
2485 | -+ |
2486 | -+ if (grub_getkey_noblock () == GRUB_TERM_ESC) |
2487 | -+ return 1; |
2488 | -+ |
2489 | -+ return 0; |
2490 | -+} |
2491 | -+ |
2492 | - /* Based on grub_millisleep() from kern/generic/millisleep.c. */ |
2493 | - static int |
2494 | - grub_interruptible_millisleep (grub_uint32_t ms) |
2495 | -@@ -55,7 +80,7 @@ |
2496 | - start = grub_get_time_ms (); |
2497 | - |
2498 | - while (grub_get_time_ms () - start < ms) |
2499 | -- if (grub_getkey_noblock () == GRUB_TERM_ESC) |
2500 | -+ if (grub_check_keyboard ()) |
2501 | - return 1; |
2502 | - |
2503 | - return 0; |
2504 | |
2505 | === modified file 'debian/patches/ubuntu_vt_handoff.patch' |
2506 | --- debian/patches/ubuntu_vt_handoff.patch 2013-02-01 17:45:21 +0000 |
2507 | +++ debian/patches/ubuntu_vt_handoff.patch 2013-10-08 00:15:07 +0000 |
2508 | @@ -12,7 +12,7 @@ |
2509 | =================================================================== |
2510 | --- a/util/grub.d/10_linux.in |
2511 | +++ b/util/grub.d/10_linux.in |
2512 | -@@ -82,6 +82,12 @@ |
2513 | +@@ -86,6 +86,12 @@ |
2514 | |
2515 | title_correction_code= |
2516 | |
2517 | @@ -25,7 +25,7 @@ |
2518 | # add crashkernel option if we have the required tools |
2519 | if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then |
2520 | GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M" |
2521 | -@@ -128,7 +134,7 @@ |
2522 | +@@ -132,7 +138,7 @@ |
2523 | echo " load_video" | sed "s/^/$submenu_indentation/" |
2524 | fi |
2525 | fi |
2526 | @@ -34,7 +34,7 @@ |
2527 | |
2528 | echo " insmod gzio" | sed "s/^/$submenu_indentation/" |
2529 | |
2530 | -@@ -200,6 +206,17 @@ |
2531 | +@@ -204,6 +210,17 @@ |
2532 | boot_device_id= |
2533 | title_correction_code= |
2534 | |
2535 | |
2536 | === removed file 'debian/patches/ubuntu_wubi_no_windows.patch' |
2537 | --- debian/patches/ubuntu_wubi_no_windows.patch 2012-09-07 12:39:02 +0000 |
2538 | +++ debian/patches/ubuntu_wubi_no_windows.patch 1970-01-01 00:00:00 +0000 |
2539 | @@ -1,47 +0,0 @@ |
2540 | -Description: Skip Windows os-prober entries on Wubi systems |
2541 | - Since we're already being booted from the Windows boot loader, including |
2542 | - entries that take us back to it mostly just causes confusion, and stops us |
2543 | - from being able to hide the menu if there are no other OSes installed. |
2544 | - . |
2545 | - https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-wubi |
2546 | -Author: Colin Watson <cjwatson@ubuntu.com> |
2547 | -Forwarded: not-needed |
2548 | -Last-Update: 2012-09-06 |
2549 | - |
2550 | -Index: b/util/grub.d/30_os-prober.in |
2551 | -=================================================================== |
2552 | ---- a/util/grub.d/30_os-prober.in |
2553 | -+++ b/util/grub.d/30_os-prober.in |
2554 | -@@ -165,6 +165,8 @@ |
2555 | - |
2556 | - used_osprober_linux_ids= |
2557 | - |
2558 | -+wubi= |
2559 | -+ |
2560 | - for OS in ${OSPROBED} ; do |
2561 | - DEVICE="`echo ${OS} | cut -d ':' -f 1`" |
2562 | - LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`" |
2563 | -@@ -180,6 +182,23 @@ |
2564 | - case ${BOOT} in |
2565 | - chain) |
2566 | - |
2567 | -+ case ${LONGNAME} in |
2568 | -+ Windows*) |
2569 | -+ if [ -z "$wubi" ]; then |
2570 | -+ if [ -x /usr/share/lupin-support/grub-mkimage ] && \ |
2571 | -+ /usr/share/lupin-support/grub-mkimage --test; then |
2572 | -+ wubi=yes |
2573 | -+ else |
2574 | -+ wubi=no |
2575 | -+ fi |
2576 | -+ fi |
2577 | -+ if [ "$wubi" = yes ]; then |
2578 | -+ echo "Skipping ${LONGNAME} on Wubi system" >&2 |
2579 | -+ continue |
2580 | -+ fi |
2581 | -+ ;; |
2582 | -+ esac |
2583 | -+ |
2584 | - found_other_os=1 |
2585 | - onstr="$(gettext_printf "(on %s)" "${DEVICE}")" |
2586 | - cat << EOF |
2587 | |
2588 | === added file 'debian/patches/wubi_no_windows.patch' |
2589 | --- debian/patches/wubi_no_windows.patch 1970-01-01 00:00:00 +0000 |
2590 | +++ debian/patches/wubi_no_windows.patch 2013-10-08 00:15:07 +0000 |
2591 | @@ -0,0 +1,47 @@ |
2592 | +Description: Skip Windows os-prober entries on Wubi systems |
2593 | + Since we're already being booted from the Windows boot loader, including |
2594 | + entries that take us back to it mostly just causes confusion, and stops us |
2595 | + from being able to hide the menu if there are no other OSes installed. |
2596 | + . |
2597 | + https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-wubi |
2598 | +Author: Colin Watson <cjwatson@ubuntu.com> |
2599 | +Forwarded: not-needed |
2600 | +Last-Update: 2013-08-13 |
2601 | + |
2602 | +Index: b/util/grub.d/30_os-prober.in |
2603 | +=================================================================== |
2604 | +--- a/util/grub.d/30_os-prober.in |
2605 | ++++ b/util/grub.d/30_os-prober.in |
2606 | +@@ -112,6 +112,8 @@ |
2607 | + |
2608 | + used_osprober_linux_ids= |
2609 | + |
2610 | ++wubi= |
2611 | ++ |
2612 | + for OS in ${OSPROBED} ; do |
2613 | + DEVICE="`echo ${OS} | cut -d ':' -f 1`" |
2614 | + LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`" |
2615 | +@@ -127,6 +129,23 @@ |
2616 | + case ${BOOT} in |
2617 | + chain) |
2618 | + |
2619 | ++ case ${LONGNAME} in |
2620 | ++ Windows*) |
2621 | ++ if [ -z "$wubi" ]; then |
2622 | ++ if [ -x /usr/share/lupin-support/grub-mkimage ] && \ |
2623 | ++ /usr/share/lupin-support/grub-mkimage --test; then |
2624 | ++ wubi=yes |
2625 | ++ else |
2626 | ++ wubi=no |
2627 | ++ fi |
2628 | ++ fi |
2629 | ++ if [ "$wubi" = yes ]; then |
2630 | ++ echo "Skipping ${LONGNAME} on Wubi system" >&2 |
2631 | ++ continue |
2632 | ++ fi |
2633 | ++ ;; |
2634 | ++ esac |
2635 | ++ |
2636 | + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" |
2637 | + cat << EOF |
2638 | + menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { |
2639 | |
2640 | === added file 'debian/po/hu.po' |
2641 | --- debian/po/hu.po 1970-01-01 00:00:00 +0000 |
2642 | +++ debian/po/hu.po 2013-10-08 00:15:07 +0000 |
2643 | @@ -0,0 +1,411 @@ |
2644 | +# SOME DESCRIPTIVE TITLE. |
2645 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2646 | +# This file is distributed under the same license as the PACKAGE package. |
2647 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
2648 | +# Dr. Nagy Elemér Károly <eknagy@omikk.bme.hu>, 2013. |
2649 | +# |
2650 | +msgid "" |
2651 | +msgstr "" |
2652 | +"Project-Id-Version: grub2\n" |
2653 | +"Report-Msgid-Bugs-To: grub2@packages.debian.org\n" |
2654 | +"POT-Creation-Date: 2011-05-27 13:33+0100\n" |
2655 | +"PO-Revision-Date: 2013-05-18 15:44+0200\n" |
2656 | +"Last-Translator: Dr. Nagy Elemér Károly <eknagy@omikk.bme.hu>\n" |
2657 | +"Language-Team: Hungarian <debian-l10n-hungarian@lists.d.o>\n" |
2658 | +"Language: \n" |
2659 | +"MIME-Version: 1.0\n" |
2660 | +"Content-Type: text/plain; charset=UTF-8\n" |
2661 | +"Content-Transfer-Encoding: UTF-8\n" |
2662 | +"Plural-Forms: ???\n" |
2663 | + |
2664 | +#. Type: boolean |
2665 | +#. Description |
2666 | +#: ../grub-pc.templates.in:2001 |
2667 | +msgid "Chainload from menu.lst?" |
2668 | +msgstr "Továbbtöltsünk a menu.lst-ből?" |
2669 | + |
2670 | +#. Type: boolean |
2671 | +#. Description |
2672 | +#: ../grub-pc.templates.in:2001 |
2673 | +msgid "GRUB upgrade scripts have detected a GRUB Legacy setup in /boot/grub." |
2674 | +msgstr "" |
2675 | +"A GRUB frissítő program észlelte, hogy régi GRUB beállítás van a /boot/grub-" |
2676 | +"ban." |
2677 | + |
2678 | +#. Type: boolean |
2679 | +#. Description |
2680 | +#: ../grub-pc.templates.in:2001 |
2681 | +msgid "" |
2682 | +"In order to replace the Legacy version of GRUB in your system, it is " |
2683 | +"recommended that /boot/grub/menu.lst is adjusted to load a GRUB 2 boot image " |
2684 | +"from your existing GRUB Legacy setup. This step can be automatically " |
2685 | +"performed now." |
2686 | +msgstr "" |
2687 | +"A régi GRUB lecserélése érdekében javasolt, hogy a /boot/grub/menu.lst fájlt " |
2688 | +"úgy módosítsuk, hogy egy GRUB2 betöltőképet töltsön be a régi GRUB. Ezt " |
2689 | +"automatikusan elvégezhetjük most." |
2690 | + |
2691 | +#. Type: boolean |
2692 | +#. Description |
2693 | +#: ../grub-pc.templates.in:2001 |
2694 | +msgid "" |
2695 | +"It's recommended that you accept chainloading GRUB 2 from menu.lst, and " |
2696 | +"verify that the new GRUB 2 setup works before it is written to the MBR " |
2697 | +"(Master Boot Record)." |
2698 | +msgstr "" |
2699 | +"Javaslom, hogy a menu.lst-ből töltsük tovább a GRUB 2-t, és ellenőrizzük, " |
2700 | +"hogy működik-e az új GRUB 2 beállítása, mielőtt az MBR-be (Master Boot " |
2701 | +"Record) írnánk" |
2702 | + |
2703 | +#. Type: boolean |
2704 | +#. Description |
2705 | +#: ../grub-pc.templates.in:2001 |
2706 | +msgid "" |
2707 | +"Whatever your decision, you can replace the old MBR image with GRUB 2 later " |
2708 | +"by issuing the following command as root:" |
2709 | +msgstr "" |
2710 | +"Bárhogy is döntesz most, a régi MBR képet kicserélheted a GRUB2 " |
2711 | +"betöltőképével, ha rendszergazdaként (root) kiadod a következő parancsot:" |
2712 | + |
2713 | +#. Type: multiselect |
2714 | +#. Description |
2715 | +#. Type: multiselect |
2716 | +#. Description |
2717 | +#: ../grub-pc.templates.in:3001 ../grub-pc.templates.in:4001 |
2718 | +msgid "GRUB install devices:" |
2719 | +msgstr "GRUB telepítési eszközök:" |
2720 | + |
2721 | +#. Type: multiselect |
2722 | +#. Description |
2723 | +#: ../grub-pc.templates.in:3001 |
2724 | +msgid "" |
2725 | +"The grub-pc package is being upgraded. This menu allows you to select which " |
2726 | +"devices you'd like grub-install to be automatically run for, if any." |
2727 | +msgstr "" |
2728 | +"A grub-pc csomagot frissítjük. Ebben a menüben kiválaszthatod, hogy melyik " |
2729 | +"egységekre szeretnéd automatikusan futtatni a grub-install parancsot, ha van " |
2730 | +"ilyen." |
2731 | + |
2732 | +#. Type: multiselect |
2733 | +#. Description |
2734 | +#: ../grub-pc.templates.in:3001 |
2735 | +msgid "" |
2736 | +"Running grub-install automatically is recommended in most situations, to " |
2737 | +"prevent the installed GRUB core image from getting out of sync with GRUB " |
2738 | +"modules or grub.cfg." |
2739 | +msgstr "" |
2740 | +"A grub-install automatikus futtatása erősen javasolt a legtöbb esetben, mert " |
2741 | +"megakadályozza, hogy a GRUB töltőkép más verziójú legyen, mint a GRUB " |
2742 | +"modulok vagy a grub.cfg fájl." |
2743 | + |
2744 | +#. Type: multiselect |
2745 | +#. Description |
2746 | +#. Type: multiselect |
2747 | +#. Description |
2748 | +#: ../grub-pc.templates.in:3001 ../grub-pc.templates.in:4001 |
2749 | +msgid "" |
2750 | +"If you're unsure which drive is designated as boot drive by your BIOS, it is " |
2751 | +"often a good idea to install GRUB to all of them." |
2752 | +msgstr "" |
2753 | +"Ha nem vagy benne biztos, hogy melyik meghajtó van rendszerlemeznek " |
2754 | +"beállítva a BIOS-ban, jó ötlet lehet mindegyikre feltelepíteni a GRUB-ot." |
2755 | + |
2756 | +#. Type: multiselect |
2757 | +#. Description |
2758 | +#. Type: multiselect |
2759 | +#. Description |
2760 | +#: ../grub-pc.templates.in:3001 ../grub-pc.templates.in:4001 |
2761 | +msgid "" |
2762 | +"Note: it is possible to install GRUB to partition boot records as well, and " |
2763 | +"some appropriate partitions are offered here. However, this forces GRUB to " |
2764 | +"use the blocklist mechanism, which makes it less reliable, and therefore is " |
2765 | +"not recommended." |
2766 | +msgstr "" |
2767 | +"Megjegyzés: A GRUB-ot nemcsak lemez, de partíció rendszerbetöltő részére is " |
2768 | +"lehet telepíteni, és ha van erre alkalmas partíció, azt is felkínáljuk itt. " |
2769 | +"Mivel azonban így a GRUB kénytelen a blokklista módszert (blocklist) " |
2770 | +"alkalmazni, amely kevésbé megbízható, így ez nem javasolt." |
2771 | + |
2772 | +#. Type: multiselect |
2773 | +#. Description |
2774 | +#: ../grub-pc.templates.in:4001 |
2775 | +msgid "" |
2776 | +"The GRUB boot loader was previously installed to a disk that is no longer " |
2777 | +"present, or whose unique identifier has changed for some reason. It is " |
2778 | +"important to make sure that the installed GRUB core image stays in sync with " |
2779 | +"GRUB modules and grub.cfg. Please check again to make sure that GRUB is " |
2780 | +"written to the appropriate boot devices." |
2781 | +msgstr "" |
2782 | +"A GRUB rendszerbetöltő korábban egy olyan lemezre volt telepítve, amely " |
2783 | +"hiányzik vagy amelynek megváltozott az egyedi azonosítója. Fontos, hogy " |
2784 | +"biztosítsuk, hogy a GRUB töltőkép ugyanolyan verziójú legyen, mint a GRUB " |
2785 | +"modulok és a grub.cfg. Kérlek ellenőrizd még egyszer hogy biztosan a " |
2786 | +"megfelelő eszközre írjuk a GRUB-ot." |
2787 | + |
2788 | +#. Type: text |
2789 | +#. Description |
2790 | +#. Disk sizes are in decimal megabytes, to match how disk manufacturers |
2791 | +#. usually describe them. |
2792 | +#: ../grub-pc.templates.in:5001 |
2793 | +msgid "${DEVICE} (${SIZE} MB; ${MODEL})" |
2794 | +msgstr "${DEVICE} (${SIZE} MB; ${MODEL})" |
2795 | + |
2796 | +#. Type: text |
2797 | +#. Description |
2798 | +#. The "-" is used to indicate indentation. Leading spaces may not work. |
2799 | +#: ../grub-pc.templates.in:6001 |
2800 | +msgid "- ${DEVICE} (${SIZE} MB; ${PATH})" |
2801 | +msgstr "- ${DEVICE} (${SIZE} MB; ${PATH})" |
2802 | + |
2803 | +#. Type: boolean |
2804 | +#. Description |
2805 | +#: ../grub-pc.templates.in:7001 |
2806 | +msgid "Writing GRUB to boot device failed - continue?" |
2807 | +msgstr "Nem sikerül a GRUB-ot a rendszerlemezre írni - folytassuk?" |
2808 | + |
2809 | +#. Type: boolean |
2810 | +#. Description |
2811 | +#. Type: boolean |
2812 | +#. Description |
2813 | +#: ../grub-pc.templates.in:7001 ../grub-pc.templates.in:8001 |
2814 | +msgid "GRUB failed to install to the following devices:" |
2815 | +msgstr "Nem sikerült a GRUB-ot a következő eszközökre telepíteni:" |
2816 | + |
2817 | +#. Type: boolean |
2818 | +#. Description |
2819 | +#: ../grub-pc.templates.in:7001 |
2820 | +msgid "" |
2821 | +"Do you want to continue anyway? If you do, your computer may not start up " |
2822 | +"properly." |
2823 | +msgstr "" |
2824 | +"Ennek ellenére folytatni akarod? Ha folytatod, lehet, hogy a számítógéped " |
2825 | +"nem fog elindulni." |
2826 | + |
2827 | +#. Type: boolean |
2828 | +#. Description |
2829 | +#: ../grub-pc.templates.in:8001 |
2830 | +msgid "Writing GRUB to boot device failed - try again?" |
2831 | +msgstr "Nem sikerül a GRUB-ot a rendszerlemezre írni - megpróbáljuk újra?" |
2832 | + |
2833 | +#. Type: boolean |
2834 | +#. Description |
2835 | +#: ../grub-pc.templates.in:8001 |
2836 | +msgid "" |
2837 | +"You may be able to install GRUB to some other device, although you should " |
2838 | +"check that your system will boot from that device. Otherwise, the upgrade " |
2839 | +"from GRUB Legacy will be canceled." |
2840 | +msgstr "" |
2841 | +"Megpróbálhatod egy másik eszközre telepíteni a GRUB-ot, de ehhez célszerű " |
2842 | +"ellenőrizni, hogy az adott eszközről el tud-e indulni a rendszer. Egyébként " |
2843 | +"a régi GRUB frissítését visszavonjuk." |
2844 | + |
2845 | +#. Type: boolean |
2846 | +#. Description |
2847 | +#: ../grub-pc.templates.in:9001 |
2848 | +msgid "Continue without installing GRUB?" |
2849 | +msgstr "GRUB telepítése nélkül folytassuk:" |
2850 | + |
2851 | +#. Type: boolean |
2852 | +#. Description |
2853 | +#: ../grub-pc.templates.in:9001 |
2854 | +msgid "" |
2855 | +"You chose not to install GRUB to any devices. If you continue, the boot " |
2856 | +"loader may not be properly configured, and when this computer next starts up " |
2857 | +"it will use whatever was previously in the boot sector. If there is an " |
2858 | +"earlier version of GRUB 2 in the boot sector, it may be unable to load " |
2859 | +"modules or handle the current configuration file." |
2860 | +msgstr "" |
2861 | +"Úgy döntöttél, hogy ne telepítsük a GRUB-ot egyetlen eszközre sem. Ha " |
2862 | +"folytatod, lehet, hogy nem lesz jól beállítva a rendszerbetöltőd és a " |
2863 | +"számítógéped következő indulásakor az fog elindulni, ami korábban a " |
2864 | +"rendszerbetöltő szektorban volt. Ha ebben a GRUB 2 egy régebbi verziója van, " |
2865 | +"lehet, hogy nem tudja majd betölteni a moduljait vagy nem lesz képes " |
2866 | +"értelmezni a jelenlegi konfigurációs fájlt." |
2867 | + |
2868 | +#. Type: boolean |
2869 | +#. Description |
2870 | +#: ../grub-pc.templates.in:9001 |
2871 | +msgid "" |
2872 | +"If you are already using a different boot loader and want to carry on doing " |
2873 | +"so, or if this is a special environment where you do not need a boot loader, " |
2874 | +"then you should continue anyway. Otherwise, you should install GRUB " |
2875 | +"somewhere." |
2876 | +msgstr "" |
2877 | +"Ha már egy másik rendszerbetöltőt használsz és annál maradnál, vagy ha olyan " |
2878 | +"különleges környezetben dolgozol, ahol nincs szükséged rendszerbetöltőre, " |
2879 | +"folytathatod. Minden más esetben valahová telepítened kellene a GRUB-ot." |
2880 | + |
2881 | +#. Type: boolean |
2882 | +#. Description |
2883 | +#: ../grub-pc.templates.in:10001 |
2884 | +msgid "Remove GRUB 2 from /boot/grub?" |
2885 | +msgstr "Kiszedjem a GRUB 2-t a /boot/grub-ból?" |
2886 | + |
2887 | +#. Type: boolean |
2888 | +#. Description |
2889 | +#: ../grub-pc.templates.in:10001 |
2890 | +msgid "Do you want to have all GRUB 2 files removed from /boot/grub?" |
2891 | +msgstr "Azt szeretnéd, hogy minden GRUB 2 fájlt kiszedjek a /boot/grub-ból?" |
2892 | + |
2893 | +#. Type: boolean |
2894 | +#. Description |
2895 | +#: ../grub-pc.templates.in:10001 |
2896 | +msgid "" |
2897 | +"This will make the system unbootable unless another boot loader is installed." |
2898 | +msgstr "" |
2899 | +"Ezzel a rendszert indulásra képtelen állapotba hozod, hacsak nem telepítesz " |
2900 | +"másik rendszerbetöltőt." |
2901 | + |
2902 | +#. Type: boolean |
2903 | +#. Description |
2904 | +#: ../grub-pc.templates.in:11001 |
2905 | +msgid "Finish conversion to GRUB 2 now?" |
2906 | +msgstr "Befejezed most az átállást a GRUB 2-re?" |
2907 | + |
2908 | +#. Type: boolean |
2909 | +#. Description |
2910 | +#: ../grub-pc.templates.in:11001 |
2911 | +msgid "" |
2912 | +"This system still has files from the GRUB Legacy boot loader installed, but " |
2913 | +"it now also has GRUB 2 boot records installed on these disks:" |
2914 | +msgstr "" |
2915 | +"Ezen a rendszeren még mindig vannak a régi GRUB rendszerbetöltőhöz tartozó " |
2916 | +"fájlok, de a következő lemezeken már a GRUB 2 rendszerbetöltő van telepítve:" |
2917 | + |
2918 | +#. Type: boolean |
2919 | +#. Description |
2920 | +#: ../grub-pc.templates.in:11001 |
2921 | +msgid "" |
2922 | +"It seems likely that GRUB Legacy is no longer in use, and that you should " |
2923 | +"instead upgrade the GRUB 2 images on these disks and finish the conversion " |
2924 | +"to GRUB 2 by removing old GRUB Legacy files. If you do not upgrade these " |
2925 | +"GRUB 2 images, then they may be incompatible with the new packages and cause " |
2926 | +"your system to stop booting properly." |
2927 | +msgstr "" |
2928 | +"Úgy tűnik, hogy a régi GRUB már nincs használatban és hogy jobb lenne, ha a " |
2929 | +"GRUB 2 betöltőképekre frissítenénk ezeket a lemezeket és ha a régi GRUB " |
2930 | +"fájlok eltávolításával befejeznénk az áttérést a GRUB 2-re. Ha nem frissíted " |
2931 | +"ezeket a GRUB2 betöltőképeket, akkor inkompatibilisek lehetnek az új " |
2932 | +"csomagokkal és lehet, hogy nem fog elindulni a rendszer." |
2933 | + |
2934 | +#. Type: boolean |
2935 | +#. Description |
2936 | +#: ../grub-pc.templates.in:11001 |
2937 | +msgid "" |
2938 | +"You should generally finish the conversion to GRUB 2 unless these boot " |
2939 | +"records were created by a GRUB 2 installation on some other operating system." |
2940 | +msgstr "" |
2941 | +"Általában célszerű befejezni a GRUB 2-re áttérést, kivéve ha ezek a " |
2942 | +"rendszerbetöltő rekordok egy másik operációs rendszeren futó GRUB 2 " |
2943 | +"telepítéssel készültek." |
2944 | + |
2945 | +#. Type: string |
2946 | +#. Description |
2947 | +#: ../templates.in:1001 |
2948 | +msgid "Linux command line:" |
2949 | +msgstr "Linux parancssor:" |
2950 | + |
2951 | +#. Type: string |
2952 | +#. Description |
2953 | +#: ../templates.in:1001 |
2954 | +msgid "" |
2955 | +"The following Linux command line was extracted from /etc/default/grub or the " |
2956 | +"`kopt' parameter in GRUB Legacy's menu.lst. Please verify that it is " |
2957 | +"correct, and modify it if necessary. The command line is allowed to be empty." |
2958 | +msgstr "" |
2959 | +"A következő Linux parancssor az /etc/default/grub vagy a régi GRUB menu.lst " |
2960 | +"fájljában lévő `kopt' paraméterből származik. Kérlek ellenőrizd, hogy helyes-" |
2961 | +"e, és módosítsd, ha szükséges. A parancssor lehet üres is." |
2962 | + |
2963 | +#. Type: string |
2964 | +#. Description |
2965 | +#: ../templates.in:2001 |
2966 | +msgid "Linux default command line:" |
2967 | +msgstr "Az alapértelmezett Linux parancssor:" |
2968 | + |
2969 | +#. Type: string |
2970 | +#. Description |
2971 | +#: ../templates.in:2001 |
2972 | +msgid "" |
2973 | +"The following string will be used as Linux parameters for the default menu " |
2974 | +"entry but not for the recovery mode." |
2975 | +msgstr "" |
2976 | +"A következő sort fogjuk Linux paraméternek használni az alapértelmezett " |
2977 | +"(default) menüben, de a rendszervisszaállító (recovery) módban nem." |
2978 | + |
2979 | +#. Type: string |
2980 | +#. Description |
2981 | +#: ../templates.in:3001 |
2982 | +msgid "kFreeBSD command line:" |
2983 | +msgstr "kFreeBSD parancssor:" |
2984 | + |
2985 | +#. Type: string |
2986 | +#. Description |
2987 | +#: ../templates.in:3001 |
2988 | +msgid "" |
2989 | +"The following kFreeBSD command line was extracted from /etc/default/grub or " |
2990 | +"the `kopt' parameter in GRUB Legacy's menu.lst. Please verify that it is " |
2991 | +"correct, and modify it if necessary. The command line is allowed to be empty." |
2992 | +msgstr "" |
2993 | +"A következő kFreeBSD parancssor az /etc/default/grub vagy a régi GRUB menu." |
2994 | +"lst fájljában lévő `kopt' paraméterből származik. Kérlek ellenőrizd, hogy " |
2995 | +"helyes-e, és módosítsd, ha szükséges. A parancssor lehet üres is." |
2996 | + |
2997 | +#. Type: string |
2998 | +#. Description |
2999 | +#: ../templates.in:4001 |
3000 | +msgid "kFreeBSD default command line:" |
3001 | +msgstr "Az alapértelmezett kFreeBSD parancssor:" |
3002 | + |
3003 | +#. Type: string |
3004 | +#. Description |
3005 | +#: ../templates.in:4001 |
3006 | +msgid "" |
3007 | +"The following string will be used as kFreeBSD parameters for the default " |
3008 | +"menu entry but not for the recovery mode." |
3009 | +msgstr "" |
3010 | +"A következő sort fogjuk kFreeBSD paraméternek használni az alapértelmezett " |
3011 | +"(default) menüben, de a rendszervisszaállító (recovery) módban nem." |
3012 | + |
3013 | +#. Type: note |
3014 | +#. Description |
3015 | +#: ../templates.in:5001 |
3016 | +msgid "/boot/grub/device.map has been regenerated" |
3017 | +msgstr "A /boot/grub/device.map fájlt újraépítettem." |
3018 | + |
3019 | +#. Type: note |
3020 | +#. Description |
3021 | +#: ../templates.in:5001 |
3022 | +msgid "" |
3023 | +"The file /boot/grub/device.map has been rewritten to use stable device " |
3024 | +"names. In most cases, this should significantly reduce the need to change it " |
3025 | +"in future, and boot menu entries generated by GRUB should not be affected." |
3026 | +msgstr "" |
3027 | +"A /boot/grub/device.map fájlt újraírtam, így már stabil eszköznevek " |
3028 | +"szerepelnek benn. A legtöbb esetben ez jelentősen csökkenti a szükséges " |
3029 | +"változtatások számát a jövőben, és a GRUB által készített menüpontoknak " |
3030 | +"ettől nem kéne megváltozniuk változniuk." |
3031 | + |
3032 | +#. Type: note |
3033 | +#. Description |
3034 | +#: ../templates.in:5001 |
3035 | +msgid "" |
3036 | +"However, since more than one disk is present in the system, it is possible " |
3037 | +"that the system is depending on the old device map. Please check whether " |
3038 | +"there are any custom boot menu entries that rely on GRUB's (hdN) drive " |
3039 | +"numbering, and update them if necessary." |
3040 | +msgstr "" |
3041 | +"Mivel azonban egynél több lemez van a rendszervben, lehetséges, hogy a " |
3042 | +"rendszernek szüksége van a régi eszköztérképre. Kérelk ellenőrizd, hogy van-" |
3043 | +"e olyan saját készítésű rendszerbetöltő menüpontod amelyik a GRUB (hdN) " |
3044 | +"eszközszámozását használja, és frissítsd, ha szükséges." |
3045 | + |
3046 | +#. Type: note |
3047 | +#. Description |
3048 | +#: ../templates.in:5001 |
3049 | +msgid "" |
3050 | +"If you do not understand this message, or if there are no custom boot menu " |
3051 | +"entries, you can ignore this message." |
3052 | +msgstr "" |
3053 | +"Ha nem érted ezt az üzenetet, vagy ha nem csináltal saját készítésű " |
3054 | +"rendszerbetöltő menüpontot, ne is törődj vele, lépj tovább." |
3055 | |
3056 | === modified file 'debian/postinst.in' |
3057 | --- debian/postinst.in 2013-01-29 05:52:31 +0000 |
3058 | +++ debian/postinst.in 2013-10-08 00:15:07 +0000 |
3059 | @@ -284,11 +284,10 @@ |
3060 | { |
3061 | for x in /etc/default/grub /etc/default/grub.d/*.cfg; do |
3062 | if [ -e "$x" ]; then |
3063 | - DEFAULT_FOUND="yes" |
3064 | . "$x" |
3065 | fi |
3066 | done |
3067 | - if [ "$DEFAULT_FOUND" = "yes" ]; then |
3068 | + if [ "$(eval echo "\${$1+set}")" = set ]; then |
3069 | eval echo "\$$1" |
3070 | else |
3071 | return |
3072 | @@ -697,7 +696,7 @@ |
3073 | ;; |
3074 | |
3075 | grub-yeeloong) |
3076 | - grub-install |
3077 | + grub-install --target=mipsel-loongson |
3078 | ;; |
3079 | esac |
3080 | |
3081 | |
3082 | === modified file 'debian/rules' |
3083 | --- debian/rules 2013-02-01 17:45:21 +0000 |
3084 | +++ debian/rules 2013-10-08 00:15:07 +0000 |
3085 | @@ -35,7 +35,7 @@ |
3086 | |
3087 | confflags = PACKAGE_VERSION="$(deb_version)" PACKAGE_STRING="GRUB $(deb_version)" CC=$(CC) TARGET_CC=$(CC) --enable-grub-mkfont |
3088 | |
3089 | -AUTOGEN_DEB_FILES = config templates preinst postinst postrm dirs install links |
3090 | +AUTOGEN_DEB_FILES = config templates preinst postinst postrm dirs install links maintscript |
3091 | |
3092 | BUILD_PACKAGES := $(strip $(shell dh_listpackages)) |
3093 | REAL_PACKAGES = grub-emu grub-pc grub-coreboot grub-efi-ia32 grub-efi-amd64 grub-efi-ia64 grub-ieee1275 grub-firmware-qemu grub-yeeloong |
3094 | @@ -54,10 +54,20 @@ |
3095 | |
3096 | ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes)) |
3097 | DEFAULT_CMDLINE := quiet splash |
3098 | +confflags += --enable-quiet-boot |
3099 | else |
3100 | DEFAULT_CMDLINE := quiet |
3101 | endif |
3102 | |
3103 | +SB_PACKAGE := |
3104 | +ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes)) |
3105 | +ifeq ($(DEB_HOST_ARCH),amd64) |
3106 | +SB_PACKAGE := grub-efi-amd64 |
3107 | +SB_PLATFORM := x86_64-efi |
3108 | +SB_EFI_NAME := x64 |
3109 | +endif |
3110 | +endif |
3111 | + |
3112 | %: |
3113 | dh $@ --parallel |
3114 | |
3115 | @@ -325,6 +335,9 @@ |
3116 | override_dh_installinit: |
3117 | dh_installinit -- start 99 2 3 4 5 . |
3118 | |
3119 | +override_dh_bugfiles: |
3120 | + dh_bugfiles -A |
3121 | + |
3122 | override_dh_strip: |
3123 | dh_strip -X/usr/bin/grub-emu |
3124 | |
3125 | @@ -344,19 +357,17 @@ |
3126 | |
3127 | override_dh_builddeb: |
3128 | dh_builddeb -- -Zxz |
3129 | -ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes)) |
3130 | -ifeq ($(DEB_HOST_ARCH),amd64) |
3131 | +ifneq (,$(SB_PACKAGE)) |
3132 | debian/build-efi-images \ |
3133 | build/grub-$(COMMON_PLATFORM)/grub-mkimage \ |
3134 | - build/grub-efi-amd64/grub-core \ |
3135 | + build/$(SB_PACKAGE)/grub-core \ |
3136 | debian/grub2-images/$(deb_version) \ |
3137 | - x86_64-efi x64 |
3138 | + $(SB_PLATFORM) $(SB_EFI_NAME) |
3139 | echo $(deb_version) \ |
3140 | > debian/grub2-images/$(deb_version)/version |
3141 | cd debian/grub2-images && tar czvf ../../../$(TARNAME) . |
3142 | dpkg-distaddfile $(TARNAME) raw-uefi - |
3143 | endif |
3144 | -endif |
3145 | |
3146 | override_dh_auto_clean: |
3147 | -rm -rf build |
3148 | @@ -366,17 +377,15 @@ |
3149 | dh_autoreconf_clean |
3150 | dh_clean |
3151 | |
3152 | - chmod +x debian/{script,grub.d/*,legacy/*,kernel/*} |
3153 | + chmod +x debian/{bug-script,grub.d/*,legacy/*,kernel/*} |
3154 | |
3155 | for i in $(AUTOGEN_DEB_FILES) ; do \ |
3156 | rm -f debian/grub-{pc,efi-*,ieee1275,coreboot,yeeloong,emu}{,-bin,-dbg}.$$i ; \ |
3157 | done |
3158 | rm -rf debian/tmp-*/ |
3159 | -ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes)) |
3160 | -ifeq ($(DEB_HOST_ARCH),amd64) |
3161 | +ifneq (,$(SB_PACKAGE)) |
3162 | rm -rf debian/grub2-images |
3163 | endif |
3164 | -endif |
3165 | |
3166 | # make sure PO files are always up-to-date |
3167 | debconf-updatepo |
3168 | |
3169 | === modified file 'docs/grub-dev.texi' |
3170 | --- docs/grub-dev.texi 2012-05-22 07:15:28 +0000 |
3171 | +++ docs/grub-dev.texi 2013-10-08 00:15:07 +0000 |
3172 | @@ -1394,8 +1394,8 @@ |
3173 | |
3174 | @node Bitmap API |
3175 | @section Bitmap API |
3176 | -@itemize |
3177 | @subsection grub_video_bitmap_create |
3178 | +@itemize |
3179 | @item Prototype: |
3180 | @example |
3181 | grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format) |
3182 | |
3183 | === modified file 'grub-core/boot/i386/pc/boot.S' |
3184 | --- grub-core/boot/i386/pc/boot.S 2012-09-07 12:39:02 +0000 |
3185 | +++ grub-core/boot/i386/pc/boot.S 2013-10-08 00:15:07 +0000 |
3186 | @@ -18,8 +18,10 @@ |
3187 | */ |
3188 | |
3189 | #include <grub/symbol.h> |
3190 | +#include <grub/machine/boot.h> |
3191 | +#ifdef QUIET_BOOT |
3192 | #include <grub/machine/memory.h> |
3193 | -#include <grub/machine/boot.h> |
3194 | +#endif |
3195 | |
3196 | /* |
3197 | * defines for the code go here |
3198 | @@ -151,10 +153,12 @@ |
3199 | /* save drive reference first thing! */ |
3200 | pushw %dx |
3201 | |
3202 | +#ifdef QUIET_BOOT |
3203 | /* is either shift key held down? */ |
3204 | movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
3205 | andb $3, (%bx) |
3206 | jz 2f |
3207 | +#endif |
3208 | |
3209 | /* print a notification message on the screen */ |
3210 | MSG(notification_string) |
3211 | |
3212 | === modified file 'grub-core/boot/i386/pc/diskboot.S' |
3213 | --- grub-core/boot/i386/pc/diskboot.S 2012-09-07 12:39:02 +0000 |
3214 | +++ grub-core/boot/i386/pc/diskboot.S 2013-10-08 00:15:07 +0000 |
3215 | @@ -17,15 +17,22 @@ |
3216 | */ |
3217 | |
3218 | #include <grub/symbol.h> |
3219 | +#include <grub/machine/boot.h> |
3220 | +#ifdef QUIET_BOOT |
3221 | #include <grub/machine/memory.h> |
3222 | -#include <grub/machine/boot.h> |
3223 | +#endif |
3224 | |
3225 | /* |
3226 | * defines for the code go here |
3227 | */ |
3228 | |
3229 | #define MSG(x) movw $x, %si; call LOCAL(message) |
3230 | + |
3231 | +#ifdef QUIET_BOOT |
3232 | #define SILENT(x) call LOCAL(check_silent); jz LOCAL(x) |
3233 | +#else |
3234 | +#define SILENT(x) |
3235 | +#endif |
3236 | |
3237 | .file "diskboot.S" |
3238 | |
3239 | @@ -331,11 +338,13 @@ |
3240 | /* go here when you need to stop the machine hard after an error condition */ |
3241 | LOCAL(stop): jmp LOCAL(stop) |
3242 | |
3243 | +#ifdef QUIET_BOOT |
3244 | LOCAL(check_silent): |
3245 | /* is either shift key held down? */ |
3246 | movw $(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR + 0x17), %bx |
3247 | andb $3, (%bx) |
3248 | ret |
3249 | +#endif |
3250 | |
3251 | notification_string: .asciz "loading" |
3252 | |
3253 | |
3254 | === modified file 'grub-core/disk/efi/efidisk.c' |
3255 | --- grub-core/disk/efi/efidisk.c 2012-06-09 08:43:24 +0000 |
3256 | +++ grub-core/disk/efi/efidisk.c 2013-10-08 00:15:07 +0000 |
3257 | @@ -668,9 +668,11 @@ |
3258 | && (GRUB_EFI_DEVICE_PATH_SUBTYPE (c->last_device_path) |
3259 | == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE) |
3260 | && (grub_partition_get_start (disk->partition) |
3261 | - == hd.partition_start) |
3262 | + == (hd.partition_start << (disk->log_sector_size |
3263 | + - GRUB_DISK_SECTOR_BITS))) |
3264 | && (grub_partition_get_len (disk->partition) |
3265 | - == hd.partition_size)) |
3266 | + == (hd.partition_size << (disk->log_sector_size |
3267 | + - GRUB_DISK_SECTOR_BITS)))) |
3268 | { |
3269 | handle = c->handle; |
3270 | return 1; |
3271 | @@ -763,11 +765,14 @@ |
3272 | auto int find_partition (grub_disk_t disk, const grub_partition_t part); |
3273 | |
3274 | /* Find the identical partition. */ |
3275 | - int find_partition (grub_disk_t disk __attribute__ ((unused)), |
3276 | - const grub_partition_t part) |
3277 | + int find_partition (grub_disk_t disk, const grub_partition_t part) |
3278 | { |
3279 | - if (grub_partition_get_start (part) == hd.partition_start |
3280 | - && grub_partition_get_len (part) == hd.partition_size) |
3281 | + if (grub_partition_get_start (part) |
3282 | + == (hd.partition_start << (disk->log_sector_size |
3283 | + - GRUB_DISK_SECTOR_BITS)) |
3284 | + && grub_partition_get_len (part) |
3285 | + == (hd.partition_size << (disk->log_sector_size |
3286 | + - GRUB_DISK_SECTOR_BITS))) |
3287 | { |
3288 | partition_name = grub_partition_get_name (part); |
3289 | return 1; |
3290 | @@ -799,7 +804,9 @@ |
3291 | /* Find a partition which matches the hard drive device path. */ |
3292 | grub_memcpy (&hd, ldp, sizeof (hd)); |
3293 | if (hd.partition_start == 0 |
3294 | - && hd.partition_size == grub_disk_get_size (parent)) |
3295 | + && (hd.partition_size << (parent->log_sector_size |
3296 | + - GRUB_DISK_SECTOR_BITS)) |
3297 | + == grub_disk_get_size (parent)) |
3298 | { |
3299 | dev_name = grub_strdup (parent->name); |
3300 | } |
3301 | |
3302 | === modified file 'grub-core/kern/main.c' |
3303 | --- grub-core/kern/main.c 2012-09-07 12:39:02 +0000 |
3304 | +++ grub-core/kern/main.c 2013-10-08 00:15:07 +0000 |
3305 | @@ -207,14 +207,23 @@ |
3306 | void __attribute__ ((noreturn)) |
3307 | grub_main (void) |
3308 | { |
3309 | +#ifdef QUIET_BOOT |
3310 | struct grub_term_output *term; |
3311 | +#endif |
3312 | |
3313 | /* First of all, initialize the machine. */ |
3314 | grub_machine_init (); |
3315 | |
3316 | +#ifdef QUIET_BOOT |
3317 | /* Disable the cursor until we need it. */ |
3318 | FOR_ACTIVE_TERM_OUTPUTS(term) |
3319 | grub_term_setcursor (term, 0); |
3320 | +#else |
3321 | + /* Hello. */ |
3322 | + grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT); |
3323 | + grub_printf ("Welcome to GRUB!\n\n"); |
3324 | + grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); |
3325 | +#endif |
3326 | |
3327 | /* Load pre-loaded modules and free the space. */ |
3328 | grub_register_exported_symbols (); |
3329 | @@ -234,9 +243,11 @@ |
3330 | grub_load_config (); |
3331 | grub_load_normal_mode (); |
3332 | |
3333 | +#ifdef QUIET_BOOT |
3334 | /* If we have to enter rescue mode, enable the cursor again. */ |
3335 | FOR_ACTIVE_TERM_OUTPUTS(term) |
3336 | grub_term_setcursor (term, 1); |
3337 | +#endif |
3338 | |
3339 | grub_rescue_run (); |
3340 | } |
3341 | |
3342 | === modified file 'grub-core/kern/rescue_reader.c' |
3343 | --- grub-core/kern/rescue_reader.c 2012-09-07 12:39:02 +0000 |
3344 | +++ grub-core/kern/rescue_reader.c 2013-10-08 00:15:07 +0000 |
3345 | @@ -77,6 +77,10 @@ |
3346 | void __attribute__ ((noreturn)) |
3347 | grub_rescue_run (void) |
3348 | { |
3349 | +#ifdef QUIET_BOOT |
3350 | + grub_printf ("Entering rescue mode...\n"); |
3351 | +#endif |
3352 | + |
3353 | while (1) |
3354 | { |
3355 | char *line; |
3356 | |
3357 | === modified file 'grub-core/normal/main.c' |
3358 | --- grub-core/normal/main.c 2012-09-07 12:39:02 +0000 |
3359 | +++ grub-core/normal/main.c 2013-10-08 00:15:07 +0000 |
3360 | @@ -399,6 +399,7 @@ |
3361 | grub_normal_read_line_real (char **line, int cont, int nested) |
3362 | { |
3363 | const char *prompt; |
3364 | +#ifdef QUIET_BOOT |
3365 | static int displayed_intro; |
3366 | |
3367 | if (! displayed_intro) |
3368 | @@ -406,6 +407,7 @@ |
3369 | grub_normal_reader_init (nested); |
3370 | displayed_intro = 1; |
3371 | } |
3372 | +#endif |
3373 | |
3374 | if (cont) |
3375 | /* TRANSLATORS: it's command line prompt. */ |
3376 | @@ -453,6 +455,10 @@ |
3377 | return; |
3378 | } |
3379 | |
3380 | +#ifndef QUIET_BOOT |
3381 | + grub_normal_reader_init (nested); |
3382 | +#endif |
3383 | + |
3384 | while (1) |
3385 | { |
3386 | char *line; |
3387 | |
3388 | === modified file 'grub-core/normal/menu.c' |
3389 | --- grub-core/normal/menu.c 2012-09-07 12:39:02 +0000 |
3390 | +++ grub-core/normal/menu.c 2013-10-08 00:15:07 +0000 |
3391 | @@ -669,9 +669,18 @@ |
3392 | |
3393 | /* Callback invoked immediately before a menu entry is executed. */ |
3394 | static void |
3395 | -notify_booting (grub_menu_entry_t entry __attribute__((unused)), |
3396 | +notify_booting (grub_menu_entry_t entry |
3397 | +#ifdef QUIET_BOOT |
3398 | + __attribute__((unused)) |
3399 | +#endif |
3400 | + , |
3401 | void *userdata __attribute__((unused))) |
3402 | { |
3403 | +#ifndef QUIET_BOOT |
3404 | + grub_printf (" "); |
3405 | + grub_printf_ (N_("Booting `%s'"), entry->title); |
3406 | + grub_printf ("\n\n"); |
3407 | +#endif |
3408 | } |
3409 | |
3410 | /* Callback invoked when a default menu entry executed because of a timeout |
3411 | @@ -719,7 +728,9 @@ |
3412 | int boot_entry; |
3413 | grub_menu_entry_t e; |
3414 | int auto_boot; |
3415 | +#ifdef QUIET_BOOT |
3416 | int initial_timeout = grub_menu_get_timeout (); |
3417 | +#endif |
3418 | |
3419 | boot_entry = run_menu (menu, nested, &auto_boot); |
3420 | if (boot_entry < 0) |
3421 | @@ -729,8 +740,10 @@ |
3422 | if (! e) |
3423 | continue; /* Menu is empty. */ |
3424 | |
3425 | +#ifdef QUIET_BOOT |
3426 | /* Only clear the screen if we drew the menu in the first place. */ |
3427 | if (initial_timeout != 0) |
3428 | +#endif |
3429 | grub_cls (); |
3430 | |
3431 | if (auto_boot) |
3432 | |
3433 | === added file 'tests/grub_script_no_commands.in' |
3434 | --- tests/grub_script_no_commands.in 1970-01-01 00:00:00 +0000 |
3435 | +++ tests/grub_script_no_commands.in 2013-10-08 00:15:07 +0000 |
3436 | @@ -0,0 +1,21 @@ |
3437 | +#! /bin/sh |
3438 | +set -e |
3439 | + |
3440 | +# grub-script-check refuses to pass a file with no commands; this usually |
3441 | +# indicates a bug in the code generating that file. |
3442 | + |
3443 | +@builddir@/grub-script-check <<EOF && exit 1 |
3444 | + |
3445 | +EOF |
3446 | + |
3447 | +@builddir@/grub-script-check <<EOF && exit 1 |
3448 | +# comment |
3449 | +EOF |
3450 | + |
3451 | +@builddir@/grub-script-check <<EOF && exit 1 |
3452 | +# comment 1 |
3453 | +# comment 2 |
3454 | + |
3455 | +EOF |
3456 | + |
3457 | +exit 0 |
3458 | |
3459 | === modified file 'util/deviceiter.c' |
3460 | --- util/deviceiter.c 2012-09-05 13:02:04 +0000 |
3461 | +++ util/deviceiter.c 2013-10-08 00:15:07 +0000 |
3462 | @@ -913,7 +913,7 @@ |
3463 | dmraid_check (node_name, "dm_tree_node_get_name failed\n"); |
3464 | node_uuid = dm_tree_node_get_uuid (second); |
3465 | dmraid_check (node_uuid, "dm_tree_node_get_uuid failed\n"); |
3466 | - if (strncmp (node_uuid, "DMRAID-", 7) != 0) |
3467 | + if (strstr (node_uuid, "DMRAID-") == 0) |
3468 | { |
3469 | grub_dprintf ("deviceiter", "%s is not DM-RAID\n", node_name); |
3470 | goto dmraid_next_child; |
3471 | |
3472 | === modified file 'util/getroot.c' |
3473 | --- util/getroot.c 2012-09-26 16:27:19 +0000 |
3474 | +++ util/getroot.c 2013-10-08 00:15:07 +0000 |
3475 | @@ -2322,6 +2322,7 @@ |
3476 | grub_util_warn |
3477 | (_("disk does not exist, so falling back to partition device %s"), |
3478 | os_dev); |
3479 | + grub_errno = GRUB_ERR_NONE; |
3480 | |
3481 | canon = canonicalize_file_name (os_dev); |
3482 | drive = find_system_device (canon ? : os_dev, &st, 0, 1); |
3483 | |
3484 | === modified file 'util/grub-install.in' |
3485 | --- util/grub-install.in 2013-02-01 17:45:21 +0000 |
3486 | +++ util/grub-install.in 2013-10-08 00:15:07 +0000 |
3487 | @@ -63,12 +63,7 @@ |
3488 | |
3489 | removable=no |
3490 | efi_quiet= |
3491 | -sb_var=/sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data |
3492 | -if [ -e "$sb_var" ] && [ "$(printf %x \'"$(cat "$sb_var")")" = 1 ]; then |
3493 | - uefi_secure_boot=yes |
3494 | -else |
3495 | - uefi_secure_boot=no |
3496 | -fi |
3497 | +uefi_secure_boot=yes |
3498 | |
3499 | # Get GRUB_DISTRIBUTOR. |
3500 | if test -f "${sysconfdir}/default/grub" ; then |
3501 | @@ -368,6 +363,9 @@ |
3502 | |
3503 | if test "x$grub_setup" = x && [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "i386-pc" ]; then |
3504 | grub_setup="${sbindir}/`echo grub-bios-setup | sed ${transform}`" |
3505 | + if [ ! -e "$grub_setup" ]; then |
3506 | + grub_setup="${source_dir}/`echo grub-bios-setup | sed ${transform}`" |
3507 | + fi |
3508 | fi |
3509 | |
3510 | if test "x$grub_setup" = x && [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "sparc64-ieee1275" ]; then |
3511 | @@ -850,10 +848,16 @@ |
3512 | else |
3513 | cp "$efi_signed" "${efidir}/${efi_file}" |
3514 | fi |
3515 | - if [ x"$config_opt_file" != x ]; then |
3516 | - cp "${config_opt_file}" "${efidir}/grub.cfg" |
3517 | - echo 'configfile $prefix/grub.cfg' >> "${efidir}/grub.cfg" |
3518 | + if [ x"$config_opt_file" = x ]; then |
3519 | + # So we have a device abstraction; we don't need to search for |
3520 | + # the root, but we do need to tell grub where it is. |
3521 | + hints="`echo "${grub_device}" | xargs "$grub_probe" --device-map="${device_map}" --target=efi_hints --device`" |
3522 | + echo "set root=$hints" >> "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
3523 | + echo 'set prefix=($root)'"$(echo "${relative_grubdir}" | sed "s,\\([ \"'\\\\]\\),\\\\\\1,g")" >> "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
3524 | + config_opt_file="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg" |
3525 | fi |
3526 | + cp "${config_opt_file}" "${efidir}/grub.cfg" |
3527 | + echo 'configfile $prefix/grub.cfg' >> "${efidir}/grub.cfg" |
3528 | else |
3529 | cp "${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/core.${imgext}" "${efidir}/${efi_file}" |
3530 | # For old macs. Suggested by Peter Jones. |
3531 | |
3532 | === modified file 'util/grub-mkconfig.in' |
3533 | --- util/grub-mkconfig.in 2013-01-03 11:40:01 +0000 |
3534 | +++ util/grub-mkconfig.in 2013-10-08 00:15:07 +0000 |
3535 | @@ -254,7 +254,7 @@ |
3536 | # emacsen backup files. FIXME: support other editors |
3537 | *~) ;; |
3538 | # emacsen autosave files. FIXME: support other editors |
3539 | - \#*\#) ;; |
3540 | + */\#*\#) ;; |
3541 | *) |
3542 | if grub_file_is_not_garbage "$i" && test -x "$i" ; then |
3543 | echo |
3544 | |
3545 | === modified file 'util/grub-script-check.c' |
3546 | --- util/grub-script-check.c 2012-03-06 11:02:38 +0000 |
3547 | +++ util/grub-script-check.c 2013-10-08 00:15:07 +0000 |
3548 | @@ -92,7 +92,7 @@ |
3549 | int lineno = 0; |
3550 | FILE *file = 0; |
3551 | struct arguments arguments; |
3552 | - int found_input = 0; |
3553 | + int found_input = 0, found_cmd = 0; |
3554 | struct grub_script *script = NULL; |
3555 | |
3556 | auto grub_err_t get_config_line (char **line, int cont); |
3557 | @@ -177,6 +177,8 @@ |
3558 | script = grub_script_parse (input, get_config_line); |
3559 | if (script) |
3560 | { |
3561 | + if (script->cmd) |
3562 | + found_cmd = 1; |
3563 | grub_script_execute (script); |
3564 | grub_script_free (script); |
3565 | } |
3566 | @@ -191,6 +193,12 @@ |
3567 | fprintf (stderr, _("Syntax error at line %u\n"), lineno); |
3568 | return 1; |
3569 | } |
3570 | + if (! found_cmd) |
3571 | + { |
3572 | + fprintf (stderr, _("Script contains no commands and will do nothing\n"), |
3573 | + arguments.filename); |
3574 | + return 1; |
3575 | + } |
3576 | |
3577 | return 0; |
3578 | } |
3579 | |
3580 | === modified file 'util/grub.d/00_header.in' |
3581 | --- util/grub.d/00_header.in 2012-09-07 12:39:02 +0000 |
3582 | +++ util/grub.d/00_header.in 2013-10-08 00:15:07 +0000 |
3583 | @@ -23,6 +23,7 @@ |
3584 | exec_prefix="@exec_prefix@" |
3585 | datarootdir="@datarootdir@" |
3586 | grub_lang=`echo $LANG | cut -d . -f 1` |
3587 | +grubdir="`echo "/@bootdirname@/@grubdirname@" | sed 's,//*,/,g'`" |
3588 | |
3589 | export TEXTDOMAIN=@PACKAGE@ |
3590 | export TEXTDOMAINDIR="@localedir@" |
3591 | @@ -90,7 +91,20 @@ |
3592 | |
3593 | function recordfail { |
3594 | set recordfail=1 |
3595 | +EOF |
3596 | +FS="$(grub-probe --target=fs "${grubdir}")" |
3597 | +case "$FS" in |
3598 | + btrfs | cpiofs | newc | odc | romfs | squash4 | tarfs | zfs) |
3599 | + cat <<EOF |
3600 | + # GRUB lacks write support for $FS, so recordfail support is disabled. |
3601 | +EOF |
3602 | + ;; |
3603 | + *) |
3604 | + cat <<EOF |
3605 | if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi |
3606 | +EOF |
3607 | +esac |
3608 | +cat <<EOF |
3609 | } |
3610 | |
3611 | function load_video { |
3612 | |
3613 | === modified file 'util/grub.d/10_linux.in' |
3614 | --- util/grub.d/10_linux.in 2013-02-01 17:45:21 +0000 |
3615 | +++ util/grub.d/10_linux.in 2013-10-08 00:15:07 +0000 |
3616 | @@ -20,6 +20,7 @@ |
3617 | prefix="@prefix@" |
3618 | exec_prefix="@exec_prefix@" |
3619 | datarootdir="@datarootdir@" |
3620 | +quiet_boot="@QUIET_BOOT@" |
3621 | |
3622 | . "@datadir@/@PACKAGE@/grub-mkconfig_lib" |
3623 | |
3624 | @@ -31,11 +32,14 @@ |
3625 | if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then |
3626 | OS=GNU/Linux |
3627 | else |
3628 | - if [ "${GRUB_DISTRIBUTOR}" = "Ubuntu" ] ; then |
3629 | - OS="${GRUB_DISTRIBUTOR}" |
3630 | - else |
3631 | - OS="${GRUB_DISTRIBUTOR} GNU/Linux" |
3632 | - fi |
3633 | + case ${GRUB_DISTRIBUTOR} in |
3634 | + Ubuntu|Kubuntu) |
3635 | + OS="${GRUB_DISTRIBUTOR}" |
3636 | + ;; |
3637 | + *) |
3638 | + OS="${GRUB_DISTRIBUTOR} GNU/Linux" |
3639 | + ;; |
3640 | + esac |
3641 | CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" |
3642 | fi |
3643 | |
3644 | @@ -151,7 +155,7 @@ |
3645 | fi |
3646 | printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" |
3647 | fi |
3648 | - if [ x$type != xsimple ]; then |
3649 | + if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then |
3650 | message="$(gettext_printf "Loading Linux %s ..." ${version})" |
3651 | sed "s/^/$submenu_indentation/" << EOF |
3652 | echo '$(echo "$message" | grub_quote)' |
3653 | @@ -168,7 +172,7 @@ |
3654 | fi |
3655 | if test -n "${initrd}" ; then |
3656 | # TRANSLATORS: ramdisk isn't identifier. Should be translated. |
3657 | - if [ x$type != xsimple ]; then |
3658 | + if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then |
3659 | message="$(gettext_printf "Loading initial ramdisk ...")" |
3660 | sed "s/^/$submenu_indentation/" << EOF |
3661 | echo '$(echo "$message" | grub_quote)' |
3662 | |
3663 | === modified file 'util/grub.d/30_os-prober.in' |
3664 | --- util/grub.d/30_os-prober.in 2012-09-26 16:27:19 +0000 |
3665 | +++ util/grub.d/30_os-prober.in 2013-10-08 00:15:07 +0000 |
3666 | @@ -91,6 +91,11 @@ |
3667 | exit 0 |
3668 | fi |
3669 | |
3670 | +# Try to load the efivars module, in case it's needed for EFI support |
3671 | +# to work below. Hide the errors in case it's not available, there is |
3672 | +# no need to scare people here. |
3673 | +modprobe efivars >/dev/null 2>&1 || true |
3674 | + |
3675 | OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" |
3676 | if [ -z "${OSPROBED}" ] ; then |
3677 | # empty os-prober output, nothing doing |
3678 | @@ -222,6 +227,20 @@ |
3679 | } |
3680 | EOF |
3681 | ;; |
3682 | + efi) |
3683 | + found_other_os=1 |
3684 | + EFIPATH=${DEVICE#*@} |
3685 | + DEVICE=${DEVICE%@*} |
3686 | + cat << EOF |
3687 | +menuentry "${LONGNAME} (UEFI on ${DEVICE})" --class windows --class os { |
3688 | +EOF |
3689 | + save_default_entry | sed -e "s/^/\t/" |
3690 | + prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/" |
3691 | + cat <<EOF |
3692 | + chainloader ${EFIPATH} |
3693 | +} |
3694 | +EOF |
3695 | + ;; |
3696 | linux) |
3697 | LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`" |
3698 | prepare_boot_cache= |