fix some bugs in the example kernel and the Makefile entries.
This commit is contained in:
parent
7519621c59
commit
acc6543257
10 changed files with 86 additions and 69 deletions
29
ChangeLog
29
ChangeLog
|
@ -1,3 +1,32 @@
|
|||
2001-01-12 OKUJI Yoshinori <okuji@gnu.org>
|
||||
|
||||
* docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined
|
||||
as 0x00000003 instead of 0x00010003.
|
||||
* docs/boot.S (multiboot_header) [__ELF__]: Don't define a.out
|
||||
kludge information.
|
||||
|
||||
* docs/Makefile.am (EXTRA_PROGRAMS): New variable.
|
||||
[BUILD_EXAMPLE_KERNEL] (noinst_DATA): Removed.
|
||||
[BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Changed to kernel.
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Renamed to ...
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_SOURCES): ... this.
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Renamed to ...
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_CFLAGS): ... this.
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Renamed to ...
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel_LDFLAGS): ... this.
|
||||
[BUILD_EXAMPLE_KERNEL] (kernel): Removed.
|
||||
[BUILD_EXAMPLE_KERNEL] (boot.o): New dependency.
|
||||
(CLEANFILES): New variable.
|
||||
|
||||
2001-01-11 OKUJI Yoshinori <okuji@gnu.org>
|
||||
|
||||
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always
|
||||
print current network configuration.
|
||||
[SUPPORT_NETBOOT] (tftpserver_func): Use ifconfig instead of
|
||||
arp_server_override.
|
||||
* netboot/main.c (arp_server_override): Removed.
|
||||
* netboot/etherboot.h (arp_server_override): Likewise.
|
||||
|
||||
2001-01-11 Eugene Doudine <dudin@np.nk.nornik.ru>
|
||||
|
||||
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New
|
||||
|
|
|
@ -7,22 +7,22 @@ man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8
|
|||
HELP2MAN = help2man
|
||||
SRC2TEXI = src2texi
|
||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||
EXTRA_PROGRAMS = kernel
|
||||
|
||||
# The example kernel is built if you specify --enable-example-kernel.
|
||||
if BUILD_EXAMPLE_KERNEL
|
||||
noinst_DATA = kernel
|
||||
noinst_PROGRAMS = kernel.exec
|
||||
kernel_exec_SOURCES = $(EXAMPLES)
|
||||
kernel_exec_CFLAGS = -fno-builtin -nostdinc -O -g -Wall \
|
||||
noinst_PROGRAMS = kernel
|
||||
kernel_SOURCES = $(EXAMPLES)
|
||||
kernel_CFLAGS = -fno-builtin -nostdinc -O -g -Wall \
|
||||
-imacros $(top_builddir)/config.h
|
||||
kernel_exec_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
kernel_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
|
||||
kernel: kernel.exec
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
boot.o: multiboot.h
|
||||
endif
|
||||
|
||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||
$(EXAMPLES) $(multiboot_TEXINFOS)
|
||||
CLEANFILES = $(noinst_PROGRAMS)
|
||||
|
||||
# Cancel the rule %.texi -> %. This rule may confuse make to determine
|
||||
# the dependecies.
|
||||
|
|
|
@ -97,18 +97,19 @@ man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8
|
|||
HELP2MAN = help2man
|
||||
SRC2TEXI = src2texi
|
||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||
EXTRA_PROGRAMS = kernel
|
||||
|
||||
# The example kernel is built if you specify --enable-example-kernel.
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_DATA = @BUILD_EXAMPLE_KERNEL_TRUE@kernel
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_PROGRAMS = @BUILD_EXAMPLE_KERNEL_TRUE@kernel.exec
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_SOURCES = @BUILD_EXAMPLE_KERNEL_TRUE@$(EXAMPLES)
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_CFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-fno-builtin -nostdinc -O -g -Wall \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_PROGRAMS = @BUILD_EXAMPLE_KERNEL_TRUE@kernel
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_SOURCES = @BUILD_EXAMPLE_KERNEL_TRUE@$(EXAMPLES)
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_CFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-fno-builtin -nostdinc -O -g -Wall \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@ -imacros $(top_builddir)/config.h
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_LDFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_LDFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
|
||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||
$(EXAMPLES) $(multiboot_TEXINFOS)
|
||||
|
||||
CLEANFILES = $(noinst_PROGRAMS)
|
||||
subdir = docs
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../config.h
|
||||
|
@ -120,18 +121,18 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
|
|||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_exec_OBJECTS = kernel_exec-boot.o \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec-kernel.o
|
||||
kernel_exec_OBJECTS = $(am_kernel_exec_OBJECTS)
|
||||
kernel_exec_LDADD = $(LDADD)
|
||||
kernel_exec_DEPENDENCIES =
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_OBJECTS = kernel-boot.o \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel-kernel.o
|
||||
kernel_OBJECTS = $(am_kernel_OBJECTS)
|
||||
kernel_LDADD = $(LDADD)
|
||||
kernel_DEPENDENCIES =
|
||||
SCRIPTS = $(noinst_SCRIPTS)
|
||||
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CFLAGS = @CFLAGS@
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(kernel_exec_SOURCES)
|
||||
DIST_SOURCES = $(kernel_SOURCES)
|
||||
TEXI2DVI = texi2dvi
|
||||
INFO_DEPS = grub.info multiboot.info
|
||||
DVIS = grub.dvi multiboot.dvi
|
||||
|
@ -141,11 +142,8 @@ man8dir = $(mandir)/man8
|
|||
MANS = $(man_MANS)
|
||||
|
||||
NROFF = nroff
|
||||
DATA = $(noinst_DATA)
|
||||
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
DEP_FILES = @AMDEP@ $(DEPDIR)/kernel_exec-boot.Po \
|
||||
$(DEPDIR)/kernel_exec-kernel.Po
|
||||
DEP_FILES = @AMDEP@ $(DEPDIR)/kernel-boot.Po $(DEPDIR)/kernel-kernel.Po
|
||||
DIST_COMMON = $(grub_TEXINFOS) $(multiboot_TEXINFOS) Makefile.am \
|
||||
Makefile.in stamp-vti version.texi
|
||||
|
||||
|
@ -153,8 +151,8 @@ Makefile.in stamp-vti version.texi
|
|||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(kernel_exec_SOURCES)
|
||||
OBJECTS = $(am_kernel_exec_OBJECTS)
|
||||
SOURCES = $(kernel_SOURCES)
|
||||
OBJECTS = $(am_kernel_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
@ -185,13 +183,13 @@ distclean-compile:
|
|||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
kernel_exec-boot.o: boot.S
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kernel_exec-boot.o `test -f boot.S || echo '$(srcdir)/'`boot.S
|
||||
kernel_exec-kernel.o: kernel.c
|
||||
kernel-boot.o: boot.S
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-boot.o `test -f boot.S || echo '$(srcdir)/'`boot.S
|
||||
kernel-kernel.o: kernel.c
|
||||
|
||||
kernel.exec: $(kernel_exec_OBJECTS) $(kernel_exec_DEPENDENCIES)
|
||||
@rm -f kernel.exec
|
||||
$(LINK) $(kernel_exec_LDFLAGS) $(kernel_exec_OBJECTS) $(kernel_exec_LDADD) $(LIBS)
|
||||
kernel: $(kernel_OBJECTS) $(kernel_DEPENDENCIES)
|
||||
@rm -f kernel
|
||||
$(LINK) $(kernel_LDFLAGS) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS)
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
|
@ -449,8 +447,8 @@ distclean-tags:
|
|||
|
||||
maintainer-clean-tags:
|
||||
|
||||
@AMDEP@include $(DEPDIR)/kernel_exec-boot.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel_exec-kernel.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel-boot.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel-kernel.Po
|
||||
|
||||
mostlyclean-depend:
|
||||
|
||||
|
@ -472,11 +470,11 @@ maintainer-clean-depend:
|
|||
|
||||
@AMDEP@CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
kernel_exec-kernel.o: kernel.c
|
||||
@AMDEP@ source='kernel.c' object='kernel_exec-kernel.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP@ depfile='$(DEPDIR)/kernel_exec-kernel.Po' tmpdepfile='$(DEPDIR)/kernel_exec-kernel.TPo' @AMDEPBACKSLASH@
|
||||
kernel-kernel.o: kernel.c
|
||||
@AMDEP@ source='kernel.c' object='kernel-kernel.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP@ depfile='$(DEPDIR)/kernel-kernel.Po' tmpdepfile='$(DEPDIR)/kernel-kernel.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kernel_exec-kernel.o `test -f kernel.c || echo '$(srcdir)/'`kernel.c
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.o `test -f kernel.c || echo '$(srcdir)/'`kernel.c
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
|
@ -512,7 +510,7 @@ install-am: all-am
|
|||
install: install-am
|
||||
uninstall-am: uninstall-info uninstall-man
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
|
||||
all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
|
||||
|
@ -524,6 +522,7 @@ installdirs:
|
|||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
@ -575,8 +574,7 @@ distclean-generic clean-generic maintainer-clean-generic clean \
|
|||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel: kernel.exec
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@ $(OBJCOPY) -O binary $< $@
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@boot.o: multiboot.h
|
||||
|
||||
# Cancel the rule %.texi -> %. This rule may confuse make to determine
|
||||
# the dependecies.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* boot.S - bootstrap the kernel */
|
||||
/* Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2001 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
|
||||
|
@ -21,8 +21,6 @@
|
|||
.text
|
||||
|
||||
.globl start, _start
|
||||
|
||||
/* This entry is not used actually. */
|
||||
start:
|
||||
_start:
|
||||
jmp multiboot_entry
|
||||
|
@ -38,6 +36,7 @@ multiboot_header:
|
|||
.long MULTIBOOT_HEADER_FLAGS
|
||||
/* checksum */
|
||||
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
#ifndef __ELF__
|
||||
/* header_addr */
|
||||
.long multiboot_header
|
||||
/* load_addr */
|
||||
|
@ -48,6 +47,7 @@ multiboot_header:
|
|||
.long _end
|
||||
/* entry_addr */
|
||||
.long multiboot_entry
|
||||
#endif /* ! __ELF__ */
|
||||
|
||||
multiboot_entry:
|
||||
/* Initialize the stack pointer. */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* @r{boot.S - bootstrap the kernel} */
|
||||
/* @r{Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* @r{Copyright (C) 1999, 2001 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
|
||||
|
@ -21,8 +21,6 @@
|
|||
.text
|
||||
|
||||
.globl start, _start
|
||||
|
||||
/* @r{This entry is not used actually.} */
|
||||
start:
|
||||
_start:
|
||||
jmp multiboot_entry
|
||||
|
@ -38,6 +36,7 @@ multiboot_header:
|
|||
.long MULTIBOOT_HEADER_FLAGS
|
||||
/* @r{checksum} */
|
||||
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
#ifndef __ELF__
|
||||
/* @r{header_addr} */
|
||||
.long multiboot_header
|
||||
/* @r{load_addr} */
|
||||
|
@ -48,6 +47,7 @@ multiboot_header:
|
|||
.long _end
|
||||
/* @r{entry_addr} */
|
||||
.long multiboot_entry
|
||||
#endif /* @r{! __ELF__} */
|
||||
|
||||
multiboot_entry:
|
||||
/* @r{Initialize the stack pointer.} */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* multiboot.h - the header for Multiboot */
|
||||
/* Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2001 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
|
||||
|
@ -21,7 +21,11 @@
|
|||
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
|
||||
|
||||
/* The flags for the Multiboot header. */
|
||||
#define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#ifdef __ELF__
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00000003
|
||||
#else
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#endif
|
||||
|
||||
/* The magic number passed by a Multiboot-compliant boot loader. */
|
||||
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* @r{multiboot.h - the header for Multiboot} */
|
||||
/* @r{Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* @r{Copyright (C) 1999, 2001 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
|
||||
|
@ -21,7 +21,11 @@
|
|||
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
|
||||
|
||||
/* @r{The flags for the Multiboot header.} */
|
||||
#define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#ifdef __ELF__
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00000003
|
||||
#else
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#endif
|
||||
|
||||
/* @r{The magic number passed by a Multiboot-compliant boot loader.} */
|
||||
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
|
||||
|
|
|
@ -461,7 +461,6 @@ External prototypes
|
|||
/* main.c */
|
||||
#ifdef GRUB
|
||||
extern void print_network_configuration P((void));
|
||||
extern int arp_server_override P((const char *buf));
|
||||
extern int ifconfig P((char *ip, char *sm, char *gw, char *svr));
|
||||
#endif /* GRUB */
|
||||
|
||||
|
|
|
@ -178,18 +178,6 @@ print_network_configuration (void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Override the server IP address. */
|
||||
int
|
||||
arp_server_override (const char *buffer)
|
||||
{
|
||||
in_addr in;
|
||||
|
||||
if (! inet_aton ((char *) buffer, &in))
|
||||
return 0;
|
||||
|
||||
arptable[ARP_SERVER].ipaddr.s_addr = in.s_addr;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
DEFAULT_NETMASK - Return default netmask for IP address
|
||||
|
|
|
@ -1531,12 +1531,6 @@ ifconfig_func (char *arg, int flags)
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (! *arg)
|
||||
{
|
||||
print_network_configuration ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (*arg)
|
||||
{
|
||||
if (! grub_memcmp ("--server=", arg, sizeof ("--server=") - 1))
|
||||
|
@ -1562,6 +1556,7 @@ ifconfig_func (char *arg, int flags)
|
|||
return 1;
|
||||
}
|
||||
|
||||
print_network_configuration ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -4147,7 +4142,7 @@ static struct builtin builtin_testvbe =
|
|||
static int
|
||||
tftpserver_func (char *arg, int flags)
|
||||
{
|
||||
if (! *arg || ! arp_server_override (arg))
|
||||
if (! *arg || ! ifconfig (0, 0, 0, arg))
|
||||
{
|
||||
errnum = ERR_BAD_ARGUMENT;
|
||||
return 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue