ieee1275: split up grub_machine_get_bootlocation
[grub.git] / NEWS
diff --git a/NEWS b/NEWS
index 36e3f25..2ebd54e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,307 @@
+New in 2.02:
+
+* New/improved filesystem and disk support:
+  * Big-endian UFS1.
+  * Experimental 64-bit ext2 support.
+  * Various fixes for non-512-byte sector devices.
+  * New `proc' filesystem framework, used by LUKS disks.
+  * Fix DM-RAID partition handling.
+  * New `nativedisk' command to switch from firmware to native disk drivers.
+  * Compressed HFS+.
+  * DragonFly BSD labels.
+  * CBFS (coreboot).
+  * Handle partitioned LVM properly.
+  * Use LVM UUIDs whenever possible.
+  * GPT PReP.
+  * New `progress' module that shows progress information while reading
+    files.
+  * ZFS features support.
+  * ZFS LZ4 support.
+  * XFS V5 format support.
+  * LVM RAID1 support.
+
+* New/improved terminal and video support:
+  * Monochrome text (matching `hercules' in GRUB Legacy).
+  * Morse code output using system speaker.
+  * `spkmodem' output (simple data protocol using system speaker).
+  * Handle Japanese special keys.
+  * coreboot framebuffer.
+  * Serial on ARC.
+  * Native vt100 handling for grub-emu, replacing the use of the curses
+    library.
+  * New gfxmenu options for terminal window positioning, theme background
+    image handling, and scrollbar padding, plus `item_pixmap_style' and
+    `highlight_overlay'.
+  * Support several more image types (paletted and greyscale).
+
+* Boot protocol improvements:
+  * Support Apple FAT binaries on non-Apple platforms.
+  * Improve FreeDOS direct loading support compatibility.
+  * Enable `linux16' on all x86 platforms, not just BIOS.
+  * New TrueCrypt ISO loader.
+  * multiboot2 boot-services EFI specification.
+  * multiboot2 EFI memory map specification.
+  * multiboot2 full-file specfication.
+
+* New/improved network support:
+  * New variables `net_default_*' containing properties of the default
+    interface.
+  * Autoload `http' and `tftp' modules if necessary.
+  * Improve TFTP robustness.
+  * Parse `nd' disk names in GRUB Legacy configuration files.
+  * Issue separate DNS queries for IPv4 and IPv6.
+  * Support IPv6 Router Advertisement to configure default router.
+  * New variable net_<interface>_next_server containing next server
+    from BOOTP reply.
+
+* Coreboot improvements:
+  * CBFS support both in on-disk images (loopback) and flash.
+  * Ability to launch another payload from flash or disk
+  * Coreboot framebuffer
+  * CBMEMC support (both logging and inspecting logs)
+  * Command for inspecting coreboot timestamps (`coreboot_boottime').
+  * Command for inspecting coreboot tables (`lscoreboot').
+  * New target default_payload.elf.
+  * Increased maximal core size.
+  * Prefer pmtimer for TSC calibration.
+
+* New/improved platform support:
+  * New `efifwsetup' and `lsefi' commands on EFI platforms.
+  * New `cmosdump' and `cmosset' commands on platforms with CMOS support.
+  * New command `pcidump' for PCI platforms.
+  * Improve opcode parsing in ACPI halt implementation.
+  * Use the TSC as a possible time source on i386-ieee1275.
+  * Merge PowerPC grub-mkrescue implementation with the common one.
+  * Support grub-mkrescue on i386-ieee1275, sparc64, bootinfo machines such
+    as pSeries, and mips-arc.
+  * Make grub-mkrescue better support Apple Intel Macs on CD.
+  * Enable GRUB Legacy configuration file parsing on EFI.
+  * Support halt for Loongson 2E.
+  * ARM U-Boot and EFI ports.
+  * Reorganise platform-dependent code in utilities to avoid #ifdef mess.
+  * AROS and Haiku support for userspace utilities.
+  * Xen PV port.
+  * Fix EFI stack alignment.
+  * ARM64 EFI port.
+  * On Linux, read partition start offsets from sysfs if possible.
+  * New grub-macbless utility, and better integration with Mac firmware in
+    grub-install.
+  * Support Yeeloong 3A.
+  * Add `cpuid --pae' option to detect Physical Address Extension on x86.
+  * Support for USB debug dongles.
+  * Support for *-emu on all platforms (previously only i386/x86_64 worked).
+  * Support *-emu on Windows.
+  * New platform `none' which builds only user level utilities. This is now
+    default if target CPU is not supported.
+  * Support for booting little-endian Linux kernel on powerpc.
+  * Support network boot with Oracle sun4v vnet devices.
+  * Added SAS disks to the IEEE 1275 Open Firmware device list.
+  * Try multiple methods for TSC (timestamp counter) calibration - PIT, pmtimer,
+    EFI Stall. If everything fails, use hardcoded frequency 800MHz.
+  * Support Hyper-V Gen2 platforms which lack PIT for TSC calibration.
+  * Map UEFI Persistent Memory to E820 persistent memory.
+  * New Xen loader on ARM64.
+  * Respect alignment requirement for block device IO buffers on EFI.
+
+* Security:
+  * Add optional facility to enforce that all files read by the core image
+    from disk have a valid detached digital signature.
+
+* Performance:
+  * Avoid costly division operations in many places.
+  * New boot time analysis framework (`./configure --enable-boot-time').
+  * Initialise USB ports in parallel.
+  * New `testspeed' command to test file read speed.
+  * Speed-up gfxterm by storing intermediate results in more compact format.
+  * Lazy LVM/mdraid scan.
+  * Disk hints.
+
+* Scripting:
+  * New `eval' and `tr' commands.
+  * grub-script-check fails on scripts containing no commands.
+
+* Installation and other utility improvements:
+  * Add option to compress files on installation or image creation.
+  * Using grub-reboot no longer requires setting `GRUB_DEFAULT=saved'.
+  * Support probing EFI System Partition (requires os-prober >= 1.58).
+  * Fix inconsistent use of `GRUB_CRYPTODISK_ENABLE' and
+    `GRUB_ENABLE_CRYPTODISK'; the latter is now used consistently.
+  * grub-mount handles symbolic links to directories.
+  * Support disabling submenus with `GRUB_DISABLE_SUBMENU' configuration key
+    for grub-mkconfig.
+  * grub-install, grub-mknetdir, grub-mkrescue, and grub-mkstandalone
+    rewritten in C.  They should now work in supported non-Unix-like
+    environments.
+  * Native mingw support.
+  * Ability to install on EFI under windows.
+  * Reorganise timeout handling using new `timeout_style' environment
+    variable and `GRUB_TIMEOUT_STYLE' configuration key for grub-mkconfig.
+    Menu hotkeys pressed during a hidden timeout now boot the corresponding
+    menu entry immediately.
+  * New `file' command and grub-file utility to check file types.
+  * New syslinux configuration file parser.
+  * Set menu entry class to primary OS name returned by os-prober to display
+    OS specific icon.
+  * On Linux x86 detect EFI word size in grub-install and automatically select
+    correct platform (x86_64-efi or i386-efi) to install. Requires Linux kernel
+    4.0 or higher.
+
+* Build system:
+  * Remove all uses of nested functions; GRUB no longer requires an
+    executable stack.
+  * Fix documentation build with Texinfo >= 5.1.
+  * More robust and documented cross-compiling support.
+  * Partial clang support for some platforms (experimental).
+  * Partial mingw64 x86_64-efi compile support (highly experimental).
+  * Partial mingw32 i386-* (other than already present i386-pc)
+    compile support (highly experimental).
+  * Support for grub-mkpasswd on Windows.
+  * Eliminate the use of AutoGen.  This allowed some performance
+    improvements to the build system.
+  * Remove variable length arrays.
+  * OpenBSD compile and tools support (NetBSD and FreeBSD were already supported).
+  * Fix build with FreeType >= 2.5.1.
+  * Make gentpl.py compatible with Python 3.  It now requires at least
+    Python 2.6.
+  * modinfo.sh contains build information now.
+  * Added many new tests to improve robustness.
+  * Target is built without libgcc now. Necessary builtins are reimplemented
+    directly. This removes requirement for target-specific runtime on build
+    system.
+  * emu libusb support removed (was broken and unmaintained).
+  * powerpc64le compile support.
+  * Use fixed timestamp when generating GRUB image for reproducible builds.
+  * Verify at build time that modules contain only supported relocations and their
+    structure matches what boot-time module loader expects.
+  * Do not require fonts on powerpc-ieee1275.
+
+* Revision control moved to git.
+
+New in 2.00:
+
+* Appearance:
+  * Official theme for gfxmenu (starfield)
+  * Menu is organised with submenus.
+  * Better default video mode selection using EDID.
+
+* New platforms:
+  * Itanium port.
+  * Fuloong2F support (including GRUB as firmware)
+  * Fuloong2E support (except GRUB as firmware)
+  * ARCS (SGI machines) port.
+  * qemu -M mips port.
+
+* grub-mount to mount filesystems using GRUB FS drivers and FUSE.
+
+* Changed security default so entries are locked by default if any superuser is
+  defined. 
+
+* New drivers:
+  * EHCI.
+  * AHCI.
+  * ESCC serial.
+  * IEEE1275 serial.
+  * EFI serial.
+  * Network stack for BIOS, IEEE1275, EMU and EFI, including TFTP, HTTP and DNS.
+
+* New filesystem, filters and disks formats:
+  * DVH partition map.
+  * Plan9 partition map.
+  * Big-endian mdraid.
+  * Big-endian cpio.
+  * ODC and NEWC cpio.
+  * ExFAT.
+  * Minix3fs.
+  * Big-endian minixfs.
+  * RomFS.
+  * Squash4.
+  * Support non-512B disk blocks.
+  * LUKS and GELI support.
+  * LDM read support (no install yet).
+  * LZOP.
+
+* Improved filesystem and disks formats support:
+  * HFS+ label support.
+  * Improved reiserfs support.
+  * multidevice, mirrored and raidz(2,3) ZFS support.
+  * RAID LVM (internal RAIDing) support.
+  * ZFS crypto support.
+  * ZLE, LZ4 and GZIP on ZFS support.
+  * Support ZFS up to 33.
+  * HFS string is now treated like mac-roman and not UTF-8
+  * HFS mtime support.
+  * Improved AFFS and SFS support.
+  * LZO-compressed btrfs support.
+  * cpio and tar symlinks support.
+  * Better FS detection to reduce false positives.
+
+* New boot protocols:
+  * Ability to load another coreboot payload when on coreboot.
+  * Plan9.
+  * Freedos.
+  * Ntldr/bootmgr (to load Windows bootloader).
+  * chainloader --bpb support to patch FAT or NTFS BPB in memory to correct
+    wrong partition offset.
+  * PXE chainloading support.
+  * Darwin 11 (Mac OS X Lion) protocol support.
+
+* Boot protocol improvements:
+  * Multiple initrd support.
+  * Basic illumos and xnu autoconfig.
+
+* Testing and debugging:
+  * New grub-fstest commands: cat, zfsinfo, testload xnu_uuid
+  * grub-fstest recursive directory compare for quickly checking that
+    a directory is read correctly.
+  * Backtace on crash (if gdb module is loaded, x86 only)
+  * Disk cache statistics gathering.
+  * GDB stub and GDB support script.
+  * "make check" and "make bootcheck" expanded to almost all platforms
+    (except i386-ieee1275, mips-arc, sparc64-ieee1275, ia64-efi and emu)
+  * New `time' command.
+
+* Performance:
+  * Lazy scanning to avoid accessing devices which aren't really used.
+    This avoids boot delay due to slow device scanning.
+  * Use CPU cache when accessing video memory.
+  * Search hints to first try the most likely device when searching for a
+    device with given UUID. This avoids slow scanning in most cases.
+
+* Internationalisation:
+  * Updated to Unicode 6.0.
+  * $"..." syntax for translation in grub scripting language. This allows easy
+    translation of grub.cfg at runtime.
+  * Translations to many languages included in official distribution.
+
+* Scripting:
+  * $grub_cpu and $grub_platform variables for conditioning grub.cfg on platform
+    at runtime.
+  * $feature_* variables to condition scripts on available features.
+  * Use of ids to identify menu entries.
+  * all_video module which is empty but depends on all video modules thus
+    allowing easy loading of all of them.
+
+* Installation:
+  * grub-mknetdir script for easy creation of netbootable GRUB directory.
+  * Itanium and mips support in grub-mkrescue.
+  * grub-install support for all platforms except emu.
+  * PreP partition install support.
+  * No files conflict between flavours (except grub-mkrescue for ppc). This
+    allows easy install of GRUB for several platforms.
+  * grub-mkstandalone script for easy creating of image including all modules
+    for platforms with generous limit on image size.
+  * program-transform-name now functions according to usual conventions.
+    Use --grubdir and --bootdir to get old behaviour.
+
+* ADLER32 and CRC64 support (for XZ and hashsum).
+
+* ofconsole renamed to console
+
+* Experimental support for compiling with Apple toolchain.
+
+* grub-mkdevicemap removed. Now all devices are detected on invocation of
+  any grub utility.
+
 New in 1.99:
 
 * Keyboard layouts support.
@@ -29,7 +333,7 @@ New in 1.99:
 
 * New `lsacpi' command.
 
-* Basic btrfs support (detection and UUID).
+* Btrfs support.
 
 * New `--boot-directory' option to `grub-install', `grub-reboot', and
   `grub-set-default', with clearer semantics than the previous
@@ -83,10 +387,6 @@ New in 1.99:
 
 * Extensive updates to the Texinfo documentation.
 
-* Add `grub-probe' support for the btrfs filesystem, permitting / to
-  reside on btrfs as long as /boot is on a filesystem natively supported
-  by GRUB.
-
 * Handle symbolic links under /dev/mapper on GNU/Linux.
 
 * Handle installation across multiple partition table types.