2004-07-11 Marco Gerards <metgerards@student.han.nl>
* conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img. (pxeboot_img_SOURCES): New variable. (pxeboot_img_ASFLAGS): Likewise. (pxeboot_img_LDFLAGS): Likewise. * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy <lode_leroy@hotmail.com>.
This commit is contained in:
parent
6c51eb648e
commit
020616c2b2
4 changed files with 82 additions and 2 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2004-07-11 Marco Gerards <metgerards@student.han.nl>
|
||||
|
||||
* conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
|
||||
(pxeboot_img_SOURCES): New variable.
|
||||
(pxeboot_img_ASFLAGS): Likewise.
|
||||
(pxeboot_img_LDFLAGS): Likewise.
|
||||
* boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
|
||||
GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
|
||||
<lode_leroy@hotmail.com>.
|
||||
|
||||
2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
|
||||
|
||||
* kern/rescue.c (grub_enter_rescue_mode): Don't continue when
|
||||
|
|
43
boot/i386/pc/pxeboot.S
Normal file
43
boot/i386/pc/pxeboot.S
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* -*-Asm-*- */
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 1999,2000,2001,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.
|
||||
*/
|
||||
|
||||
#include <grub/boot.h>
|
||||
#include <grub/machine/boot.h>
|
||||
|
||||
/*
|
||||
* defines for the code go here
|
||||
*/
|
||||
|
||||
.file "pxeboot.S"
|
||||
|
||||
.text
|
||||
|
||||
/* Tell GAS to generate 16-bit instructions so that this code works
|
||||
in real mode. */
|
||||
.code16
|
||||
|
||||
.globl _start; _start:
|
||||
/*
|
||||
* _start is loaded at 0x7c00 and is jumped to with CS:IP 0:0x7c00
|
||||
*/
|
||||
ljmp $0, $0x8200
|
||||
|
||||
. = 0x8000 - 0x7C00 -1
|
||||
.byte 0
|
|
@ -4,7 +4,7 @@ COMMON_ASFLAGS = -nostdinc -fno-builtin
|
|||
COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3
|
||||
|
||||
# Images.
|
||||
pkgdata_IMAGES = boot.img diskboot.img kernel.img
|
||||
pkgdata_IMAGES = boot.img diskboot.img kernel.img pxeboot.img
|
||||
|
||||
# For boot.img.
|
||||
boot_img_SOURCES = boot/i386/pc/boot.S
|
||||
|
@ -28,6 +28,28 @@ boot_img-boot_i386_pc_boot.d: boot/i386/pc/boot.S
|
|||
boot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
boot_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
||||
|
||||
# For pxeboot.img
|
||||
pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S
|
||||
CLEANFILES += pxeboot.img pxeboot.exec pxeboot_img-boot_i386_pc_pxeboot.o
|
||||
MOSTLYCLEANFILES += pxeboot_img-boot_i386_pc_pxeboot.d
|
||||
|
||||
pxeboot.img: pxeboot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment $< $@
|
||||
|
||||
pxeboot.exec: pxeboot_img-boot_i386_pc_pxeboot.o
|
||||
$(CC) -o $@ $^ $(LDFLAGS) $(pxeboot_img_LDFLAGS)
|
||||
|
||||
pxeboot_img-boot_i386_pc_pxeboot.o: boot/i386/pc/pxeboot.S
|
||||
$(CC) -Iboot/i386/pc -I$(srcdir)/boot/i386/pc $(CPPFLAGS) -DASM_FILE=1 $(ASFLAGS) $(pxeboot_img_ASFLAGS) -c -o $@ $<
|
||||
|
||||
pxeboot_img-boot_i386_pc_pxeboot.d: boot/i386/pc/pxeboot.S
|
||||
set -e; $(CC) -Iboot/i386/pc -I$(srcdir)/boot/i386/pc $(CPPFLAGS) -DASM_FILE=1 $(ASFLAGS) $(pxeboot_img_ASFLAGS) -M $< | sed 's,pxeboot\.o[ :]*,pxeboot_img-boot_i386_pc_pxeboot.o $@ : ,g' > $@; [ -s $@ ] || rm -f $@
|
||||
|
||||
-include pxeboot_img-boot_i386_pc_pxeboot.d
|
||||
|
||||
pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
pxeboot_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,8000
|
||||
|
||||
# For diskboot.img.
|
||||
diskboot_img_SOURCES = boot/i386/pc/diskboot.S
|
||||
CLEANFILES += diskboot.img diskboot.exec diskboot_img-boot_i386_pc_diskboot.o
|
||||
|
|
|
@ -4,13 +4,18 @@ COMMON_ASFLAGS = -nostdinc -fno-builtin
|
|||
COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3
|
||||
|
||||
# Images.
|
||||
pkgdata_IMAGES = boot.img diskboot.img kernel.img
|
||||
pkgdata_IMAGES = boot.img diskboot.img kernel.img pxeboot.img
|
||||
|
||||
# For boot.img.
|
||||
boot_img_SOURCES = boot/i386/pc/boot.S
|
||||
boot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
boot_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
||||
|
||||
# For pxeboot.img
|
||||
pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S
|
||||
pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
pxeboot_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,8000
|
||||
|
||||
# For diskboot.img.
|
||||
diskboot_img_SOURCES = boot/i386/pc/diskboot.S
|
||||
diskboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
|
|
Loading…
Reference in a new issue