On 2017-12-06 13:28, Peter Humphrey wrote:
On Sunday, 3 December 2017 15:12:21 GMT Mick wrote:
On 03-12-2017 ,10:57:33, Peter Humphrey wrote:
> On Saturday, 2 December 2017 12:30:57 GMT Mick wrote:
> > I'm getting this error after I changed my profile as per
> > '2017-11-30-new-17-
> >
> > profiles' news item:
> > >>> Compiling source in
> > >>> /data/tmp_var/portage/sys-boot/grub-0.97-r16/work/
>
> [...]
>
> > However, sys-boot/grub-0.97-r17 installed fine once keyworded on this
> > (mostly) stable system.  This may save time for others who come across
> > the same problem.
> sys-boot/grub-0.97-r17
> It has. Thanks Mick.

Unfortunately, an older system with only 50MB /boot partition did not
have enough space to allow sys-boot/grub-0.97-r17 to install all its
files and fs drivers. I ended up restoring /boot from a back up. YMMV.

I spoke too soon, too. Sys-boot/grub-0.97-r17 compiled and installed all right, as a package, but when I went to install it to the MBR I got an error
complaining of a mismatch or corruption in stage X. The wording was
something like that, and I forget the value of X. There was no mention of disk space, and the boot partition is 2GB, so I think it's something else.

Installing sys-boot/grub-static-0.97-r12 instead went smoothly, so I've left
it like that for the moment.

Does the team think I should go back to grub-0.97-r17, take proper records
and file a bug report?

I question if this makes sense for a masked ebuild.

I'm curious about what was discussed until now. The issue seems to be quite simple to solve.

The build fails but portage/gcc does give clear info in this case: the option "-nopie" have to be changed to "-no-pie". This option is set in 860_all_grub-0.97-pie.patch. Here is a diff:

--- a/860_all_grub-0.97-pie.patch 2012-05-31 01:00:13.000000000 +0200 +++ b/860_all_grub-0.97-pie.patch 2017-12-07 11:28:57.536089642 +0100
@@ -17,8 +17,8 @@
 +            grub_cv_cc_fpie=no)
 +    ])
 +    if test "x$grub_cv_cc_fpie" = xyes; then
-+      STAGE1_CFLAGS="$STAGE1_CFLAGS -nopie"
-+      STAGE2_CFLAGS="$STAGE2_CFLAGS -nopie"
++      STAGE1_CFLAGS="$STAGE1_CFLAGS -no-pie"
++      STAGE2_CFLAGS="$STAGE2_CFLAGS -no-pie"
 +    fi
    fi
  fi

Maybe the easiest way is to create a new grub-patches package, but there are other ways to change this too. I'm expected the upstream will change this soon - within the remaining 5 weeks ;-).

Another thing is I question that grub-legacy have to be rebuild at all. I'm pretty sure it is save to remove it from the world file or comment it out.

Anyhow, upgrading to grub2 is IMHO the right way. There are some examples given in parallel threads how to write a grub.cfg by hand - and keep it simple :-). Then nothing else then the grub2 binary and grub2-install is required usually.

Kai
--
Sent with eQmail-1.10

Reply via email to