* PXE-Grub has no menu - File not found
@ 2014-06-07 18:11 Beeblebrox
2014-06-08 5:22 ` Andrey Borzenkov
0 siblings, 1 reply; 10+ messages in thread
From: Beeblebrox @ 2014-06-07 18:11 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 692 bytes --]
I just updated my git repo (git log shows Apr 20 16:12:41), then
re-compiled and reinstalled Grub. I then cd'ed to my TFTP root and ran
"grub-mknetdir --net-directory=./" This completed without problem and
displayed message to "direct TFTP to core.0" with correct path.
PXE Booting process now fails as:
Client gets IP address,
"Welcome to GRUB" message displayed, then
"error: file not found.
Entering rescue mode...
grub rescue> "
TFTP log shows:
tftp: client does not accept options
RRQ from 192.168.2.34 filename grub/i386-pc/core.0
RRQ from 192.168.2.34 filename /boot/grub/i386-pc/normal.mod
$tftproot/boot/grub/i386-pc/grub.cfg has
source boot/grub/grub.cfg
What did this break?
[-- Attachment #2: Type: text/html, Size: 1031 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-07 18:11 PXE-Grub has no menu - File not found Beeblebrox
@ 2014-06-08 5:22 ` Andrey Borzenkov
2014-06-09 5:20 ` Beeblebrox
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Borzenkov @ 2014-06-08 5:22 UTC (permalink / raw)
To: The development of GNU GRUB; +Cc: zaphod
В Sat, 7 Jun 2014 21:11:04 +0300
Beeblebrox <zaphod@berentweb.com> пишет:
> I just updated my git repo (git log shows Apr 20 16:12:41), then
> re-compiled and reinstalled Grub. I then cd'ed to my TFTP root and ran
> "grub-mknetdir --net-directory=./" This completed without problem and
> displayed message to "direct TFTP to core.0" with correct path.
>
> PXE Booting process now fails as:
> Client gets IP address,
> "Welcome to GRUB" message displayed, then
>
> "error: file not found.
> Entering rescue mode...
> grub rescue> "
>
> TFTP log shows:
> tftp: client does not accept options
> RRQ from 192.168.2.34 filename grub/i386-pc/core.0
> RRQ from 192.168.2.34 filename /boot/grub/i386-pc/normal.mod
>
> $tftproot/boot/grub/i386-pc/grub.cfg has
> source boot/grub/grub.cfg
>
> What did this break?
Hard to tell without knowing what previous version was. I'm afraid in
this case your only possibility is to bisect (man git-bisect) to find
commit that broke things.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-08 5:22 ` Andrey Borzenkov
@ 2014-06-09 5:20 ` Beeblebrox
2014-06-23 19:39 ` Beeblebrox
0 siblings, 1 reply; 10+ messages in thread
From: Beeblebrox @ 2014-06-09 5:20 UTC (permalink / raw)
To: Andrey Borzenkov; +Cc: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 1977 bytes --]
Hi Andrey,
Hard to tell without knowing what previous version was. I'm afraid in
> this case your only possibility is to bisect (man git-bisect) to find
> commit that broke things.
>
I went all the way back to Jan 2014 to find a working build as starting
point (git branch <name> && git reset --hard <rev>). None of them worked.
The last working Grub binary was from mid-March (I can tell from the folder
creation dates on the system).
I had also been forced to switch from Grub to BTX on the main system about
a month ago, because Grub was not able to boot my ZFS system (I had to go
through a complex rescue).
It makes me wonder whether there is some error injected into the Grub
compile by FreeBSD-11? Does not make much sense, but I thought it might be
worth considering. Are there any compile flags worth trying?
MESSAGE FROM "./autogen.sh USE_GCC=any --disable-efiemu"
/usr/local/share/aclocal/path_dps.m4:202: warning: underquoted definition
of AC_PATH
_GNUSTEP
/usr/local/share/aclocal/path_dps.m4:202: run info Automake 'Extending
aclocal'
/usr/local/share/aclocal/path_dps.m4:202: or see
http://www.gnu.org/software/autom
/automake.html#Extending-aclocal
autoreconf-2.69: configure.ac: tracing
autoreconf-2.69: configure.ac: AM_GNU_GETTEXT is used, but not
AM_GNU_GETTEXT_VERSIO
autoreconf-2.69: configure.ac: not using Libtool
RESULT OF "./configure USE_GCC=any --disable-efiemu"
GRUB2 will be compiled with following components:
Platform: i386-pc
With devmapper support: No (need libdevmapper header)
With memory debugging: No
With disk cache statistics: No
With boot time statistics: No
efiemu runtime: No (explicitly disabled)
grub-mkfont: Yes
grub-mount: No (need FUSE library)
starfield theme: No (No DejaVu found)
With libzfs support: No (need zfs library)
Build-time grub-mkfont: No (no fonts)
Without unifont (no build-time grub-mkfont)
With liblzma from -llzma (support for XZ-compressed mips images)
Then gmake runs and completes without error.
[-- Attachment #2: Type: text/html, Size: 2998 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-09 5:20 ` Beeblebrox
@ 2014-06-23 19:39 ` Beeblebrox
2014-06-24 15:19 ` Beeblebrox
0 siblings, 1 reply; 10+ messages in thread
From: Beeblebrox @ 2014-06-23 19:39 UTC (permalink / raw)
To: The development of GNU GRUB
I just now updated to latest in trunk, then deleted the gub/i386-pc
folder and reinstalled with "grub-mknetdir --net-directory=/path/to"
At first the PXE-boot process breaks with
"Error message: File not found", because the i386-pc folder has perm
700 root:wheel. Only after chmod 755 does that error go away. But, the
grub boot process is now showing a new message when it fails:
error: Access violation \ Entering rescue mode... \ grub rescue>
I ran wireshark during grub-pxe to see where the process was failing.
Does the below finding mean anything?
90 7.084908000 192.168.2.1 (tftp root) 192.168.2.34 (pxe client) TFTP
63 Error Code, Code: Access violation, Message: Access violation
Source File: //boot/grub/i386-pc/normal.mod
Opcode: Error Code (5)
Error code: Access violation (2)
ls -la i386-pc/normal.mod > -r--r--r-- 1 root wheel
I wanted to make sure that file permission was not the reason so I
did "chmod -R 777 i386-pc". This gave the same violation error.
Also, why does grub-mknetdir create a 700 folder? Is the folder user
supposed to be _dhcp or some other daemon?
Regards.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-23 19:39 ` Beeblebrox
@ 2014-06-24 15:19 ` Beeblebrox
2014-06-25 17:36 ` Andrey Borzenkov
2014-06-26 15:58 ` Andrey Borzenkov
0 siblings, 2 replies; 10+ messages in thread
From: Beeblebrox @ 2014-06-24 15:19 UTC (permalink / raw)
To: The development of GNU GRUB
Is it possible my findings below show that PXE booting on grub2 (trunk)
when compiled and running on FreeBSD is broken?
* When isc-dhcpd.conf has "grub/i386-pc/core.0" as filename, wireshark
shows abort due to "file not found: grub/i386-pc/normal.mod".
* From linux laptop, "tfpt 192.168.2.1" then
"tftp> get grub/i386-pc/normal.mod" =>
file downloads without problem. Also, any other file in the (-s) path of tftp server gets downloaded.
* When isc-dhcpd.conf has "pxeboot" as filename (the BTX equivalent of
core.0), BTX menu gets displayed, allowing next step for boot.
--
FreeBSD_amd64_11-Current_RadeonKMS
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-24 15:19 ` Beeblebrox
@ 2014-06-25 17:36 ` Andrey Borzenkov
2014-06-26 15:58 ` Andrey Borzenkov
1 sibling, 0 replies; 10+ messages in thread
From: Andrey Borzenkov @ 2014-06-25 17:36 UTC (permalink / raw)
To: The development of GNU GRUB; +Cc: zaphod
В Tue, 24 Jun 2014 18:19:00 +0300
Beeblebrox <zaphod@berentweb.com> пишет:
> Is it possible my findings below show that PXE booting on grub2 (trunk)
> when compiled and running on FreeBSD is broken?
>
> * When isc-dhcpd.conf has "grub/i386-pc/core.0" as filename, wireshark
> shows abort due to "file not found: grub/i386-pc/normal.mod".
> * From linux laptop, "tfpt 192.168.2.1" then
> "tftp> get grub/i386-pc/normal.mod" =>
> file downloads without problem. Also, any other file in the (-s) path of tftp server gets downloaded.
> * When isc-dhcpd.conf has "pxeboot" as filename (the BTX equivalent of
> core.0), BTX menu gets displayed, allowing next step for boot.
>
Could you make available full tcpdump/tshark trace of both cases? With
capture size 1500 so it captures full packets?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-24 15:19 ` Beeblebrox
2014-06-25 17:36 ` Andrey Borzenkov
@ 2014-06-26 15:58 ` Andrey Borzenkov
2014-06-27 6:26 ` Beeblebrox
1 sibling, 1 reply; 10+ messages in thread
From: Andrey Borzenkov @ 2014-06-26 15:58 UTC (permalink / raw)
To: The development of GNU GRUB; +Cc: zaphod
В Tue, 24 Jun 2014 18:19:00 +0300
Beeblebrox <zaphod@berentweb.com> пишет:
> Is it possible my findings below show that PXE booting on grub2 (trunk)
> when compiled and running on FreeBSD is broken?
>
> * When isc-dhcpd.conf has "grub/i386-pc/core.0" as filename, wireshark
> shows abort due to "file not found: grub/i386-pc/normal.mod".
> * From linux laptop, "tfpt 192.168.2.1" then
> "tftp> get grub/i386-pc/normal.mod" =>
> file downloads without problem.
How did you create your netboot directory and grub image? Your grub
requests /boot/grub/i386-pc/normal.mod, *NOT* grub/i386-pc/normal.mod.
It has wrong prefix.
> Also, any other file in the (-s) path of tftp server gets downloaded.
> * When isc-dhcpd.conf has "pxeboot" as filename (the BTX equivalent of
> core.0), BTX menu gets displayed, allowing next step for boot.
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-26 15:58 ` Andrey Borzenkov
@ 2014-06-27 6:26 ` Beeblebrox
2014-06-27 16:08 ` Andrey Borzenkov
0 siblings, 1 reply; 10+ messages in thread
From: Beeblebrox @ 2014-06-27 6:26 UTC (permalink / raw)
To: Andrey Borzenkov; +Cc: The development of GNU GRUB
> How did you create your netboot directory and grub image? Your grub
> requests /boot/grub/i386-pc/normal.mod, *NOT* grub/i386-pc/normal.mod.
> It has wrong prefix.
my tftp & dhcp are running in a jail (consider it like a VM) and the
jail(VM)'s root (data/amd64) is NFS exported so that it can be mounted
as " / ro ".
My settings for tftp & dhcp:
tftp: -s /boot
dhcp for Grub: filename "grub/i386-pc/core.0";
dhcp for btx: filename "pxeboot";
As far as boot sequence goes, the tftp + dhcp combined path as
"/boot/grub/i386-pc/core.0" should be correct? Netboot dir made as:
cd /data/amd64 && grub-mknetdir --net-directory=./
Regards.
--
FreeBSD_amd64_11-Current_RadeonKMS
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-27 6:26 ` Beeblebrox
@ 2014-06-27 16:08 ` Andrey Borzenkov
2014-07-02 6:24 ` Beeblebrox
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Borzenkov @ 2014-06-27 16:08 UTC (permalink / raw)
To: Beeblebrox; +Cc: The development of GNU GRUB
В Fri, 27 Jun 2014 09:26:05 +0300
Beeblebrox <zaphod@berentweb.com> пишет:
>
> > How did you create your netboot directory and grub image? Your grub
> > requests /boot/grub/i386-pc/normal.mod, *NOT* grub/i386-pc/normal.mod.
> > It has wrong prefix.
>
> my tftp & dhcp are running in a jail (consider it like a VM) and the
> jail(VM)'s root (data/amd64) is NFS exported so that it can be mounted
> as " / ro ".
>
> My settings for tftp & dhcp:
> tftp: -s /boot
> dhcp for Grub: filename "grub/i386-pc/core.0";
> dhcp for btx: filename "pxeboot";
>
> As far as boot sequence goes, the tftp + dhcp combined path as
> "/boot/grub/i386-pc/core.0" should be correct?
This path should be accessible by your tftp server. It is unlikely that
both paths are correct.
> Netboot dir made as:
> cd /data/amd64 && grub-mknetdir --net-directory=./
>
How /data/amd64 is related to /boot which is your tftp root?
grub-mknetdir should have printed exact instructions how you need to
configure your boot server; but it assumes that --net-directory points
to your tftp server root.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PXE-Grub has no menu - File not found
2014-06-27 16:08 ` Andrey Borzenkov
@ 2014-07-02 6:24 ` Beeblebrox
0 siblings, 0 replies; 10+ messages in thread
From: Beeblebrox @ 2014-07-02 6:24 UTC (permalink / raw)
Cc: The development of GNU GRUB
I solved the problems and I just wanted to update the thread on how it
was done.
1. With my folder dhcp/tftp structure, the way to issue the mknetdir is
by including the "sub-directory" flag. This works:
cd /jail_or_vm/root/folder && grub-mknetdir --net-directory=./boot
--subdir=grub
2. For direct-booting FreeBSD from Grub (without BTX chainload), the
FreeBSD kernel must be build with BOOTP options. This is because BTX
apparently natively includes this code while Grub does not. Rebuild
kernel after enabling:
options BOOTP # Needed for non-btx PXE
options BOOTP_NFSROOT # Needed for non-btx PXE
Regards.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-07-02 6:25 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-07 18:11 PXE-Grub has no menu - File not found Beeblebrox
2014-06-08 5:22 ` Andrey Borzenkov
2014-06-09 5:20 ` Beeblebrox
2014-06-23 19:39 ` Beeblebrox
2014-06-24 15:19 ` Beeblebrox
2014-06-25 17:36 ` Andrey Borzenkov
2014-06-26 15:58 ` Andrey Borzenkov
2014-06-27 6:26 ` Beeblebrox
2014-06-27 16:08 ` Andrey Borzenkov
2014-07-02 6:24 ` Beeblebrox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).