]> code.delx.au - refind/blob - NEWS.txt
installation script improvements; 0.5.1 release
[refind] / NEWS.txt
1 0.5.1 (12/11/2012):
2 -------------------
3
4 - Added support for "0" options to "textonly" and "scan_all_linux_kernels"
5 to reverse the usual meaning of these tokens. This is useful for
6 including these options in a secondary configuration file called with the
7 new "include" token to override a setting set in the main file.
8
9 - Added "include" token for refind.conf, to enable including a secondary
10 configuration file from a primary one.
11
12 - Modified install.sh so that it creates a simple refind_linux.conf file in
13 /boot, if that file doesn't already exist and if install.sh is run from
14 Linux. If that directory happens to be on a FAT, HFS+, ext2fs, ext3fs, or
15 ReiserFS volume, and if the necessary drivers are installed, the result
16 is that rEFInd will detect the Linux installation with no further
17 configuration on many systems. (Some may still require tweaking of kernel
18 options, though; for instance, adding "dolvm" on Gentoo systems that use
19 LVM.)
20
21 - Added --shim and --localkeys options to install.sh to help simplify setup
22 on systems with Secure Boot active.
23
24 - Fixed (maybe) bug that caused resolution options to not be displayed on
25 recent Macs with GOP graphics when specifying an invalid resolution in
26 refind.conf.
27
28 - Fixed bug that caused some programs (EFI shells, in particular) to hang
29 when launching on some systems (DUET, in particular).
30
31 - Implemented a fix to enable ELILO to launch with Secure Boot active.
32 This fix might help with some other boot loaders in Secure Boot mode,
33 too, but I don't know of any specifics.
34
35 0.5.0 (12/6/2012):
36 ------------------
37
38 - Added the ability to include quote marks ('"') in refind.conf and
39 refind_linux.conf tokens by doubling them up, as in:
40 "ro root=/dev/sda4 some_value=""this is it"""
41 This example results in the following string being passed as an
42 option:
43 ro root=/dev/sda4 some_value="this is it"
44
45 - Changed refind.conf-sample to uncomment the scan_all_linux_kernels
46 option by default. If this option is deleted or commented out, the
47 program default remains to not scan all Linux kernels; but with
48 increasing numbers of distributions shipping with kernels that include
49 EFI stub loader support, setting the configuration file default to scan
50 for them makes sense.
51
52 - Modified the "resolution" token so that it affects text mode as well
53 as graphics mode. On my systems, though, the actual text area is still
54 restricted to an 80x25 area. (This seems to be a firmware limitation; my
55 EFI shells are also so limited.)
56
57 - Fixed a bug that caused the options line editor to blank out lines that
58 were not actually edited.
59
60 - Added support for using Matthew Garrett's Shim program and its Machine
61 Owner Keys (MOKs) to extend Secure Boot capabilities. If rEFInd is
62 launched from Shim on a computer with Secure Boot active, rEFInd will
63 launch programs signed with either a standard UEFI Secure Boot key or a
64 MOK. For the moment, this feature works only on x86-64 systems.
65
66 - Added new "dont_scan_files" (aka "don't_scan_files") token for
67 refind.conf. The effect is similar to dont_scan_dirs, but it creates a
68 blacklist of filenames within directories rather than directory names.
69 I'm initially using it to place shim.efi and MokManager.efi in the
70 blacklist to keep these programs out of the OS list. (MokManager.efi is
71 scanned separately as a tool; see below.) I've moved checks for
72 ebounce.efi, GraphicsConsole.efi, and TextMode.efi to this list. (These
73 three had previously been blacklisted by hard-coding in ScanLoaderDir().)
74
75 - Added the directory from which rEFInd launched to dont_scan_dirs. This
76 works around a bug in which rEFInd would show itself as a bogus Windows
77 entry if it's installed as EFI/Microsoft/boot/bootmgfw.efi.
78
79 - Added support for launching MokManager.efi for managing the Machine Owner
80 Keys (MOKs) maintained by the shim boot loader developed by Fedora and
81 SUSE. This program is scanned and presented as a second-row tool.
82
83 - Added support for Apple's Recovery HD partition: If it's detected, a new
84 icon appears on the second row. This icon can be removed by explicitly
85 setting the "showtools" option in refind.conf and excluding the
86 "apple_recovery" option from that line.
87
88 - Fixed bug that caused text-mode ("textonly" refind.conf option enabled)
89 menu entries to be right-aligned rather than left-aligned when rEFInd was
90 compiled with the TianoCore EDK2.
91
92 - Added "--usedefault {devicename}" and "--drivers" options to the
93 install.sh script and changed the "esp" option to "--esp".
94
95 0.4.7 (11/6/2012):
96 ------------------
97
98 - Added an icon for gummiboot.
99
100 - Added a boot option editor: Pressing the Insert or F2 key from a boot
101 tag's options menu opens a simple text-mode line editor on which the boot
102 options may be edited for a one-time boot with altered options.
103
104 - Modified the "scan_delay" feature to delay and then perform a re-scan,
105 which may work better than the first attempt at this feature (which I'm
106 told isn't working as planned).
107
108 - Modified rEFInd to add a space after the command-line options only when
109 launching Mac OS X. On some early Macs, the extra space (which had been
110 present by default, as a carryover from rEFIt) causes problems when
111 booting Linux kernels from FAT partitions.
112
113 0.4.6 (10/6/2012):
114 ------------------
115
116 - Fixed some minor memory management issues.
117
118 - Added new "scan_delay" feature to impose a delay before scanning
119 for disks.
120
121 - Changed default "scanfor" option from internal-external-optical to either
122 internal-external-optical-manual (for non-Macs) or
123 internal-hdbios-external-biosexternal-optical-cd-manual (for Macs). I've
124 done this for two reasons:
125 - Many Mac users have been confused by the fact that rEFInd needs
126 reconfiguration to detect Windows (or Linux installed in BIOS mode),
127 since rEFIt scans BIOS devices by default. Adding the BIOS options as
128 default for them should help them.
129 - Adding the "manual" option enables users to simply add manual boot
130 stanzas and have them work, which is more intuitive. Adding the
131 "manual" option will have no effect unless manual stanzas are created
132 or uncommented, so this part of the change won't affect users' working
133 default configurations.
134
135 - Added new legacy (BIOS) boot support for UEFI-based PCs.
136
137 0.4.5 (8/12/2012):
138 ------------------
139
140 - Fixed bug that caused a failure to boot BIOS-based OSes on Macs.
141
142 - Fixed bug in install.sh that caused it to fail to detect rEFItBlesser.
143
144 0.4.4 (6/23/2012):
145 ------------------
146
147 - Fixed bug that caused filesystem labels to be corrupted by rEFInd on
148 32-bit systems.
149
150 - Fixed bug that caused filesystem labels to be truncated in the drivers
151 on 32-bit systems.
152
153 - Fixed bug in use_graphics_for option parsing that caused most options
154 to set graphics mode for OS X and/or Linux but not other boot
155 loaders/OSes.
156
157 - Tweaked install script to better isolate the ESP under OS X.
158
159 0.4.3 (6/21/2012):
160 ------------------
161
162 - rEFInd now supports compilation using the TianoCore UDK2010/EDK2
163 development kit in addition to GNU-EFI.
164
165 - Added new "use_graphics_for" option to control which OSes to boot in
166 graphics mode. (This effect lasts for a fraction of a second on most
167 systems, since the boot loader that rEFInd launches is likely to set
168 graphics or text mode itself.)
169
170 - Graphics-mode booting now clears the screen to the current rEFInd
171 background color (rather than black) and does NOT display boot messages.
172 The intent is for a smoother transition when booting OS X, or perhaps
173 other OSes that don't display boot loader messages. In practice, this
174 effect will be tiny for many OSes, since the boot loader generally clears
175 the screen within a fraction of a second of being launched; but the
176 "flicker" of a rEFInd message in that time can sometimes be distracting.
177
178 - Filesystem drivers now work on EFI 1.x systems, such as Macs.
179
180 - Removed "linux.conf" as a valid alternative name for "refind_linux.conf"
181 for holding Linux kernel options. The kernel developers plan to use
182 "linux.conf" themselves.
183
184 0.4.2 (6/3/2012):
185 -----------------
186
187 - Added a message to install.sh when run on Macs to remind users to update
188 the "scanfor" line in refind.conf if they need to boot BIOS-based OSes
189 via rEFInd.
190
191 - Modified install.sh script to be smarter about running efibootmgr on
192 Linux. It now uses the whole path to the rEFInd binary as a key to
193 determine whether an existing entry exists, rather than just the filename
194 portion. If an entry exists and is the first entry in the boot order, the
195 script does nothing to the NVRAM entries. If such an entry exists but is
196 not the default, the script deletes that entry and creates a new one
197 (implicitly making it the first in the boot order). If such an entry does
198 not exist, the script creates a new one (again, making it the first in
199 the boot order).
200
201 - Added "dont_scan_dirs" configuration file option, which adds directories
202 to a "blacklist" of directories that are NOT scanned for boot loaders.
203
204 0.4.1 (5/25/2012):
205 ------------------
206
207 - Added "scanning for new boot loaders" message to the re-scan function
208 (hitting Esc at the main menu). It usually flashes up too quickly to
209 be of importance, but if the scan function takes a while because of
210 access to a CD that must be spun up, it should make it clear that the
211 system hasn't hung.
212
213 - Modified install.sh script to detect rEFItBlesser on Macs, and if
214 present, to ask the user if it should be removed.
215
216 - Cleaned up the Make.common file for the filesystem drivers.
217
218 - Changed HFS+ driver to return volume label of "HFS+ volume" rather than
219 an empty label. (The driver doesn't currently read the real volume
220 label.)
221
222 - Fixed bug that could cause rEFInd to appear in its own menu after
223 running a shell and then re-scanning for boot loaders.
224
225 0.4.0 (5/20/2012):
226 ------------------
227
228 - Inclusion of drivers for ISO-9660, HFS+, ReiserFS, and ext2fs. Most of
229 these drivers originated with rEFIt, although the HFS+ driver seems to
230 have come from Oracle's VirtualBox, with some files from Apple. I hadn't
231 included these drivers previously because the build process proved
232 challenging. As it is, they don't work on my Mac Mini, I suspect because
233 the build process with the UDK2010 development kit may not work with the
234 EFI 1.x that Apple uses.
235
236 - Addition of support for drivers in the "drivers_{arch}" subdirectory of
237 the main rEFInd binary directory (e.g., "drivers_x64" or "drivers_ia32").
238 Drivers may continue to be placed in the "drivers" subdirectory.
239
240 - Added new feature to eject CDs (and other removable media): Press F12 to
241 eject all such media. This function works only on some Macs, though (it
242 relies on an Apple-specific EFI extension, and this extension isn't even
243 implemented on all Macs, much less on UEFI-based PCs).
244
245 - Fixed a problem that could cause GRUB 2 to fail to read its configuration
246 file when launched from rEFInd.
247
248 0.3.5 (5/15/2012):
249 ------------------
250
251 - Removed the GRUB 2 detection "reciped" added with 0.3.2, since I've
252 received reports that it's not working as intended.
253
254 - Added re-scan feature: Press the Esc key to have rEFInd re-read its
255 configuration file, tell the EFI to scan for new filesystems, and re-scan
256 those filesystems for boot loaders. The main purpose is to enable
257 scanning a new removable medium that you insert after launching rEFInd;
258 however, it can also be used to immediately implement changes to the
259 configuration file or new drivers you load from an EFI shell.
260
261 - Fixed a bug that could cause the scroll-right arrow to be replaced by the
262 scroll-left arrow under some circumstances.
263
264 0.3.4 (5/9/2012):
265 -----------------
266
267 - Added new configuration file option: "icons_dir", which sets the name
268 of the subdirectory in which icons are found. See the documentation or
269 sample configuration file for a full description.
270
271 - Modified Makefile to generate rEFInd binary that includes architecture
272 code -- refind_ia32.efi or refind_x64.efi, rather than the generic
273 refind.efi. This is done mainly to help the install.sh script. The
274 program can be named anything you like on the disk. (The generic name
275 refind.efi is used on unknown architectures.)
276
277 - Improved install.sh script: Fixed bug on OS X 10.7 and enable it to be
278 used after building from source code (or via new "make install" Makefile
279 target).
280
281 - Improved screen redraws to produce less flicker when moving among the
282 second-row tags or to the last tag on the first row.
283
284 0.3.3 (5/6/2012):
285 -----------------
286
287 - Improved menu navigation:
288 - In graphics mode, left & right arrow keys move left & right, while up &
289 down arrows move between rows.
290 - Page Up and Page Down now move through chunks of visible tags (in both
291 text & graphics modes), jumping from one row to another only when at
292 the edge of the row. In text mode, the "rows" are broken down as in
293 graphics mode, but they aren't visibly distinguished on the screen.
294
295 - Improved text-mode use: rEFInd now displays the proper number of entries
296 when first started in text mode and scrolling is done sensibly when too
297 many entries exist to fit on the screen.
298
299 0.3.2 (5/4/2012):
300 -----------------
301
302 - Added the install.sh script to install rEFInd on Linux and Mac OS X
303 systems. This script must be run as root (or via sudo). It requires
304 no options, but on Mac OS X, passing it the "esp" option causes it
305 to install rEFInd on the computer's ESP rather than the default of the
306 currently OS X boot partition. (Under Linux, the default is to install to
307 the ESP.) Note that there may be some unusual cases in which this script
308 will fail to work.
309
310 - Does a better job of clearing the screen when launching OSes in text
311 mode.
312
313 - Added detection "recipe" for GRUB 2's BIOS Boot Partition.
314
315 - Fixed bogus detection of ESPs created by Linux's mkdosfs utility or
316 Windows as bootable partitions when "scanfor" includes BIOS scanning
317 options.
318
319
320 0.3.1 (4/27/2012):
321 ------------------
322
323 - Fixed bug that caused spurious "Unsupported while scanning the root
324 directory" messages under some conitions on Macs.
325
326 - Modified loader scanning code to sort boot loader entries within a
327 directory by modification time, so that the most recently-modified loader
328 is first among those in a given directory. Thus, if you specify a
329 directory name (or volume name, for loaders stored in the root directory
330 of a volume) as the default_selection, the most recent of those loaders
331 will be the default. This is intended to help with Linux kernel
332 maintenance when using the EFI stub loader; set up this way, the most
333 recent kernel copied to your kernel directory will be the default,
334 obviating the need to adjust the refind.conf file when adding a new
335 kernel. If you want to change the default among those in the default
336 directory, you can use "touch" to adjust the modification timestamp.
337
338 - Tweaked code to find loader-specific .icns file so that it finds files
339 for Linux kernels without .efi extensions. In this case, files should be
340 named the same as the kernels they match, but with .icns extensions. For
341 instance, bzImage-3.3.2 should have an icon called bzImage-3.3.2.icns.
342 (The old code would have looked for an icon called bzImage-3.3.icns.)
343
344 - Eliminated bogus OS loader tags for filenames that end in ".icns" when
345 the scan_all_linux_kernels option is set.
346
347 0.3.0 (4/22/2012):
348 ------------------
349
350 - I'm officially upgrading this project's status from "alpha" to "beta" and
351 giving it a bump from 0.2.x to 0.3.0. This doesn't reflect any major
352 milestone with this version; rather, it reflects my sense that rEFInd has
353 been "out there" for a while, and although I've gotten bug reports,
354 they've been minor and/or have been fixed. The program still has known
355 bugs, but my impression is that it is, overall, usable by ordinary users.
356
357 - Added "resolution" option to refind.conf, which enables setting the video
358 resolution. To use it, pass two numeric values, as in "resolution 1024
359 768" to use a 1024x768 video mode. Note that not all modes are supported.
360 If you specify a non-supported video mode on a UEFI system, a message
361 appears listing the supported video modes and you must then press a key
362 to continue, using the default video mode (usually 800x600).
363 Unfortunately, I don't know the calls to get a list of supported video
364 modes on older EFI 1.x systems (including Macs), so on Macs setting an
365 incorrect video mode silently fails (you keep using the default mode).
366 This makes changing your video mode a hit-or-miss proposition on Macs.
367 CAUTION: It's possible to set a legal video mode that your monitor can't
368 handle, in which case you'll get a blank display until you boot an OS
369 that resets the video mode.
370
371 - Fixed (maybe) a bug that caused rEFInd to crash when returning from an
372 EFI shell or other programs on Macs, particularly when rEFInd used
373 graphical mode. I'm not 100% sure this bug is squashed because I still
374 don't understand the cause and I only have one Mac for testing. See
375 comments in the ReinitRefitLib() function in refit/lib.c for more
376 details.
377
378 - Added new refind.conf option: scan_all_linux_kernels, which causes Linux
379 kernels that lack ".efi" extensions to be included in scans for EFI boot
380 loaders. This may help integration with Linux distributions that don't
381 give their kernels such names by default. Beware, though: It can detect
382 unwanted files, such as older non-stub-loader kernels or .icns files used
383 to give kernels with .efi extensions custom icons.
384
385 - Improved EFI boot loader detection on boards with Gigabyte's Hybrid EFI,
386 and perhaps other EFIs with a buggy StriCmp() function. Files with both
387 ".efi" and ".EFI" extensions should now be detected as boot loaders.
388
389 - Fixed a bug that caused rEFInd to fail to scan for drivers if the
390 filesystem driver didn't set a volume name (that is, if the relevant
391 field was set to NULL rather than even an empty string). In such
392 situations, rEFInd now reports the volume name as "Unknown".
393
394 0.2.7 (4/19/2012):
395 ------------------
396
397 - After much trial and tribulation, I've overcome a GNU-EFI limitation and
398 enabled rEFInd to load EFI drivers. This feature was present in the
399 original build of rEFIt but was removed in the versions that could
400 compile under Linux, but now it's back -- and still being compiled under
401 Linux! To use it, you should place your drivers in a convenient directory
402 on the ESP (or whatever partition you use to launch rEFInd) and add a
403 "scan_driver_dirs" entry to refind.conf to tell rEFInd where to look. (As
404 always, you should specify the driver directory relative to the root of
405 the filesystem.) Note that you can't launch drivers from another
406 filesystem; they must be on the same volume that holds rEFInd. Those who
407 compile from source code should note that implementing this feature
408 necessitated using a more recent version of the GNU-EFI library. I'm
409 currently using version 3.0p, and version 3.0i does NOT work. I don't
410 know where the change occurred, but you may need to upgrade your GNU-EFI
411 installation.
412
413 - Fixed bug that caused rEFInd to show up in its own menu sometimes.
414
415 - Added new refind.conf token: also_scan_dirs. When scanning volumes for
416 EFI boot loaders, rEFInd always scans the root directory and every
417 subdirectory of the /EFI directory, but it doesn't recurse into these
418 directories. The also_scan_dirs token adds more directories to the scan
419 list. It defaults to "elilo,boot", but you can set it to any directory or
420 directories you like.
421
422 0.2.6 (4/14/2012):
423 ------------------
424
425 - Added "volume" keyword to configuration file's stanza options. This
426 option changes the volume from which subsequent files (specified by
427 "loader" and "icon") are loaded. You pass "volume" the name/label of the
428 FILESYSTEM you want to use (not the GPT partition name), or a number
429 followed by a colon (e.g., "1:"). The former should reliably identify a
430 filesystem, assuming the name is unique. The latter assigns numbers based
431 on the order in which they're scanned, which may not be as reliable but
432 should work when a volume is unnamed.
433
434 - Fixed bug in 0.2.5 that caused failure of Linux initial RAM disk
435 mapping on some (but not all) systems. Affected computers include at
436 least some Intel motherboards, maybe others.
437
438 0.2.5 (4/9/2012):
439 -----------------
440
441 - Fixed bug that caused an inability to associate initial RAM disks with
442 Linux kernels stored in a volume's root directory.
443
444 - Volume badges (that override default badges) are now stored in
445 .VolumeBadge.icns. Although undocumented, rEFInd formerly loaded custom
446 volume badges from .VolumeIcon.icns. This carryover from rEFIt was a
447 confusing name, given the next (new) feature, so I've changed and
448 documented the name....
449
450 - Added ability to set a default icon for a loader stored in the root
451 directory of a volume: The icon is stored in .VolumeIcon.icns. This icon
452 is also used for Mac OS X volumes booted from the standard location.
453
454 - Fixed bug that caused icons to drop back to generic icons when rEFInd
455 was launched in certain ways (such as from an EFI shell in rEFInd's
456 directory) on certain systems.
457
458 - Fixed bug that caused "unknown disable flag" to be shown (very briefly)
459 instead of "unknown hideui flag" when an improper hideui flag was set.
460
461 0.2.4 (4/5/2012):
462 -----------------
463
464 - Created new refind.conf entry: "showtools". This entry takes options of
465 "shell", "gptsync", "about", "exit", "reboot", and "shutdown". This
466 option is in some respects an affirmative version of portions of the old
467 "disable" and "hideui" options; however, it enables users to specify the
468 order in which these options appear on the screen. Also, the "exit"
469 option is new; it terminates the program. The effect is usually to return
470 to whatever tool launched it or to launch a default OS; however, this is
471 somewhat unpredictable. The default therefore omits the "exit" option, as
472 well as "gptsync", which has always been dangerous (but necessary on most
473 MacOS/Windows dual-boot setups on Macs). As part of this reconfiguration,
474 I've eliminated the "rescue Linux" option, which always seemed pointless
475 to me.
476
477 - Folded "disable" and "hideui" refind.conf entries into one ("disable"),
478 and reduced the number of options to six: "banner", "label",
479 "singleuser", "hwtest", "arrows", and "all". ("arrows" is new and
480 disables the scroll arrows when a system has too many tags to display
481 simultaneously.)
482
483 - Added max_tags option to the refind.conf file, enabling users to reduce
484 the maximum number of OS loader tags that can be displayed at once.
485
486 - Updated rEFIt icon, based on the 128x128 volume label from the rEFIt CD
487 image.
488
489 - Added x86 and x86-64 EFI shells to the CD image version of the binary,
490 but NOT to the binary zip file. The logic is that the CD image is more
491 likely to be used directly as an emergency disc and so may need this
492 feature, even though the source isn't part of the rEFInd project. (The
493 source is readily available from the TianoCore project.)
494
495 - EFI shells may now be stored at /shellx64.efi for x86-64 systems or at
496 /shellia32.efi for x86 systems. The /EFI/tools/shell.efi name is also
497 recognized; however, if both files are present, two EFI shell icons will
498 appear on the main menu. The /efi/{refind-path/apps/shell.efi filename,
499 which was never officially documented but worked as a carryover from
500 rEFIt, is no longer valid.
501
502 0.2.3 (3/26/2012):
503 ------------------
504
505 - Fixed (maybe) a bug that caused hangs when launching a second program
506 after returning from a first. There are some weird system-to-system
507 differences, though, and this fix causes (apparently harmless) error
508 messages about "(re)opening our installation volume" on at least one
509 system (a 32-bit Mac Mini). I'm committing this change because, imperfect
510 though it is, it's preferable to the earlier version, at least on my
511 small sample of computers.
512
513 - Because of news that the Linux kernel developers are planning to use the
514 filename linux.conf to hold Linux kernel configuration data for EFI
515 booting, I'm transitioning rEFInd away from that name and to
516 refind_linux.conf to avoid a conflict. This version can use either name,
517 with refind_linux.conf taking precedence if both are present.
518
519 - Added logo for Arch Linux.
520
521 0.2.2 (3/23/2012):
522 ------------------
523
524 - Fixed bug that caused program failure when Linux kernels with EFI stub
525 support were detected with no associated version numbers. rEFInd now
526 permits automatic linking of *ONE* versionless kernel to *ONE*
527 versionless initrd file.
528
529 - Fixed bug that caused program hangs when a boot loader filename or label
530 was too long. Such names are now properly truncated and program execution
531 continues.
532
533 - Fixed bug that caused no text to appear in submenus on UEFI systems with
534 small screens (800x600). NOTE: Problem still occurs on screens smaller
535 than this, but such systems are very rare.
536
537 0.2.1 (3/19/2012):
538 ------------------
539
540 - Added ability to set a "default_selection" that's a title or a substring
541 of one -- the name given to a stanza in a "menuentry" or the boot
542 loader's filename, in most cases, although "Mac OS X", "Windows XP
543 (XoM)", and "Microsoft EFI boot" are also titles.
544
545 - Added support for semi-automatic scans of Linux kernels with EFI stub
546 loader support. The program auto-detects matching initial RAM disk files
547 and loads additional options from the "linux.conf" file in the same
548 directory as the kernel.
549
550 - Added support for "submenuentry" keyword and associated sub-stanza
551 entries in refind.conf file.
552
553 - Renamed icons/os_mint.icns to icons/os_linuxmint.icns to match the
554 filename Linux Mint ACTUALLY uses for its ESP boot loader directory.
555
556
557 0.2.0 (3/14/2012):
558 ------------------
559
560 - Initial public release