Commit graph

779 commits

Author SHA1 Message Date
chaac
8e68069b48 2006-05-02 Vesa Jaaskelainen <chaac@nic.fi>
* stage2/shared.h (vbe_mode): Back ported aligment fix from GRUB 2
        to GRUB Legacy.  Problem reported by Gerardo Richarte.
2006-05-02 20:46:24 +00:00
robertmh
4fe8c0ccf6 2006-04-23 Robert Millan <robertmh@gnu.org>
* grub/asmstub.c (get_diskinfo): Optimize sysctl routine.
2006-04-23 10:10:52 +00:00
robertmh
4ace38464e Fixes for kernel of FreeBSD:
* grub/asmstub.c (get_diskinfo): Toggle "kern.geom.debugflags" sysctl
        before opening a device for writing.
        * util/grub-install.in: Devices don't have this "r" prefix anymore.
2006-04-20 13:46:46 +00:00
okuji
8a4848921a 2006-04-16 Yoshinori K. Okuji <okuji@enbug.org>
* docs/multiboot.texi: Correct the offset of address
        fields. Reported by Jeroen Dekkers.
2006-04-16 17:55:49 +00:00
okuji
8932e40756 2006-03-21 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (setup_func): Specify the size of DEVICE to
        grub_strncat instead of a strange number 256. Reported by Vitaly
        Fertman <vitaly@namesys.com>.
2006-03-21 20:51:58 +00:00
proski
6d8ace6ee5 Add grub-set-default. 2005-12-21 19:57:53 +00:00
okuji
07741fe577 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
* docs/multiboot.texi: Fix a bug in the byte order of
        boot_device. I hope this won't affect any OS image.
        Increased the version number to 0.6.94.
2005-09-28 23:00:54 +00:00
okuji
1499969120 2005-09-28 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/boot.c (load_image): Even if an OS image is an ELF
        object, use the a.out kludge if MULTIBOOT_AOUT_KLUDGE is
        specified.
2005-09-28 21:47:55 +00:00
okuji
2b55611a79 2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac (AC_INIT): Upgraded to 0.97.

  * compile: Copied from Automake 1.9.4.
  * config.guess: Likewise.
  * config.sub: Likewise.
  * depcomp: Likewise.
  * install-sh: Likewise.
  * missing: Likewise.
  * mkinstalldirs: Likewise.
  * mdate-sh: Likewise.
  * docs/texinfo.tex: Likewise.
2005-05-08 02:51:53 +00:00
okuji
1262b6e7ef 2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
  arrays of pointers for USUAL, to avoid read-only strings. Reported
  by Sven Wegener <swegener@gentoo.org>.
2005-05-08 02:18:14 +00:00
okuji
6884fee4be 2005-03-28 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of
  ST.ST_BLOCKS to get the total number of sectors, because st_blocks
  is not the same if it is a sparse file.
2005-03-27 23:20:09 +00:00
okuji
2b7a7354d9 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
  string. Reported by NATORI Shin <natori@adm.s.u-tokyo.ac.jp>.
2005-03-19 18:02:52 +00:00
okuji
f307cbf7c6 2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
  descriptor, because some BIOSes overwrite this value, according
  to the storage mode (e.g. USB Floppy or USB HDD).
2005-03-15 16:54:24 +00:00
okuji
257fff664f 2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
  from doit. I hope this change is safe for all compilers.
2005-02-16 20:45:48 +00:00
okuji
041e243877 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
  disk, enable the workaround in Stage 1 by replacing the jmp
  with double nop's.

  * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
  (STAGE1_BOOT_DRIVE_MASK): Removed.

  * stage1/stage1.S (boot_drive_check): New label. This implements
  a different workaround for buggy BIOSes which don't pass boot
  drive correctly. This is effective for BIOSes which pass a value
  without the seventh bit (0x80).
  (boot_drive_mask): Removed.
