TODO 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. -*- Mode: Outline -*-
  2. Before working on anything in this file, it's very important that you
  3. make contact with the core GRUB developers. Things herein might be
  4. slightly out of date or otherwise not easy to understand at first
  5. glance. So write to <bug-grub@gnu.org> first.
  6. Priorities:
  7. Reported bugs generally have top priority.
  8. Non-reported and non-encountered bugs (things we know don't work,
  9. but don't really impede things) have lower priority.
  10. Things in this file are ranked with one to three !; the more, the
  11. higher priority.
  12. Things that should be done before 1.0:
  13. * Finish the Multiboot Speicification 0.7. !!!
  14. * Add more --disable-FOO options to configure, so that you can create a
  15. minimum GRUB image. This is useful for boot floppies because of the size
  16. restriction. !
  17. * Implement a new version of track_int13, using Virtual 8086 Mode. !!!
  18. * Add missing features of graphics support. !!
  19. Things that should _not_ be done before 1.0:
  20. * Add configuration inclusion support by adding a command "include". !
  21. * Add automatic configuration support.
  22. * Add bunzip2 support.
  23. * Define the module system.
  24. * Add BSD syntax support, using results of ioprobe to map drives. !
  25. (0x1f0-0x1f7 = primary IDE, 0x170-0x176 = secondary,
  26. 0x1e8-0x1ef = tertiary, 0x168-0x16f = quaternary).
  27. * Add a real scripting language, possibly retaining backward
  28. compatibility so that old config files can be used.
  29. * Add internationalization support, emulating gettext as much as is
  30. feasible.
  31. * Support other architectures than i386-pc.
  32. * Add real memory management.
  33. Things that may be done anytime:
  34. * Port the script ``grub-install'' to OpenBSD. At least you will have to
  35. modify the function `convert' so that it can translate a native device
  36. name into the corresponding GRUB drive representation. !
  37. * Add a command to run a GRUB script file. !!
  38. * Add commands to manipulate the menu from the command-line interface. !
  39. * Make symbolic links work for BSD FFS.
  40. * Add indirect block support to the BSD FFS filesystem code, so files
  41. larger than 16MB can be read.
  42. * Fix-up FreeBSD, NetBSD (and OpenBSD ?) command-line boot
  43. parameters.
  44. * Support embedding a Stage 1.5 in the "bootloader" area of a FFS
  45. partition. (We already have the code, but need an approval by an
  46. expert before turning on the support. Any volunteers?)
  47. * Support embedding a Stage 1.5 in the EXT2_BOOT_LOADER_INO of an ext2fs
  48. partition, so that it won't be accidentally erased or modified by
  49. the kernel.
  50. * Add ISA PnP support.
  51. * Add more filesystems support (NTFS, etc.)
  52. * Add more remote console support (parallel and net).
  53. * Add (real) RAID support.
  54. ? Add a partition naming syntax that means ``the first partition of
  55. this type''. We need this for clean Hurd install floppies.
  56. Nope. Improving the `find' command would solve this problem.
  57. * Add CDROM-chainloading support. It would be enough to support only
  58. BIOSes which have bootable-CDROM support (so you may use the "Bootable
  59. CDROM" BIOS calls). It is not trivial to support BIOSes without the
  60. capability to boot CDROM.
  61. ? Divide pxegrub into two parts, so the initial image doesn't exceed
  62. the 32KB limit. I'm not sure if this is really necessary, because the
  63. PXE standard just says that it is _recommended_ to improve the
  64. modularity of a boot image. Obviously, this reason doesn't apply to
  65. GRUB, as pxegrub is merely a secondary boot loader. So whether this
  66. task should be done depends on if existing PXE ROMs support >32KB
  67. images or not, after all.