El 27/02/15 a las 20:19, Andrei Borzenkov escribió:
If your intention is to build dual-platform support, you probably
misunderstood what I said earlier. You need to build and install grub
twice for two different platforms USING THE SAME PREFIX AND PROGRAM
NAME. It appears you built it twice but placed in two different
locations, so you can now only use one of them at a time.
You should have something like
bor@opensuse:~/src/grub> LC_ALL=C ll /usr/lib/grub2
total 40
drwxr-xr-x 2 root root 20480 Nov 8 07:54 i386-pc
drwxr-xr-x 2 root root 20480 Nov 8 08:05 x86_64-efi
Now replace /usr/lib with /usr/local/lib, i.e. you have to build
and install twice using
./configure --prefix=/usr/local --with-platform=pc
./configure --prefix=/usr/local --with-platform=efi
I know that John Frankish wants a minimal system and not what
grub-mkrescue does by default (trying to get as most as possible so that
everything works). I just wanted to contribute with the scripts we use
at Super Grub2 Disk which build and install grub twice for different
platform using the same prefix and program as Andrei suggests.
Prepare all the build directories by downloading from upstream git:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=grub-build-001-prepare-build;h=9763a90c8110b88f9927ba8e006efd531a2d612f;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
Make sure to get the correct revision:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=grub-build-002-clean-and-update;h=5ab15348dd8b36346a3ee08c4dd6dc2fb1b3db18;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
Build each of the one of the buildings in its own directories:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=grub-build-003-build-all;h=11628a3a33a4c0149fe989220f813cc9a6e9f10c;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
Install the former grub building into their own install directories:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=grub-build-004-install-all;h=84467cd8195a47e37ad778e5e30d44a85073bd1b;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
Now if you want to build your grub disk, either you use, the simple
build script which defaults to hybrid one (hybrid meaning bios + efi):
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=supergrub-mkrescue;h=6d49987b1dc6d978bacdfcd6ebb742b556655035;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
or you use the long script which builds for: hybrid, x86_64_efi only and
i386_pc only:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=supergrub-meta-mkrescue;h=f3e5b66690e633fac53ea70497e52bd52a7e67d5;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
Taking a look at this file might be also handy so that you can take a
look at the directories layout:
https://forja.cenatic.es/plugins/scmgit/cgi-bin/gitweb.cgi?p=supergrub2/supergrub2.git;a=blob;f=grub-build-config;h=44715833b4b6d644849f3eb9d0eafa756763a448;hb=2a02a7a8fa077d18bbf9be06931702be0400000b
The best thing about this procedure is that it uses non system
directories so it does not conflict with your working grub installation.
Hope they help you understand what you need to do a full working
bios+efi and then trying to make it smaller.
We are also interested on a minimal image for, probably, the i386_pc
release so that it can fit into a floppy. It's not a priority by now
but, please, share here your conclusions so that we can take advantage
of them later. The minimal image for floppy is not a priority of mine
though.
I think I already mentioned these scripts but it was the time when there
was not an appropiated script for building Super Grub2 Disk in them.
adrian15
--
Support free software. Donate to Super Grub Disk. Apoya el software
libre. Dona a Super Grub Disk. http://www.supergrubdisk.org/donate/
_______________________________________________
Help-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-grub