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.
This commit is contained in:
okuji 2005-08-07 14:59:56 +00:00
parent efd6e6d564
commit 0e1430737f
7 changed files with 113 additions and 30 deletions

View file

@ -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.

View file

@ -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

View file

@ -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

2
NEWS
View file

@ -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:

19
README
View file

@ -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>.
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.

View file

@ -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 */

View 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.