2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
authorokuji <okuji@localhost>
Sun, 7 Aug 2005 14:59:56 +0000 (14:59 +0000)
committerokuji <okuji@localhost>
Sun, 7 Aug 2005 14:59:56 +0000 (14:59 +0000)
        * 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.

COPYING
ChangeLog
DISTLIST
NEWS
README
include/grub/powerpc/ieee1275/console.h [new file with mode: 0644]
util/i386/pc/grub-install.in

diff --git a/COPYING b/COPYING
index eeb586b..3912109 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
                       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.
 
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
 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
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     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.
@@ -313,7 +313,7 @@ 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.
index e9b4ac1..351c369 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+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
index 21fa67c..a755c72 100644 (file)
--- a/DISTLIST
+++ b/DISTLIST
@@ -30,7 +30,6 @@ boot/i386/pc/diskboot.S
 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
@@ -50,7 +49,7 @@ conf/i386-pc.rmk
 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
@@ -81,7 +80,6 @@ include/grub/powerpc/ieee1275/util/biosdisk.h
 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
@@ -122,6 +120,7 @@ kern/i386/pc/init.c
 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
@@ -163,7 +162,7 @@ partmap/pc.c
 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
diff --git a/NEWS b/NEWS
index d3f290c..2770f1d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,8 @@ New in 1.90:
   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:
 
diff --git a/README b/README
index b6543a3..a1a968a 100644 (file)
--- a/README
+++ b/README
@@ -2,10 +2,6 @@ This is GRUB 2, the second version of the GRand Unified Bootloader.
 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
@@ -14,16 +10,5 @@ GRUB 2 data and program files.
 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.
diff --git a/include/grub/powerpc/ieee1275/console.h b/include/grub/powerpc/ieee1275/console.h
new file mode 100644 (file)
index 0000000..d925641
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ *  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 */
index 2d746f1..cdffc4b 100644 (file)
@@ -33,8 +33,10 @@ pkgdatadir=${datadir}/${PACKAGE_TARNAME}/${host_cpu}-${host_vendor}
 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=
@@ -51,11 +53,13 @@ Install GRUB on your drive.
 
   -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
 
@@ -78,6 +82,8 @@ for option in "$@"; do
     -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=*)
@@ -85,7 +91,9 @@ for option in "$@"; do
     --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)
@@ -198,10 +206,17 @@ for file in ${pkgdatadir}/*.mod ${pkgdatadir}/*.lst ${pkgdatadir}/*.img; do
     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.