* util/i386/pc/grub-install.in (grub_probefs): New variable.
(modules): Likewise.
(usage): Added descriptions for --modules and --grub-probefs.
Handle --modules and --grub-probefs. Save the arguments in MODULES
and GRUB_PROBEFS, respectively.
Auto-detect a filesystem module against GRUBDIR. If the result is
empty and modules are not specified explicitly, abort the
installation. Add the result to MODULES.
* DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
disk/powerpc/ieee1275/ofdisk.c,
include/grub/powerpc/ieee1275/init.h and
term/powerpc/ieee1275/ofconsole.c.
Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
term/ieee1275/ofconsole.c.
* include/grub/powerpc/ieee1275/console.h: Resurrected.
* COPYING: Upgraded to the latest version. Only the address of the
FSF office has changed.
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
+ Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
+2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-install.in (grub_probefs): New variable.
+ (modules): Likewise.
+ (usage): Added descriptions for --modules and --grub-probefs.
+ Handle --modules and --grub-probefs. Save the arguments in MODULES
+ and GRUB_PROBEFS, respectively.
+ Auto-detect a filesystem module against GRUBDIR. If the result is
+ empty and modules are not specified explicitly, abort the
+ installation. Add the result to MODULES.
+
+ * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
+ disk/powerpc/ieee1275/ofdisk.c,
+ include/grub/powerpc/ieee1275/init.h and
+ term/powerpc/ieee1275/ofconsole.c.
+ Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
+ term/ieee1275/ofconsole.c.
+
+ * include/grub/powerpc/ieee1275/console.h: Resurrected.
+
+ * COPYING: Upgraded to the latest version. Only the address of the
+ FSF office has changed.
+
2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
boot/i386/pc/pxeboot.S
boot/powerpc/ieee1275/cmain.c
boot/powerpc/ieee1275/crt0.S
-boot/powerpc/ieee1275/ieee1275.c
commands/i386/pc/halt.c
commands/i386/pc/reboot.c
commands/ieee1275/halt.c
conf/powerpc-ieee1275.mk
conf/powerpc-ieee1275.rmk
disk/i386/pc/biosdisk.c
-disk/powerpc/ieee1275/ofdisk.c
+disk/ieee1275/ofdisk.c
disk/loopback.c
font/manager.c
fs/ext2.c
include/grub/powerpc/ieee1275/biosdisk.h
include/grub/powerpc/ieee1275/console.h
include/grub/powerpc/ieee1275/ieee1275.h
-include/grub/powerpc/ieee1275/init.h
include/grub/powerpc/ieee1275/kernel.h
include/grub/powerpc/ieee1275/loader.h
include/grub/powerpc/ieee1275/multiboot.h
kern/i386/pc/lzo1x.S
kern/i386/pc/startup.S
kern/i386/dl.c
+kern/ieee1275/of.c
kern/powerpc/ieee1275/init.c
kern/powerpc/ieee1275/openfw.c
kern/powerpc/cache.S
partmap/sun.c
term/i386/pc/console.c
term/i386/pc/vga.c
-term/powerpc/ieee1275/ofconsole.c
+term/ieee1275/ofconsole.c
util/i386/pc/biosdisk.c
util/i386/pc/getroot.c
util/i386/pc/grub-install.in
PowerPC-based machines as well, if they use IEEE 1275
(Open Firmware).
+* Too many changes to describe. Look at ChangeLog for more details.
+
New in 0.7:
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.
-Because GRUB 2 was formerly developed under the project PUPA, there
-remain still many places where PUPA is used instead of GRUB 2. So
-suppose that PUPA is a synonym of GRUB 2 for now.
-
See the file NEWS for a description of recent changes to GRUB 2.
See the file INSTALL for instructions on how to build and install the
Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.
-\f
-
-Because GRUB 2 is still in developmental stage, GRUB 2 is not for general
-use (yet). For now, you can install GRUB 2 into a floppy by these
-instructions:
-
-$ configure && make
-$ ./grub-mkimage -v -d . -o core.img _chain ext2
-$ dd if=boot.img of=/dev/fd0 bs=512 count=1
-$ dd if=core.img of=/dev/fd0 bs=512 seek=1
-
-It would be easier to use Bochs <http://bochs.sf.net/> than a real
-machine.
+For now, there is not much documentation yet. Please look at the GRUB
+Wiki <http://www.autistici.org/grub/> for testing procedures.
--- /dev/null
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef GRUB_CONSOLE_MACHINE_HEADER
+#define GRUB_CONSOLE_MACHINE_HEADER 1
+
+/* Define scan codes. */
+#define GRUB_CONSOLE_KEY_LEFT 0x4B00
+#define GRUB_CONSOLE_KEY_RIGHT 0x4D00
+#define GRUB_CONSOLE_KEY_UP 0x4800
+#define GRUB_CONSOLE_KEY_DOWN 0x5000
+#define GRUB_CONSOLE_KEY_IC 0x5200
+#define GRUB_CONSOLE_KEY_DC 0x5300
+#define GRUB_CONSOLE_KEY_BACKSPACE 0x0008
+#define GRUB_CONSOLE_KEY_HOME 0x4700
+#define GRUB_CONSOLE_KEY_END 0x4F00
+#define GRUB_CONSOLE_KEY_NPAGE 0x4900
+#define GRUB_CONSOLE_KEY_PPAGE 0x5100
+
+#ifndef ASM_FILE
+
+#include <grub/types.h>
+#include <grub/symbol.h>
+
+/* These are global to share code between C and asm. */
+extern grub_uint8_t grub_console_cur_color;
+void grub_console_real_putchar (int c);
+int EXPORT_FUNC(grub_console_checkkey) (void);
+int EXPORT_FUNC(grub_console_getkey) (void);
+grub_uint16_t grub_console_getxy (void);
+void grub_console_gotoxy (grub_uint8_t x, grub_uint8_t y);
+void grub_console_cls (void);
+void grub_console_setcursor (int on);
+
+/* Initialize the console system. */
+void grub_console_init (void);
+
+/* Finish the console system. */
+void grub_console_fini (void);
+
+#endif
+
+#endif /* ! GRUB_CONSOLE_MACHINE_HEADER */
grub_setup=${sbindir}/grub-setup
grub_mkimage=${sbindir}/grub-mkimage
grub_mkdevicemap=${sbindir}/grub-mkdevicemap
+grub_probefs=${sbindir}/grub-probefs
rootdir=
grub_prefix=/boot/grub
+modules=
install_device=
no_floppy=
-h, --help print this message and exit
-v, --version print the version information and exit
+ --modules=MODULES pre-load specified modules MODULES
--root-directory=DIR install GRUB images under the directory DIR
instead of the root directory
--grub-setup=FILE use FILE as grub-setup
--grub-mkimage=FILE use FILE as grub-mkimage
--grub-mkdevicemap=FILE use FILE as grub-mkdevicemap
+ --grub-probefs=FILE use FILE as grub-probefs
--no-floppy do not probe any floppy drive
--recheck probe a device map even if it already exists
-v | --version)
echo "grub-install (GNU GRUB ${PACKAGE_VERSION})"
exit 0 ;;
+ --modules=*)
+ modules=`echo "$option" | sed 's/--modules=//'` ;;
--root-directory=*)
rootdir=`echo "$option" | sed 's/--root-directory=//'` ;;
--grub-setup=*)
--grub-mkimage=*)
grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;;
--grub-mkdevicemap=*)
- grub_setup=`echo "$option" | sed 's/--grub-mkdevicemap=//'` ;;
+ grub_mkdevicemap=`echo "$option" | sed 's/--grub-mkdevicemap=//'` ;;
+ --grub-probefs=*)
+ grub_probefs=`echo "$option" | sed 's/--grub-probefs=//'` ;;
--no-floppy)
no_floppy="--no-floppy" ;;
--recheck)
cp -f $file ${grubdir} || exit 1
done
-# Create the core image.
-modules="_chain pc"
-# XXX This must be dynamic. I'm still thinking how to implement this.
-modules="$modules fat"
+# Create the core image. First, auto-detect the filesystme module.
+fs_module=`$grub_probefs --device-map=${device_map} ${grubdir}`
+if test "x$fs_module" = x -a "x$modules" = x; then
+ echo "Auto-detection of a filesystem module failed." 1>&2
+ echo "Please specify the module with the option `--modules' explicitly." 1>&2
+ exit 1
+fi
+
+# Typically, _chain and pc are required.
+modules="$modules $fs_module _chain pc"
+
$grub_mkimage --output=${grubdir}/core.img $modules || exit 1
# Now perform the installation.