Hello, building Grub from source on FreeBSD with
./autogen.sh --disable-efiemu --disable-nls
./configure --disable-efiemu --disable-nls
The resulting config is below
GRUB2 will be compiled with following components:
Platform: i386-pc
With devmapper support: No (need libdevmapper header)
With memo
I got the Gparted ISO to boot, although in a bit roun-about way:
menuentry 'Gparted i386' {
set root="http,192.168.2.100"
set isofile="gparted-live-0.19.0-beta1-3-i486.iso"
loopback loop0 ($root)$isofile
linux (loop0)/live/vmlinuz boot=live config noswap noprompt verbose noeject
fetch=htt
Hi Andrei, thanks for the answer.
> You need to tell your kernel/initrd where to find ISO and it should be
> able to fetch data from it via HTTP.
I was advised on debian-live, "if ISO contains httpfs, you can boot by pointing
the live initramfs to the iso location on your web server"; essentiall
Hi.
I'm trying to boot several live ISO's using my PXE-boot server and Grub
loopback. ISO's are fetched by Grub from an HTTP server on the same host.
* I can boot the kernels of all live ISO's through PXE+HTTP transfer.
* Boot process fails at mount-root stage, where rootfs will obviously be
moun
> > * First is, code snippet to get mount_root to use NFS V3 instead of
> > V2. grub.cfg code should be as below, but does not work
> This should be kFreeBSD
Still does not work with
{set kFreeBSD.boot.nfsroot.options="nfsv3"}
mount_root this time does not hang, but resulting mounted root i
I have two separate issues involving the {kfreebsd} code in grub.cfg:
* First is, code snippet to get mount_root to use NFS V3 instead of V2. The
code for this in FreeBSD's /boot/loader.conf is: {boot-nfsroot-options=“nfsv3”}
The comparable grub.cfg code should be as below, but does not work (mo
Hi Andrey,
> Could you test current master, it should fix it.
Compiles & installs very nicely now.
Used clang compiler (did not invoke USE_GCC=any)
Thanks & regards.
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/
> And your compiler and version is ... ?
What I posted previously was from (clang version 3.4.1)
When I use gcc (gcc version 4.8.3) by invoking "USE_GCC=any", the error is:
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include
-DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -m32 -DGR
Git repo is at latest head. compile fails due to "missing field 'components'
initializer":
gmake[2]: Entering directory '/asp/git/grub/grub-core'
gmake all-am
gmake[3]: Entering directory '/asp/git/grub/grub-core'
cc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include
-DGRUB_MACHINE_P
> So please try to bisect grub to find which commit broke it. The last
> commit related to zfs was Wed Dec 18 23:39:49 2013 so it must be
> something else (or something changed in your environment - compiler,
> linker ...)
That's not the issue - the commit that "broke it" was a zpool upgrade some
> Fixed but how did you manage to not have grub-probe?
Sorry, what?
Did you mean gnu_gettext? (it's installed)
> > 2. grub no longer recognizes latest version of zfs file systems
> > # grub-probe -d dev/ada1p1 =>
> > grub-probe: error: unknown filesystem.
> Do you mean - it recognized it before
1. gettext is consistently problematic on Freebsd:
# grub-mkconfig -o output.file =>
grub-mkconfig: gettext_print: not found
2. grub no longer recognizes latest version of zfs file systems
# grub-probe -d dev/ada1p1 =>
grub-probe: error: unknown filesystem.
--
FreeBSD_amd64_11-Current_RadeonKMS
>> yes,but a local repo takes care of that. (and that repo can be the contents
>> of the cd)
>> extracting the kernel, initrd, cmdline and rootfs (I have done it with a
>> gparted iso))
All that work is just so not worth it. I'd rather do something else with my
time.
>> It is a monster, to ex
I got it partially working. The background image changes to Debian, but
it displays "press any key to continue.." then drops back to the main
Grub menu. So what am I doing wrong here?
menuentry "Debian-Jesse-i386-lxde" --class gnu-linux --class gnu
--class os {
set thtp="http,192.168.2.100"
s
> GRUB has isolinux config parser.
Is there any link to usage with examples? The Grub manual does not
mention it & all I could find was from osdetect.cfg:
syslinux_configfile -i /isolinux/isolinux.cfg
Which still isn't much to go on.
--
FreeBSD_amd64_11-Current_RadeonKMS
___
Is there a method to chainload from grub2 -> grub_older
and grub2 -> isolinux?
Most live-cd's use an isolinux configuration with many menu items
embedded in the isolinux layer.
Instead of spending time trying to guess at these, a chainload boot
would be most helpful.
Thanks and Regards.
--
Fre
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 dire
> 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
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" the
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 err
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 && git reset --hard ).
Hi.
It looks like a PR was in fact filed: https://savannah.gnu.org/bugs/?41447
Is there anything I should add to it? Seems prety complete.
Before my other reported problem, I had gotten FreeBSD to boot with this
entry. If I can figure out how to load kernel module from grub, I won't
need to chainl
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 fail
I was just preparing this email when yours arrived.
The example below does not work either - client just reboots.
The module in my grub/i386-pc folder is named pxechain, so I have corrected
the insmod to that.
menuentry 'FreeBSD amd64' --class freebsd --class bsd --class os {
insmod pxechain
pxech
>
> Did you try pxechainloader instead? It should leave working PXE
> environment.
>
Ah, very interesting. I have that file in the grub folder, but how / where
is it invoked from? dhcp.conf has:
{next-server 192.168.2.1;
filename "grub/i386-pc/core.0";}
You are NOT suggesting modification to this
>
> I must also boot FreeBSD on NFS via TFTP (not HTTP), but this won't work:
> menuentry 'FreeBSD chainload BTX' {
>kfreebsd boot/loader
>
or kfreebsd boot/pxeboot }
>
This is because the BTX loader has not been booted in PXE mode and has no
record of available PXE devices. Booting
>
> set root=http,192.168.2.1
> loopback loop0 ($root)/tftp/$isofile
>
Thank you - that was very useful and solves the iso-boot problem.
I must also boot FreeBSD on NFS via TFTP (not HTTP), but this won't work:
menuentry 'FreeBSD chainload BTX' {
kfreebsd boot/loader }
It's probably bec
Hello.
It seems I misunderstood the article I had referenced. I emailed the author
of that article for clarification and his response (partially) is below. My
apologies to the members of the list for this mistake I have made.
"Actually, the kernel there is being loaded by TFTP, although HTTP can a
Hello Andrey,
The linked article, under the "Advanced Options" title (just past middle of
page) covers two interesting aspects of non-tftp transfer alternatives.
One is "Faster Transfers With HTTP",
The other is NFS.
Neither method / description has anything to do with issue of mount_nfs
after th
In a previous discussion on this list, I was advised grub does not boot
over NFS, and that it must use TFTP only.
I had asked the questionn because of this article [
http://www.wonkity.com/~wblock/docs/html/pxe.html) where it states:
gpxelinux.0 from the SYSLINUX project will be used as a PXE boo
>> This doesn't seem to be a GRUB problem at all. I use tftpd which serves
from /var/tftpd
You are right, it is not a GRUB problem; it's a folder structure error
in the way I approached the problem.
>> boot/grub ($prefix) is where grub.cfg goes. Judging from your first
>> question, is it possible
Since I got grub's pxe set to go, I have started to try the ideas & solutions.
* Answer to my first question from previous post (I don't see a way
where tftp-server would be able to serve-up the grub menu if it were
in say /data/tftp path?): This seems not possible. TFTPD cannot chroot
(-s) unless
OK, I'll try it. But I need clarification:
* Should I copy the repo and do a git rollback on the copy?
* Easier to copy only grub/docs to another folder, but how do I start
the build then? The Makefile in grub/docs will fail just as when run
from top-level.
>> just copy grub.texi over
>From my cu
> Did earlier versions grub.texi compiled?
Yes, earlier versions of grub.texi did compile.
> Setup build tree outside of git checkout and just copy
> grub.texi over; it is self contained.
It's OK, I don't need it really. Unless you need me to test and get
back to you with results.
___
>> Found the problem. Either use -d or upgrade.
The -d flag did not work (gave error), so I I upgraded. Works now!
# grub-mknetdir --net-directory=/data/tftp --subdir=boot
Netboot directory for i386-pc created. Configure your DHCP server to
point to /data/tftp/boot/i386-pc/core.0
The DHCP messag
>> Or just update to current trunk, I committed this patch.
Updated to trunk, it all works & gets compiled.
Still have to manually clean out the "docs" references in Makefile however.
Thanks for the swift work.
___
Grub-devel mailing list
Grub-devel@gn
# grub-mknetdir -v => no output
dmesg shows nothing
ls -la /usr/local/bin/grub-mknetdir
-rwxr-xr-x 1 root wheel 444009 Nov 24 17:53 grub-mknetdir*
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
I tried as suggested,
# grub-mknetdir --net-directory=/data/tftp --subdir=boot
And no files were plced in /data/tftp/boot
I did not see the relevance, but I also tried,
# grub-mknetdir --net-directory=/data/tftp --subdir=boot /dev/ada0
grub-mknetdir: Too many arguments
Try 'grub-mknetdir --help' o
Hello.
I have built and installed Grub from trunk (lbeit without docs and
efiemu, which I don't need). I have also installed the boot code and
have booted from grub. Here are my results:
* grub-probe correctly identifies partitions as ZFS.
* grub-mkconfig correctly generates a config file and has t
* Is there a way to compile without docs? This does not work:
./configure --disable-werror --disable-nls --disable-docs
* I disabled the docs section manually in grub/Makefile. gmake
completed but still with warning:
/usr/bin/ld: unrecognised emulation mode: elf_x86_64
Supported emulations: elf_x8
Using grub-trunk. My PXE boot environment is a little different:
* FreeBSD_amd64 jail on /data/amd64, serving dhcp & tftp from jail.
NFS-related (rpcbind, nfsd, mountd) being served from host (trivial
detail). Jail IP is 192.168.2.1
* Once PXE client obtains IP, the tftp-server needs to find Grub'
It seems I made a mistake in my previous post. I should have included
a previous warning code as well (just in case.)Correction as to where
compile breaks:
cc -DHAVE_CONFIG_H -I../grub-core/efiemu/runtime
-DGRUB_FILE=\"efiemu/runtime/efiemu.S\" -I. -I. -I.. -I.. -I../include
-I../include -I../g
More progress, but other problem. Compile passed through previous
error but breaks when building docs (which I really don't need).
Breaks at:
Making all in docs
gmake[2]: Entering directory `/asp/git/grub/docs'
Updating ./version.texi
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${
Applied the diff but got error elsewhere. Git repo on
1bba40f57813c2ccf790e6aca8b96292634b04ca
Date: Sat Nov 23 12:39:21 2013 +0100
FreeBSD 11.0-CURRENT_amd64
config.status: creating grub-shell
chmod a+x grub-shell
(for x in tests/util/grub-shell-tester.in ; do cat ./"$x"; done) |
./config.statu
The patched file is giving me an error. I tried patching several
times, but keep getting same error. Most likely some stupid error on
my part:
grub-core/osdep/unix/platform.c:43:4: error: expected expression
FILE *fp = fdopen (fd, "r");
^
grub-core/osdep/unix/platform.c:44:20: error: expected
config.log re-sent as link, as requested by mail list admin (file too large)
https://drive.google.com/file/d/0Bxs_eepbMt6qejJBZVQyZngtdTA/edit?usp=sharing
Regards.
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/gr
@ Vladimir:
>> Please attach your config.log
Enclosed as requested (for latest run)
A new problem: I updated the git repo to latest and tried to re-build.
Build was started with:
./autogen.sh USE_GCC=any --disable-werror
./configure USE_GCC=any --disable-werror
gmake USE_GCC=any
However, compile f
@ Vladimir:
>> This is not quite what I asked. Please attach your config.log
Apologies, I did not see that request.
Anyway, I ran per your suggestion:
$ ./autogen.sh --disable-werror --target i386-freebsd
$ ./configure --disable-werror --target i386-freebsd
$ gmake
Compile completed cleanly, and
>>Did you rerun ./autogen.sh?
I ran gmake clean and cleaned all conig folders, then re-started
from scratch.
>>What is the value of your target_os ?
Build, host & target are all the same. I tried setting all 3 as
i386-freebsd for one of my runs, but that did not work.
Otherwise, I did not set
] Error 1
gmake[3]: Leaving directory `/asp/git/grub/grub-core'
On 11/5/13, Beeblebrox wrote:
>>> Unrelated. float and double poisoning is OS-independent.
>
> Thank you - I really appreciate that information.
> Is there anything you would like me to do re
> Supported e
>> Unrelated. float and double poisoning is OS-independent.
Thank you - I really appreciate that information.
Is there anything you would like me to do re
Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
Or will you be pushing a code revision into trunk?
Regards.
__
Another slight problem. Updated the GIT repo to latest,
$ gmake clean && /autogen.sh --disable-werror && ./configure --disable-werror
$ gmake =>
/usr/bin/ld: unrecognised emulation mode: elf_i386
Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
gmake[3]: *** [disk.module] Error 1
gmake[3]: Lea
>> /usr/include/machine/_types.h:65: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '__double_t'
>> /usr/include/machine/_types.h:66: error: expected '=', ',', ';', 'asm'
>> or '__attribute__' before '__float_t'
>You system headers do something stupid: they use float/double in
>s
Per your suggestion, I ran:
$ ./autogen.sh --disable-werror
$ ./configure --disable-werror
$ gmake => breaks with below. (also tried with $ gmake -Wno-error).
Where to go from here?
gmake all-am
gmake[3]: Entering directory `/asp/git/grub/grub-core'
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../i
>> cc1: warnings being treated as errors
>> grub_script.yy.c: In function 'yy_scan_bytes':
>> grub_script.yy.c:2298: warning: comparison between signed and unsigned
>
> It is a flex bug which is hidden on platforms where sizeof(size_t) >
> sizeof(int).
Nothing I can do about flex, so then I just w
> What are sizes of size_t and int on your platform?
My system is amd4 running FreeBSD-9.2
If you require more information please instruct code to run from CLI for that.
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listin
switched local repo to git (git://git.savannah.gnu.org/grub.git)
Compile error persists as advised in previous mail
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
I did not have time to play around with trunk/grub for a while so was
not able to follow-up on the discussion. Continuing from last month's
topic:
> Flex version 2.5.4 is less than 2.3.35.
2.5 is > 2.3
The problem was answered by the port maintainer for me:
"FreeBSD includes an older version of Fl
>> I dare to guess - install zfs library.
My system is FreeBSD - separate zfs library is a linuxism, since in
FreeBSD zfs is part of base source (/usr/src) and vannot be installed
as a separate package unlike in linux.
If you mean here that grub has separate zfslib source code, I have not found i
I had tried to build from source several months back, and had a
discussion on the FreeBSD mail list about the issue. The problem was
that the config is set as no_libzfs_support. What is the way to
correct this (need zfs library)?)
GRUB2 will be compiled with following components:
Platform: i386-pc
How can I checkout/download grub trunk?
Is bzr the only option (http://bzr.savannah.gnu.org/r/grub/trunk/grub/)?
Or is there any other alternative including svn, git, tarball?
An alternative, even if not the latest version of what is in trunk,
would be acceptable.
@Andrey:
>> Should not it be (hd0,gpt2)/bsds@/boot/kernel/kernel
Tried that also, same error
@Vladimir:
>> Please reread what Andrey said. poolname is not part of the path.
Somehow, I missed Andrey's answer...
I don't understand however, how "poolname is not part of path". If we
have tank0 as pool
Massimo:
>> should be written as (hd0,gpt2)/mydataset/@/myfolder/myfile.
Yes, of course - I made the mistake because I was in a hurry writing
the mail. My current & corrected menu choices are:
menuentry "Test1-BSD-ZFS Direct-Boot" {
insmod zfs
search -s -l bsds
set root='hd0,gpt2'
>> This doesn't demonstrate anything else than that you didn't use tools
correctly. It's: grub-probe -d /dev/ada0p2
Thank you very much - I ran the command you instructed and see that
the FS is identified correctly.
$ grub-probe -d /dev/ada0p2
zfs
I cannot, however, boot from grub directly into
Where would be the correct place (forum, list, etc) to get help on this issue?
(getting grub2 to recognize and boot from FreeBSD ZFS zpools)
Regards.
On Fri, Aug 30, 2013 at 10:23 AM, Raif S. Berent wrote:
> My system is FreeBSD_9.2-stable_amd64_HDD-layout=GPT
> grub version=grub2-2.00_1, and gru
flashing the bios from dos-booted USB drive is probably risky.
Thanks and regards.
On Sat, Aug 31, 2013 at 7:42 AM, Andrey Borzenkov wrote:
> В Wed, 28 Aug 2013 12:04:31 +0300
> Beeblebrox пишет:
>
>> I would like to know if the following is possible:
>>
>> * USB thumb dr
Len & Vladimir:
I just sent a repeat of the first message by mistake - please disregard.
>> You are trying to make it way too complicated. DOS doesn't like
complicated.
I'm fine with that. I just went about it in that manner because I was not
very sure how to get this done and more or less fumbl
I would like to know if the following is possible:
* USB thumb drive has grub-1.98 on hd(0,1) gpt layout (boot-bios is hd0,2)
* hd(0,1)/boot/freedos has files
autoexec.bat, command.com, config.sys, kernel.sys, sys.com
Un-tarred from freedos FDOEM.144 and copied into folder
* Boot into USB drive's
I would like to know if the following is possible:
* USB thumb drive has grub-1.98 on hd(0,1) gpt layout (boot-bios is hd0,2)
* hd(0,1)/boot/freedos has files
autoexec.bat, command.com, config.sys, kernel.sys, sys.com
Un-tarred from freedos FDOEM.144 and copied into folder
* Boot into USB drive's
69 matches
Mail list logo