2005-02-15 22:05:07 +00:00
okuji
fb908db4ad 2005-02-03 Yoshinori K. Okuji <okuji@enbug.org>
* grub/asmstub.c (console_current_color): Make it global as
  declared.
  (grub_stage2): Tweak the declaration and the definition of the
  nested function doit.
2005-02-03 10:01:14 +00:00
okuji
660e9c195f 2005-02-02 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/smp-imps.h (imps_any_new_apics): Removed.
  (imps_enabled): Likewise.
  (imps_lapic_addr): Likewise.
  (imps_num_cpus): Likewise.
  (imps_cpu_apic_map): Likewise.
  (imps_apic_cpu_map): Likewise.

  * stage2/Makefile.am (libgrub_a_CFLAGS): Remove
  -fwritable-strings. Not required for the grub shell actually.

  * grub/Makefile.am (AM_CFLAGS): Likewise.
2005-02-02 20:40:06 +00:00
okuji
ac1ef04cde 2005-02-01 Yoshinori K. Okuji <okuji@enbug.org>
* grub/asmstub.c (grub_stage2): Use auto instead of static for
  nested functions.

  * stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.

  * stage2/builtins.c (blocklist_func): Likewise.
  (color_func): Likewise.
  (install_func): Likewise.
  (setkey_func): Likewise.

  * lib/device.c (read_device_map): Likewise.
2005-02-01 21:00:42 +00:00
okuji
eb5d4d6776 2005-01-30 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac (AC_INIT): Upgraded to 0.96.
2005-01-30 01:09:34 +00:00
jthomas
cce5686ea2 * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
sizeof(module_t), since it's already a pointer of type module_t.
* docs/kernel.c (cmain): Do the same.
2004-10-10 22:47:23 +00:00
okuji
4022b1bcb5 2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
* docs/internals.texi (Internals): Changed to an appendix.

  * docs/grub.texi (@setchapternewpage): Changed to odd from off.
  (@contents): Moved to the beginning.
  (Future): Changed to an appendix.
2004-09-20 21:55:00 +00:00
okuji
8243a69201 2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/cmdline.c (run_script): Fix a reversed conditional.
        Reported by Alban Crequy <alban.crequy@apinc.org>.
2004-08-16 23:25:44 +00:00
jthomas
577b70d724 - patch from Michael Hohnbaum <hohnbaum@us.ibm.com> to handle sparse files. 2004-08-07 06:48:58 +00:00
okuji
16ca69f719 2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
	correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
2004-07-24 18:58:02 +00:00
robertmh
255d37589f Patch from David Weinehall <tao@debian.org>
* util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
2004-07-21 14:43:04 +00:00
robertmh
31831d933f * util/grub-install.in: Detect GNU/k*BSD systems as well. 2004-07-20 19:30:24 +00:00
okuji
e92d461e1c 2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
* util/grub-install.in (convert): Fix the sed statement for
        Linux. The expression was ambigious in some cases.
2004-07-16 11:49:58 +00:00
robertmh
b929761836 Fix minor syntax error (non-escaped characters). 2004-06-29 17:45:21 +00:00
robertmh
01eb2cd1f4 * util/grub-install.in: Improve usage message. 2004-06-24 17:10:09 +00:00
robertmh
b84bec9188 * stage1/Makefile.am: Move stage files to pkglibdir.
* stage2/Makefile.am: Likewise.
        * docs/grub.texi: s,/usr/share,/usr/lib,g.
        * util/grub-image.in: Look for stage files in pkglibdir.
        * util/grub-install.in: Likewise.
