* GRUB2 / pxe
@ 2004-06-21 7:09 lode leroy
2004-06-27 12:11 ` Marco Gerards
0 siblings, 1 reply; 7+ messages in thread
From: lode leroy @ 2004-06-21 7:09 UTC (permalink / raw)
To: grub-devel
Hello,
I managed to boot grub2 over PXE/TFTP/DHCP using the following code.
Could someone add this to grub2, please?
-- lode
ps: it's a mix between pxeloader.S from grub0.94, abd boot.S from grub2
====boot/i386/pc/pxeboot.S================================
#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
===================================================
I created the image as follows (I'm sorry I have not managed to update the
makefiles appropriately)
gcc -Iboot/i386/pc -I../boot/i386/pc -I. -Iinclude -I../include -Wall -W
-DASM_FILE=1 -nostdinc -fno-builtin -c -o
pxeboot_img-boot_i386_pc_pxeboot.o ../boot/i386/pc/pxeboot.S
gcc -o pxeboot.exec pxeboot_img-boot_i386_pc_pxeboot.o -nostdlib
-Wl,-N,-Ttext,8000
objcopy -O binary -R .note -R .comment pxeboot.exec pxeboot.img
make
./grub-mkimage -v -d . -o core.img _chain ext2 normal boot hello ls fat
_linux terminal vga font cat cmp minix ufs _multiboot
cat pxeboot.img core.img > pxegrub2
===================================================
_________________________________________________________________
MSN Messenger v6.2 al geïnstalleerd?
http://messenger.msn.be?DI=1032&XAPID=2604&SU=hotmail.be
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: GRUB2 / pxe 2004-06-21 7:09 GRUB2 / pxe lode leroy @ 2004-06-27 12:11 ` Marco Gerards 2004-06-28 9:21 ` Yoshinori K. Okuji 0 siblings, 1 reply; 7+ messages in thread From: Marco Gerards @ 2004-06-27 12:11 UTC (permalink / raw) To: The development of GRUB 2 "lode leroy" <lode_leroy@hotmail.com> writes: > I managed to boot grub2 over PXE/TFTP/DHCP using the following code. > Could someone add this to grub2, please? This would be quite useful to me for testing, great! Using your code I made the patch I included at the end of the email. I've also regenerated the `conf/i386-pc.mk' file, in case you don't have ruby installed. Can you please test this patch? Is it ok for you this way? > -- lode > ps: it's a mix between pxeloader.S from grub0.94, abd boot.S from grub2 Okuji, can I commit this patch when it works for Lode? Are there copyright issues? Thanks, Marco 2004-05-24 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>. Index: boot/i386/pc/pxeboot.S =================================================================== RCS file: boot/i386/pc/pxeboot.S diff -N boot/i386/pc/pxeboot.S --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ boot/i386/pc/pxeboot.S 27 Jun 2004 12:07:46 -0000 @@ -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 Index: conf/i386-pc.mk =================================================================== RCS file: /cvsroot/grub/grub2/conf/i386-pc.mk,v retrieving revision 1.14 diff -u -p -u -p -r1.14 i386-pc.mk --- conf/i386-pc.mk 24 May 2004 21:32:20 -0000 1.14 +++ conf/i386-pc.mk 27 Jun 2004 12:07:47 -0000 @@ -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/ 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 Index: conf/i386-pc.rmk =================================================================== RCS file: /cvsroot/grub/grub2/conf/i386-pc.rmk,v retrieving revision 1.14 diff -u -p -u -p -r1.14 i386-pc.rmk --- conf/i386-pc.rmk 24 May 2004 21:32:21 -0000 1.14 +++ conf/i386-pc.rmk 27 Jun 2004 12:07:47 -0000 @@ -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) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: GRUB2 / pxe 2004-06-27 12:11 ` Marco Gerards @ 2004-06-28 9:21 ` Yoshinori K. Okuji 2004-06-28 16:22 ` Marco Gerards 0 siblings, 1 reply; 7+ messages in thread From: Yoshinori K. Okuji @ 2004-06-28 9:21 UTC (permalink / raw) To: The development of GRUB 2 On Sunday 27 June 2004 14:11, Marco Gerards wrote: > Okuji, can I commit this patch when it works for Lode? Are there > copyright issues? It's just a copy of GRUB Legacy, so there is no problem about the copyright. But I'm not sure how useful it is, since network support is not implemented at all. Okuji ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: GRUB2 / pxe 2004-06-28 9:21 ` Yoshinori K. Okuji @ 2004-06-28 16:22 ` Marco Gerards 2004-07-11 14:39 ` Marco Gerards 0 siblings, 1 reply; 7+ messages in thread From: Marco Gerards @ 2004-06-28 16:22 UTC (permalink / raw) To: The development of GRUB 2 "Yoshinori K. Okuji" <okuji@enbug.org> writes: > On Sunday 27 June 2004 14:11, Marco Gerards wrote: >> Okuji, can I commit this patch when it works for Lode? Are there >> copyright issues? > > It's just a copy of GRUB Legacy, so there is no problem about the > copyright. But I'm not sure how useful it is, since network support is > not implemented at all. That is no problem. Using this patch I can load GRUB on my second box by using the network, instead of a floppy. This will make testing easier. I will commit this patch tonight or tomorrow. Thanks, Marco ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: GRUB2 / pxe 2004-06-28 16:22 ` Marco Gerards @ 2004-07-11 14:39 ` Marco Gerards 0 siblings, 0 replies; 7+ messages in thread From: Marco Gerards @ 2004-07-11 14:39 UTC (permalink / raw) To: The development of GRUB 2 Marco Gerards <metgerards@student.han.nl> writes: > I will commit this patch tonight or tomorrow. I just committed the patch. I'm sorry for the delay. -- Marco ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: GRUB2 / pxe @ 2004-06-28 9:10 lode leroy 2004-06-28 16:38 ` Marco Gerards 0 siblings, 1 reply; 7+ messages in thread From: lode leroy @ 2004-06-28 9:10 UTC (permalink / raw) To: metgerards; +Cc: grub-devel >>I managed to boot grub2 over PXE/TFTP/DHCP using the following code. >>Could someone add this to grub2, please? > >This would be quite useful to me for testing, great! > >Using your code I made the patch I included at the end of the email. >I've also regenerated the `conf/i386-pc.mk' file, in case you don't >have ruby installed. Can you please test this patch? yes, looks like it works! >Is it ok for you this way? This line in the makefile is too long (or was crippled in the mail archive) $(CPPFLAGS) -DASM_FILE=1 $(ASFLAGS) $(pxeboot_img_ASFLAGS) -M $< | sed 's,pxeboot\.o[ :]*,pxeboot_img-boot_i386_pc_pxeboot.o $@ : ,g' > $@; [ -s $@ ] || rm -f $@ >>-- lode >>ps: it's a mix between pxeloader.S from grub0.94, abd boot.S from grub2 > >Okuji, can I commit this patch when it works for Lode? Are there >copyright issues? > I think there should not be copyright issues: there's only 1 line of code, and Okuji wrote it :-) _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: GRUB2 / pxe 2004-06-28 9:10 lode leroy @ 2004-06-28 16:38 ` Marco Gerards 0 siblings, 0 replies; 7+ messages in thread From: Marco Gerards @ 2004-06-28 16:38 UTC (permalink / raw) To: lode leroy; +Cc: grub-devel "lode leroy" <lode_leroy@hotmail.com> writes: >>Using your code I made the patch I included at the end of the email. >>I've also regenerated the `conf/i386-pc.mk' file, in case you don't >>have ruby installed. Can you please test this patch? > > yes, looks like it works! Great! >>Is it ok for you this way? > > This line in the makefile is too long (or was crippled in the mail archive) That is not a problem. It is a generated file, I just included it for your convenience. > I think there should not be copyright issues: there's only 1 line of code, > and Okuji wrote it :-) Ok, in that case there is no problem and I will apply the patch soon. Thanks, Marco ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-07-11 14:42 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-06-21 7:09 GRUB2 / pxe lode leroy 2004-06-27 12:11 ` Marco Gerards 2004-06-28 9:21 ` Yoshinori K. Okuji 2004-06-28 16:22 ` Marco Gerards 2004-07-11 14:39 ` Marco Gerards -- strict thread matches above, loose matches on Subject: below -- 2004-06-28 9:10 lode leroy 2004-06-28 16:38 ` Marco Gerards
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.