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:
parent
efd6e6d564
commit
0e1430737f
7 changed files with 113 additions and 30 deletions
8
COPYING
8
COPYING
|
@ -2,7 +2,7 @@
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
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
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
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.
|
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.>
|
<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
|
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
|
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
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
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.
|
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
|
If the program is interactive, make it output a short notice like this
|
||||||
when it starts in an interactive mode:
|
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'.
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
|
|
23
ChangeLog
23
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>
|
2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
|
||||||
|
|
||||||
* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
|
* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
|
||||||
|
|
7
DISTLIST
7
DISTLIST
|
@ -30,7 +30,6 @@ boot/i386/pc/diskboot.S
|
||||||
boot/i386/pc/pxeboot.S
|
boot/i386/pc/pxeboot.S
|
||||||
boot/powerpc/ieee1275/cmain.c
|
boot/powerpc/ieee1275/cmain.c
|
||||||
boot/powerpc/ieee1275/crt0.S
|
boot/powerpc/ieee1275/crt0.S
|
||||||
boot/powerpc/ieee1275/ieee1275.c
|
|
||||||
commands/i386/pc/halt.c
|
commands/i386/pc/halt.c
|
||||||
commands/i386/pc/reboot.c
|
commands/i386/pc/reboot.c
|
||||||
commands/ieee1275/halt.c
|
commands/ieee1275/halt.c
|
||||||
|
@ -50,7 +49,7 @@ conf/i386-pc.rmk
|
||||||
conf/powerpc-ieee1275.mk
|
conf/powerpc-ieee1275.mk
|
||||||
conf/powerpc-ieee1275.rmk
|
conf/powerpc-ieee1275.rmk
|
||||||
disk/i386/pc/biosdisk.c
|
disk/i386/pc/biosdisk.c
|
||||||
disk/powerpc/ieee1275/ofdisk.c
|
disk/ieee1275/ofdisk.c
|
||||||
disk/loopback.c
|
disk/loopback.c
|
||||||
font/manager.c
|
font/manager.c
|
||||||
fs/ext2.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/biosdisk.h
|
||||||
include/grub/powerpc/ieee1275/console.h
|
include/grub/powerpc/ieee1275/console.h
|
||||||
include/grub/powerpc/ieee1275/ieee1275.h
|
include/grub/powerpc/ieee1275/ieee1275.h
|
||||||
include/grub/powerpc/ieee1275/init.h
|
|
||||||
include/grub/powerpc/ieee1275/kernel.h
|
include/grub/powerpc/ieee1275/kernel.h
|
||||||
include/grub/powerpc/ieee1275/loader.h
|
include/grub/powerpc/ieee1275/loader.h
|
||||||
include/grub/powerpc/ieee1275/multiboot.h
|
include/grub/powerpc/ieee1275/multiboot.h
|
||||||
|
@ -122,6 +120,7 @@ kern/i386/pc/init.c
|
||||||
kern/i386/pc/lzo1x.S
|
kern/i386/pc/lzo1x.S
|
||||||
kern/i386/pc/startup.S
|
kern/i386/pc/startup.S
|
||||||
kern/i386/dl.c
|
kern/i386/dl.c
|
||||||
|
kern/ieee1275/of.c
|
||||||
kern/powerpc/ieee1275/init.c
|
kern/powerpc/ieee1275/init.c
|
||||||
kern/powerpc/ieee1275/openfw.c
|
kern/powerpc/ieee1275/openfw.c
|
||||||
kern/powerpc/cache.S
|
kern/powerpc/cache.S
|
||||||
|
@ -163,7 +162,7 @@ partmap/pc.c
|
||||||
partmap/sun.c
|
partmap/sun.c
|
||||||
term/i386/pc/console.c
|
term/i386/pc/console.c
|
||||||
term/i386/pc/vga.c
|
term/i386/pc/vga.c
|
||||||
term/powerpc/ieee1275/ofconsole.c
|
term/ieee1275/ofconsole.c
|
||||||
util/i386/pc/biosdisk.c
|
util/i386/pc/biosdisk.c
|
||||||
util/i386/pc/getroot.c
|
util/i386/pc/getroot.c
|
||||||
util/i386/pc/grub-install.in
|
util/i386/pc/grub-install.in
|
||||||
|
|
2
NEWS
2
NEWS
|
@ -9,6 +9,8 @@ New in 1.90:
|
||||||
PowerPC-based machines as well, if they use IEEE 1275
|
PowerPC-based machines as well, if they use IEEE 1275
|
||||||
(Open Firmware).
|
(Open Firmware).
|
||||||
|
|
||||||
|
* Too many changes to describe. Look at ChangeLog for more details.
|
||||||
|
|
||||||
|
|
||||||
New in 0.7:
|
New in 0.7:
|
||||||
|
|
||||||
|
|
19
README
19
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
|
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
|
||||||
robust, more powerful, and more portable.
|
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 NEWS for a description of recent changes to GRUB 2.
|
||||||
|
|
||||||
See the file INSTALL for instructions on how to build and install the
|
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.
|
Please visit the official web page of GRUB 2, for more information.
|
||||||
The URL is <http://www.gnu.org/software/grub/grub.html>.
|
The URL is <http://www.gnu.org/software/grub/grub.html>.
|
||||||
|
|
||||||
|
For now, there is not much documentation yet. Please look at the GRUB
|
||||||
|
Wiki <http://www.autistici.org/grub/> for testing procedures.
|
||||||
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.
|
|
||||||
|
|
59
include/grub/powerpc/ieee1275/console.h
Normal file
59
include/grub/powerpc/ieee1275/console.h
Normal 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 */
|
|
@ -33,8 +33,10 @@ pkgdatadir=${datadir}/${PACKAGE_TARNAME}/${host_cpu}-${host_vendor}
|
||||||
grub_setup=${sbindir}/grub-setup
|
grub_setup=${sbindir}/grub-setup
|
||||||
grub_mkimage=${sbindir}/grub-mkimage
|
grub_mkimage=${sbindir}/grub-mkimage
|
||||||
grub_mkdevicemap=${sbindir}/grub-mkdevicemap
|
grub_mkdevicemap=${sbindir}/grub-mkdevicemap
|
||||||
|
grub_probefs=${sbindir}/grub-probefs
|
||||||
rootdir=
|
rootdir=
|
||||||
grub_prefix=/boot/grub
|
grub_prefix=/boot/grub
|
||||||
|
modules=
|
||||||
|
|
||||||
install_device=
|
install_device=
|
||||||
no_floppy=
|
no_floppy=
|
||||||
|
@ -51,11 +53,13 @@ Install GRUB on your drive.
|
||||||
|
|
||||||
-h, --help print this message and exit
|
-h, --help print this message and exit
|
||||||
-v, --version print the version information 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
|
--root-directory=DIR install GRUB images under the directory DIR
|
||||||
instead of the root directory
|
instead of the root directory
|
||||||
--grub-setup=FILE use FILE as grub-setup
|
--grub-setup=FILE use FILE as grub-setup
|
||||||
--grub-mkimage=FILE use FILE as grub-mkimage
|
--grub-mkimage=FILE use FILE as grub-mkimage
|
||||||
--grub-mkdevicemap=FILE use FILE as grub-mkdevicemap
|
--grub-mkdevicemap=FILE use FILE as grub-mkdevicemap
|
||||||
|
--grub-probefs=FILE use FILE as grub-probefs
|
||||||
--no-floppy do not probe any floppy drive
|
--no-floppy do not probe any floppy drive
|
||||||
--recheck probe a device map even if it already exists
|
--recheck probe a device map even if it already exists
|
||||||
|
|
||||||
|
@ -78,6 +82,8 @@ for option in "$@"; do
|
||||||
-v | --version)
|
-v | --version)
|
||||||
echo "grub-install (GNU GRUB ${PACKAGE_VERSION})"
|
echo "grub-install (GNU GRUB ${PACKAGE_VERSION})"
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
--modules=*)
|
||||||
|
modules=`echo "$option" | sed 's/--modules=//'` ;;
|
||||||
--root-directory=*)
|
--root-directory=*)
|
||||||
rootdir=`echo "$option" | sed 's/--root-directory=//'` ;;
|
rootdir=`echo "$option" | sed 's/--root-directory=//'` ;;
|
||||||
--grub-setup=*)
|
--grub-setup=*)
|
||||||
|
@ -85,7 +91,9 @@ for option in "$@"; do
|
||||||
--grub-mkimage=*)
|
--grub-mkimage=*)
|
||||||
grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;;
|
grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;;
|
||||||
--grub-mkdevicemap=*)
|
--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="--no-floppy" ;;
|
no_floppy="--no-floppy" ;;
|
||||||
--recheck)
|
--recheck)
|
||||||
|
@ -198,10 +206,17 @@ for file in ${pkgdatadir}/*.mod ${pkgdatadir}/*.lst ${pkgdatadir}/*.img; do
|
||||||
cp -f $file ${grubdir} || exit 1
|
cp -f $file ${grubdir} || exit 1
|
||||||
done
|
done
|
||||||
|
|
||||||
# Create the core image.
|
# Create the core image. First, auto-detect the filesystme module.
|
||||||
modules="_chain pc"
|
fs_module=`$grub_probefs --device-map=${device_map} ${grubdir}`
|
||||||
# XXX This must be dynamic. I'm still thinking how to implement this.
|
if test "x$fs_module" = x -a "x$modules" = x; then
|
||||||
modules="$modules fat"
|
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
|
$grub_mkimage --output=${grubdir}/core.img $modules || exit 1
|
||||||
|
|
||||||
# Now perform the installation.
|
# Now perform the installation.
|
||||||
|
|
Loading…
Reference in a new issue