2004-06-24 17:04:55 +00:00
okuji
5b5f6dc772 2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
This is a big change on saving a default entry. This change
	makes it possible to set up a quite robust system using GRUB.
	Now we do not use the second sector of Stage 2 to store an
	entry number but use the file /boot/grub/default. This file
	must be generated by grub-set-default, although this file is
	plain-text.

	* util/grub-set-default.in: New file.

	* util/grub-install.in (grub_set_default): New variable.
	Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
	Run grub-set-default to make a default file.

	* util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.

	* stage2/stage2.c (run_menu): Change the fallback handling to
	support multiple fallback entries.
	(cmain): Likewise. Also, get a saved entry from a default file
	if possible, before reading a config file.

	* stage2/shared.h (DEFAULT_FILE_BUF): New macro.
	(DEFAULT_FILE_BUFLEN): Likewise.
	(CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
	(MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
	(fallback_entry): Removed.
	(fallback_entries): Declared.
	(fallback_entryno): Likewise.
	(MAX_FALLBACK_ENTRIES): New macro.

	* stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
	FALLBACK_ENTRY.

	* stage2/builtins.c (fallback_entry): Removed.
	(fallback_entryno): New variable.
	(fallback_entries): Likewise.
	(init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
	(fallback_func): Rewritten completely.
	(savedefault_func): Likewise.

	* docs/grub.texi (grub-set-default): New direntry.
	(Installation): Describe grub-set-default for manual
	installations.
	(Making your system robust): New section.
	(Booting once-only): New subsection.
	(Booting fallback systems): Likewise.
	(fallback): Describe multiple fallback entries.
	(savedefault): Describe an optional argument.
	(Invoking grub-set-default): New chapter.
	(Future): Replaced with a description about GRUB 2.

	* configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
2004-06-20 13:48:47 +00:00
okuji
e15e075464 2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/ufs2.h (int8_t): Renamed to ...
	(grub_uint8_t): ... this.
	(int16_t): Renamed to ...
	(grub_int16_t): ... this.
	(int32_t): Renamed to ...
	(grub_int32_t): ... this.
	(int64_t): Renamed to ...
	(grub_int64_t): ... this.
	(uint8_t): Renamed to ...
	(grub_uint8_t): ... this.
	(uint16_t): Renamed to ...
	(grub_uint16_t): ... this.
	(uint32_t): Renamed to ...
	(grub_uint32_t): ... this.
	(uint64_t): Renamed to ...
	(grub_uint64_t): ... this.
	(u_char): Renamed to ...
	(grub_u_char): ... this.
	(u_int): Renamed to ...
	(grub_u_int): ... this.
	(u_int8_t): Renamed to ...
	(grub_u_int8_t): ... this.
	(u_int16_t): Renamed to ...
	(grub_u_int16_t): ... this.
	(u_int32_t): Renamed to ...
	(grub_u_int32_t): ... this.
	(u_int64_t): Renamed to ...
	(grub_u_int64_t): ... this.
	(ino_t): Renamed to ...
	(grub_ino_t): ... this.
	All callers are changed.
2004-06-19 12:17:52 +00:00
jeroen
5b00a4c20d 2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
* stage2/ufs2.h (__uint8_t): Remove.
	(__uint16_t): Likewise.
	(__uint32_t): Likewise.
	(__uint64_t): Likewise.
	(ino_t): Typedef to uint32_t.
2004-06-14 16:29:47 +00:00
okuji
4d4f67b1af 2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
2004-06-13 19:15:56 +00:00
okuji
e86d8458da Set the release date of 0.95. 2004-06-13 17:50:27 +00:00
okuji
3a65add281 2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac (AC_INIT): Upgraded to 0.95.
2004-06-13 17:49:52 +00:00
okuji
e43909c66d 2004-05-23 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/char_io.c (grub_isspace): Use a switch sentense instead
	of an if sentense, because that reduces the size.

	* lib/device.c (read_device_map): Change the max number of DRIVE
	to 127 from 8. This was too strict.

	* stage2/asm.S (stop_floppy): Call pusha and popa outside the
	block of real mode code. Reported by Guillem Jover
	<guillem@debian.org>.
2004-05-23 16:45:45 +00:00
okuji
31def8459d 2004-05-20 Damian Ivereigh <damian@cisco.com>
* netboot/main.c: Fixed bootp only code so that options
        work properly. This fix is obvious when compared with the
        DHCP code.
2004-05-20 22:17:27 +00:00
proski
12ce4272ee * stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
(grub_tolower): Disable for stage 1.5 except fat_stage1_5.
(grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5.
2004-05-17 14:10:45 +00:00
okuji
dc8bf1d248 2004-05-14 Yoshinori K. Okuji <okuji@enbug.org>
From Sergey Matveychuk <sem@ciam.ru>:
	* stage2/size_test: Added a check for ufs2_stage1_5.

	* stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
	[FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.

	* stage2/filesys.h (FSYS_UFS2_NUM): New macro.
	[FSYS_UFS2] (ufs2_mount): New prototype.
	[FSYS_UFS2] (ufs2_read): Likewise.
	[FSYS_UFS2] (ufs2_dir): Likewise.
	[FSYS_UFS2] (ufs2_embed): Likewise.
	(NUM_FSYS): Added FSYS_UFS2_NUM.

	* stage2/disk_io.c (fsys_table): Added an ufs2 entry.

	* stage2/builtins.c (setup_func): Added ufs2 into the
	STAGE1_5_MAP.

	* stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
	(libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
	(pkgdata_DATA): Added ufs2_stage1_5.
	(noinst_PROGRAMS): Added ufs2_stage1_5.exec.
	(ufs2_stage1_5_exec_SOURCES): New variable.
	(ufs2_stage1_5_exec_CFLAGS): Likewise.
	(ufs2_stage1_5_exec_CCASFLAGS): Likewise.
	(ufs2_stage1_5_exec_LDFLAGS): Likewise.

	* grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
	-DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
	-DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.

	* configure.ac (--disable-ufs2): New option.

	* stage2/fsys_ufs2.c: New file.
	* stage2/ufs2.h: Likewise.
2004-05-14 20:16:55 +00:00
robertmh
7b676b85ea 2004-05-10 Robert Millan <robertmh@gnu.org>
* lib/device.c: Mangle __FreeBSD_* macro usage to support
        kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).

        Implement runtime detection of version of kFreeBSD. Now if
        we build against kFreeBSD 5.x headers the GRUB shell will work on
        both 4.x and 5.x.

        Replace `u_int_t' types with portable `unsigned int' and old
        reference to `geometry' structure to new `geom' one.

        * docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate
        options than FreeBSD and NetBSD, respectively. There are minor
        differences now (different paths).
2004-05-10 21:46:49 +00:00
proski
6355ac9d94 * stage2/char_io.c (convert_to_ascii): Remove "%b" support.
It's non-standard and is not used anymore.
(grub_printf): Likewise.
2004-05-03 13:27:34 +00:00
proski
3fa2fbb8bd Add stage2_eltorito and start_eltorito. 2004-05-02 15:10:27 +00:00
robertmh
84fbf16f40 From Yann Dirson <dirson@debian.org>:
* util/mkbimage: Misc syntax fixes.
2004-04-29 19:45:11 +00:00
jeroen
50396703ad 2004-04-29 Jeroen Dekkers <jeroen@dekkers.cx>
* stage2/char_io.c (grub_memcmp): Define for stage1.5 too.

	* stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
	__builtin_memcmp().
	(iso9660_dir): Likewise.
2004-04-29 09:57:09 +00:00
jeroen
6525b81507 Fix typo 2004-04-27 21:32:28 +00:00
okuji
11902433a2 Add Christian. 2004-04-27 20:48:50 +00:00
okuji
fcac0d870d 2004-04-26 Christian Jones <chjones@aleph0.com>
* docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
        including a few compatibility notes and a change to
        -boot-load-size 4 for the mkisofs command.
2004-04-27 20:47:43 +00:00
jeroen
3316fed9db Regenerated 2004-04-23 13:49:16 +00:00
jeroen
b9d0cc9dcf 2004-04-22 Jeroen Dekkers <jeroen@dekkers.cx>
* Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
	* configure.ac: Update to work with automake 1.8, quote all
	AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
	* acinclude.m4: Likewise.
	* acconfig.h: Removed.

	* stage1/Makefile.am (.exec): Use suffix rules instead of pattern
	rules.
	* stage2/Makefile.am (.exec): Likewise.
2004-04-23 13:43:40 +00:00