more user-visible ones are as follows:
- GRUB script:
+ Function parameters, "break", "continue", "shift", "setparams",
"return", and "!".
+ "export" command supports multiple variable names.
+ Multi-line quoted strings support.
+ Wildcard expansion.
- sendkey support.
- USB hotunplugging and USB serial support.
- Rename CD-ROM to cd on BIOS.
- Add new --boot-directory option to grub-install, grub-reboot, and
grub-set-default; the old --root-directory option is still accepted
but was often confusing.
- Basic btrfs detection/UUID support (but no file reading yet).
- bash-completion for utilities.
- If a device is listed in device.map, always assume that it is
BIOS-visible rather than using extra layers such as LVM or RAID.
- Add grub-mknetdir script (closes: #550658).
- Remove deprecated "root" command.
- Handle RAID devices containing virtio components.
- GRUB Legacy configuration file support (via grub-menulst2cfg).
- Keyboard layout support (via grub-mklayout and grub-kbdcomp).
- Check generated grub.cfg for syntax errors before saving.
- Pause execution for at most ten seconds if any errors are displayed,
so that the user has a chance to see them.
- Support submenus.
- Write embedding zone using Reed-Solomon, so that it's robust against
being partially overwritten (closes: #550702, #591416, #593347).
- GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY merged
into a single GRUB_DISABLE_RECOVERY variable.
- Fix loader memory allocation failure (closes: #551627).
- Don't call savedefault on recovery entries (closes: #589325).
- Support triple-indirect blocks on ext2 (closes: #543924).
- Recognise DDF1 fake RAID (closes: #603354).
[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
(now unused).
(grub_keyboard_controller_init)
[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
read the initial state since controller isn't inited yet.
* grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
(GRUB_UDF_BLKSZ): Removed.
(struct grub_udf_data): New field "lbshift" to hold the logical block
size of the file system in log2 format. All users updated.
(sblocklist): Change type to unsigned.
(grub_udf_mount): Change type of "sblklist" to unsigned.
Move AVDP search before VRS recognition, because the latter requires
knowledge of the logical block size, which is detected during the
former.
Detect and validate logical block size during AVDP search, adding
support for block sizes 512, 1024 and 4096.
Make VRS recognition independent of block size.
* grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
(GRUB_UDF_BLKSZ): Removed.
(struct grub_udf_data): New field "lbshift" to hold the logical block
size of the file system in log2 format. All users updated.
(sblocklist): Change type to unsigned.
(grub_udf_mount): Change type of "sblklist" to unsigned.
Move AVDP search before VRS recognition, because the latter requires
knowledge of the logical block size, which is detected during the
former.
Detect and validate logical block size during AVDP search, adding
support for block sizes 512, 1024 and 4096.
Make VRS recognition independent of block size.
- refuse_embedingless_cross_disk.patch: Refuse to do a cross-disk
embeddingless install rather than creating a broken install.
- fix_grub_install_error_msg.patch: Replace useless recomendation to
pass --modules with a recomendation to report a bug.
* include/grub/elfload.h (grub_elf32_size): New parameter. All users updated.
Return maximum segments alignment.
(grub_elf64_size): Likewise.
* kern/elf.c (grub_elf32_size): New parameter. All users updated.
Return maximum segments alignment.
(grub_elf64_size): Likewise.
* grub-core/loader/powerpc/ieee1275/linux.c:
(grub_linux_claimmap_iterate): New function. Uses the "available"property
in the "memory" node for memory allocation for kernel in the PowerPC loader.
(grub_linux_load32): Correctly find linux entry point offset.
(grub_linux_load64): Likewise.
On mips-yeeloong, build with -march=loongson2f when this flag is
available (GCC >= 4.4).
* conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
`-march=mips3'.
* configure.ac: For mips-yeeloong, add -march=loongson2f if available,
or otherwise add -march=mips3.
Reported by: Jordan Uggla
* grub-core/term/serial.c (grub_serial_terminfo_input_template): New
const.
(grub_serial_terminfo_output_template): Likewise.
(grub_cmd_serial): Register "serial" with terminfo.
(GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
grub_serial_terminfo_output.
On Yeeloong, pass machine type information to Linux.
* grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
(LOONGSON_MACHTYPE): New macro, set to
"machtype=lemote-yeeloong-2f-8.9inches".
[LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
additional argument to Linux.