View previous topic :: View next topic |
Author |
Message |
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Feb 04, 2005 4:14 pm Post subject: E-build for LILO |
|
|
I e-mailed the project leader for LILO and asked if the sources for LILO for 64 systems could be developed, here's what he said:
Code: | At 07:39 AM 2/4/2005, you wrote:
> I have an AMD64 bit laptop. There are quite a few people who have 64 bit processors who would like to use LILO as well:
> http://forums.gentoo.org/viewtopic.php?p=2055546#2055546
>
> Is there anything I can do to help you develop 64 bit sources for LILO?
1. The 32-bit version executes fine on 64-bit systems, I've been told.
2. The current source code should compile fine on 64-bit systems. About two versions ago I had a correspondent who checked this for me, after extensive edits of declarations to get all the data sizes correct on 64-bit 'gcc'.
See the links below for the current source code.
--John
PGP KeyID: 6781C9C8 (good until 31-Dec-2008)
Keyserver at ldap://keyserver.pgp.com
LILO links at http://freshmeat.net/projects/lilo
and Help link at http://lilo.go.dyndns.org |
So there's no reason we shouldn't be able to create an e-build. Should I ask about the GCC flags? Or does someone here wanna volunteer the time to experiment? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Feb 04, 2005 5:30 pm Post subject: |
|
|
Here's the content of the latest e-build file for Gentoo on the 32 bit system (/usr/portage/lilo/lilo-22.6.1.ebuild):
Code: |
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-22.6.1.ebuild,v 1.2 2004/12/17 14:31:02 chainsaw Exp $
inherit eutils flag-o-matic toolchain-funcs
DOLILO_V="0.3"
IUSE="devmap static"
DESCRIPTION="Standard Linux boot loader"
HOMEPAGE="http://lilo.go.dyndns.org/pub/linux/lilo/"
DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2"
MY_P=${P}.src
SRC_URI="http://home.san.rr.com/johninsd/pub/linux/lilo/${MY_P}.tar.gz
ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/${MY_P}.tar.gz
ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/obsolete/${MY_P}.tar.gz
mirror://gentoo/${DOLILO_TAR}"
SLOT="0"
LICENSE="BSD GPL-2"
KEYWORDS="-* x86"
RDEPEND=">=sys-apps/sed-4
devmap? ( >=sys-libs/device-mapper-1.00.08 )"
DEPEND="${RDEPEND}
>=sys-devel/bin86-0.15.5"
PROVIDE="virtual/bootloader"
src_unpack() {
einfo "If you want to use lilo with device mapper, please enable the"
einfo "\"devmap\" USE flag."
unpack ${MY_P}.tar.gz
# Do not try and build the dos crap.
sed -i -e 's|^all:.*$|all: lilo|' ${S}/Makefile
# The bootlogo patch from SuSE linux, which was originally in
# here, has been dropped because it's no longer compatible
# with lilo since the 22.5.x series.
# Quequero has done a good attempt to port the patch in bug
# #19397, but unfortunately that breaks the timeout at boot.
# If you can overcome these problems, a patch is very welcome.
if use devmap; then
# devmapper-patch (boot on evms/lvm2)
cd ${S}; epatch ${FILESDIR}/${P}-devmapper_gentoo.patch
fi
cd ${S}
# Fix creating install dirs, bug #39405
epatch ${FILESDIR}/${P}-create-install-dirs.patch
# Correctly document commandline options -v and -V, bug #43554
epatch ${FILESDIR}/${P}-correct-usage-info.patch
# Get the manpage path right
sed -i -e s,usr/man,usr/share/man,g ${S}/Makefile
unpack ${DOLILO_TAR}
}
src_compile() {
# hardened automatic PIC plus PIE building should be suppressed
# because of assembler instructions that cannot be compiled PIC
HARDENED_CFLAGS="`test_flag -fno-pic` `test_flag -nopie`"
# we explicitly prevent the custom CFLAGS for stability reasons
if use static; then
emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo-static || die
mv lilo-static lilo || die
else
emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo || die
fi
}
src_install() {
keepdir /boot
make ROOT=${D} install || die
into /
dosbin ${S}/dolilo/dolilo
into /usr
dosbin keytab-lilo.pl
insinto /etc
newins ${FILESDIR}/lilo.conf lilo.conf.example
insinto /etc/conf.d
newins ${S}/dolilo/dolilo.conf.d dolilo.example
doman manPages/*.[5-8]
dodoc CHANGES COPYING INCOMPAT README*
docinto samples ; dodoc sample/*
}
# Check whether LILO is installed
# This function is from /usr/sbin/mkboot from debianutils, with copyright:
#
# Debian GNU/Linux
# Copyright 1996-1997 Guy Maor <maor@debian.org>
#
# Modified for Gentoo for use with the lilo ebuild by:
# Martin Schlemmer <azarah@gentoo.org> (16 Mar 2003)
#
lilocheck () {
local bootpart=
local rootpart="$(rdev 2> /dev/null | cut -d ' ' -f 1 2> /dev/null)"
echo
einfon "Checking for LILO ..."
if [ "$(whoami)" != "root" ]
then
echo; echo
eerror "Only root can check for LILO!"
return 1
fi
if [ -z "${rootpart}" ]
then
echo; echo
eerror "Could not determine root partition!"
return 1
fi
if [ ! -f /etc/lilo.conf -o ! -x /sbin/lilo ]
then
echo " No"
return 1
fi
bootpart="$(sed -n "s:^boot[ ]*=[ ]*\(.*\)[ ]*:\1:p" /etc/lilo.conf)"
if [ -z "${bootpart}" ]
then
# lilo defaults to current root when 'boot=' is not present
bootpart="${rootpart}"
fi
if ! dd if=${bootpart} ibs=16 count=1 2>&- | grep -q 'LILO'
then
echo; echo
ewarn "Yes, but I couldn't find a LILO signature on ${bootpart}"
ewarn "Check your /etc/lilo.conf, or run /sbin/lilo by hand."
return 1
fi
echo " Yes, on ${bootpart}"
return 0
}
pkg_postinst() {
if [ ! -e ${ROOT}/boot/boot.b -a ! -L ${ROOT}/boot/boot.b ]
then
[ -f "${ROOT}/boot/boot-menu.b" ] && \
ln -snf boot-menu.b ${ROOT}/boot/boot.b
fi
if [ "${ROOT}" = "/" ]
then
if lilocheck
then
einfo "Running DOLILO to complete the install ..."
# do not redirect to /dev/null because it may display some input
# prompt
/sbin/dolilo
if [ "$?" -ne 0 ]
then
echo
ewarn "Running /sbin/dolilo failed! Please check what the problem is"
ewarn "before your next reboot."
ebeep 5
epause 5
fi
fi
echo
fi
echo
einfo "Issue 'dolilo' instead of 'lilo' to have a friendly wrapper that"
einfo "handles mounting and unmounting /boot for you. It can do more then"
einfo "that when asked, edit /etc/conf.d/dolilo to harness it's full potential."
ebeep 5
epause 3
echo
}
|
I'm at work ATM, when I get home I can try this e-build on my system, but if anyone else wants to try this on their 64-bit system and let us know how it turns out, that would be great. Change the keywords to athlon64 or whatever, and give er a go. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
wbreeze n00b
Joined: 06 Aug 2003 Posts: 53 Location: Langley, BC
|
Posted: Sat Feb 12, 2005 7:29 pm Post subject: |
|
|
First Off, I've never created, modified, or to the best of my knowledge even looked at an an ebuild before, so keep that in mind before blindly following what I've done.
edited /usr/portage/sys-boot/lilo/lilo-22.6.1.ebuild
Code: |
changed
KEYWORDS="-* x86"
to
KEYWORDS="-* x86 amd64" |
edited /usr/portage/sys-devel/bin86/bin86-0.16.17.ebuild
Code: |
changed
KEYWORDS="-* ~x86"
to
KEYWORDS="-* ~x86 amd64" |
emerge lilo
and it seemed to install fine
I have no idea if it will boot yet, because this PC is at work and I'm at home.
One question: Was it a bad idea to install bin86 in 64bit mode? |
|
Back to top |
|
|
wbreeze n00b
Joined: 06 Aug 2003 Posts: 53 Location: Langley, BC
|
Posted: Tue Feb 15, 2005 5:24 am Post subject: |
|
|
!!!! My amd64 workstation now boots Gentoo and WinXP using lilo on a VIA raid0 !!!!
My only problems using lilo on this 64bit system were because of raid0 |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Thu Feb 17, 2005 2:03 pm Post subject: |
|
|
Sounds like a winner.... anyway we can get a dev to try this to verify? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
H3g3m0n Tux's lil' helper
Joined: 14 Dec 2002 Posts: 97
|
Posted: Mon Mar 14, 2005 5:11 am Post subject: |
|
|
bin86 won't compile for me
Code: | install: cannot stat 'ld/objdump86': No such file or directory |
|
|
Back to top |
|
|
LordArthas Guru
Joined: 01 Nov 2004 Posts: 500 Location: Maniago, Friûl, Italia
|
Posted: Mon Mar 14, 2005 10:55 am Post subject: |
|
|
Hi!
H3g3m0n wrote: | bin86 won't compile for me
Code: | install: cannot stat 'ld/objdump86': No such file or directory |
|
I'm experiencing exactly this same error.
At the moment I'm using a lilo excutable I "stole" from a x86 Slackware Linux, as with GRUB I'm unable to boot on this motherboard. It would be nice if a working LILO ebuild was avaialble.
Michele. |
|
Back to top |
|
|
wbreeze n00b
Joined: 06 Aug 2003 Posts: 53 Location: Langley, BC
|
Posted: Tue Mar 15, 2005 6:34 am Post subject: |
|
|
Hey, could one of you post a larger sample of the bin86 error?
I think that the same thing happened to me, but I dont fully remember. I'm hoping that seeing more might jog my memory. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Wed Mar 16, 2005 10:03 am Post subject: |
|
|
Here is my take on this. lilo is something you only use to run when you first install and when you rebuild the kernel or make changes to the boot options. So, the gentoo optimization would mean very little to this utility. Of course, getting it to build native on amd64 is beneficial in terms of skipping some extra step to get lilo to work on this platform but until then, an easy solution would be to use a bin-static package. So, that brings me to the question, why try to build it on your own and post it up for download when lilo's homepage already have a static-bin version available?
Get it here: http://home.san.rr.com/johninsd/pub/linux/lilo/lilo-22.6.1.binary-static.tar.gz
Works just fine for me. Just unpack at / should do the trick.
One thing I have notice on the bin86 error is that it looks like it is complaining about the wrong data size. Now that long int is 64bit I think in order to fix bin86 build is to port it to 64bit or compile it as 32bit apps. I have a feeling it is just a simple tweak to force it to build as 32bit. wbreeze, is that enough to jog your memory? _________________ Han. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Wed Mar 16, 2005 6:00 pm Post subject: |
|
|
After reading the Gentoo/AMD64 Installation Technotes again, I think the trick is to run the emerge as such: Code: | CFLAGS="-m32" emerge lilo | I can't try this now though because I am emerging world for a bunch of new useflag. Can someone try and verify?
I think in order for the lilo e-build to be accepted for AMD64, a section should be added to check if it is amd64 platform and add the '-m32' CFLAGS. Any takers? _________________ Han. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Thu Mar 17, 2005 4:23 pm Post subject: |
|
|
I have tried my own suggestion and it does not work. Further investigation indicates that at some point (way up) in the emerge bin86 output, there is an error complaining that ld can't find libc. It seems that there is a new problem with binutils.
wbreeze, which version of binutils/gcc you use to compile lilo? I have a hunch that the newer tools might have a bug that the version you use to build bin86 does not have.
Yes, I know I have said just use the static bin available from the lilo homepage. However, I do like a good challenge. Unfortunately, I am also not going anywhere fast with this. _________________ Han. |
|
Back to top |
|
|
platinumviper l33t
Joined: 12 Feb 2004 Posts: 649 Location: Munich, Germany
|
Posted: Fri Mar 18, 2005 2:05 am Post subject: |
|
|
H3g3m0n wrote: | bin86 won't compile for me
Code: | install: cannot stat 'ld/objdump86': No such file or directory |
|
In november 2004 it worked, but I think it was an error in a former portage-version. As objdump86 isn't needed to compile lilo, here is a very, very dirty workaround:
Emerge bin86, when you get the above error, as86 and ld86 are already compiled successfully, copy them to /usr/local/bin
Code: | cp /var/tmp/portage/bin86-0.16.17/work/bin86-0.16.17/as/as86 /usr/local/bin
cp /var/tmp/portage/bin86-0.16.17/work/bin86-0.16.17/ld/ld86 /usr/local/bin |
Remove the bin86-dependency from the lilo-ebuild (line 26), emerge lilo.
platinumviper _________________ No money back garantee. In case of problems, don't call us, we call you. |
|
Back to top |
|
|
wbreeze n00b
Joined: 06 Aug 2003 Posts: 53 Location: Langley, BC
|
Posted: Fri Mar 18, 2005 2:36 am Post subject: |
|
|
I didn't read the new posts until I got home, and my amd is at work sitting in windows so I'll have to try and remember to check those versions for you tomorrow. I still dont remember how I managed it, but it certainly wasn't anything like what Platinumviper suggested (as you can see i'm only a noob)
Code: |
install: cannot stat 'ld/objdump86': No such file or directory
|
that bit looks familiar, but, I think if I had to do anything weird to get it going I would have posted it... I must have thought that it was too simple. Weyhan, you are probably on to something with the versions, so I'll get those tomorrow |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Fri Mar 18, 2005 3:46 am Post subject: |
|
|
platinumviper wrote: | H3g3m0n wrote: | bin86 won't compile for me
Code: | install: cannot stat 'ld/objdump86': No such file or directory |
|
In november 2004 it worked, but I think it was an error in a former portage-version. As objdump86 isn't needed to compile lilo, here is a very, very dirty workaround:
... |
Platinumviper,
I think your workaround is a really bad idea. For people who can't wait for a fix, a better workaround would be to install the static bin package from lilo's homepage -> Here. And for people who like to see what they download before downloading go -> Here.
Why bother building it yourself when there is a pre-build version that works and the workaround does not contribute to fixing the bin86 build issue?
Here is one idea though, if someone create an ebuild for the static-bin package, I think that would be great. _________________ Han. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Fri Mar 18, 2005 10:07 am Post subject: |
|
|
wbreeze wrote: | ... Weyhan, you are probably on to something with the versions, so I'll get those tomorrow |
Either that or there is something in the ebuild and/or multilib thingy. I have been getting the same error emerging gcc. _________________ Han. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Fri Mar 18, 2005 7:41 pm Post subject: |
|
|
wbreeze,
Is this what you did to fix the problem?
Code: | emerge emul-linux-x86-glibc emul-linux-x86-compat emul-linux-x86-baselibs |
In my other post, (here), this is suggested to me how to fix the problem with 32bit apps. It looks like it is working but gcc is still building at this time, so, can't say for sure it will work. Check out here for a more detail explanation. _________________ Han. |
|
Back to top |
|
|
faldore n00b
Joined: 03 May 2004 Posts: 17
|
Posted: Tue Mar 29, 2005 5:05 pm Post subject: lilo... please....... |
|
|
I can't use grub because I am using reiserfs and grub won't read it; also grub hates my video card, I can barely read the font its all messed up, and it won't boot my windows drive either. Lilo has none of these problems with my hardware. Grub is too picky. And the Gentoo Handbook don't tell me how to download "static binary" from "lilo's webpage" it just says "emerge" Why why why did gentoo do this to me? Please make lilo work... Don't care if it's a 32-bit emulation or whatever, I just want lilo to work.
Seems to me it's like openoffice moving to java, it's a matter of convenience instead of following their code of making gentoo be whatever the user needs it to be. |
|
Back to top |
|
|
weyhan Apprentice
Joined: 27 May 2003 Posts: 245
|
Posted: Tue Mar 29, 2005 5:15 pm Post subject: Re: lilo... please....... |
|
|
faldore wrote: | I can't use grub because I am using reiserfs and grub won't read it; also grub hates my video card, I can barely read the font its all messed up, and it won't boot my windows drive either. Lilo has none of these problems with my hardware. Grub is too picky. And the Gentoo Handbook don't tell me how to download "static binary" from "lilo's webpage" it just says "emerge" Why why why did gentoo do this to me? Please make lilo work... Don't care if it's a 32-bit emulation or whatever, I just want lilo to work.
Seems to me it's like openoffice moving to java, it's a matter of convenience instead of following their code of making gentoo be whatever the user needs it to be. |
I feel your pain.
Just incase you did not read the post above, download from here and gzip untar to / _________________ Han. |
|
Back to top |
|
|
faldore n00b
Joined: 03 May 2004 Posts: 17
|
Posted: Tue Mar 29, 2005 7:19 pm Post subject: Re: lilo... please....... |
|
|
Thanke weyhan, I will try that. |
|
Back to top |
|
|
imon fyre n00b
Joined: 18 Dec 2003 Posts: 31 Location: sudbury on
|
Posted: Sat Apr 09, 2005 11:04 pm Post subject: |
|
|
just want to say that i did the editing method, and so far my install has not borked yet.
will post later on about the outcome, but this looks like it might be a viable method to add ~amd64 to the ebuilds for now |
|
Back to top |
|
|
imon fyre n00b
Joined: 18 Dec 2003 Posts: 31 Location: sudbury on
|
Posted: Sun Apr 10, 2005 12:55 am Post subject: |
|
|
system is so far stable, so adding these words to the above mentioned packages works, at least for me. |
|
Back to top |
|
|
platinumviper l33t
Joined: 12 Feb 2004 Posts: 649 Location: Munich, Germany
|
Posted: Wed Apr 13, 2005 1:24 am Post subject: |
|
|
weyhan wrote: | I think your workaround is a really bad idea. |
ACK, so I created a patch and ebuild for a amd64-lilo-special-edition of bin86 which kicks off unneeded stuff. So everybody should be able to compile lilo. Error/success-reports and beer are welcome.
platinumviper _________________ No money back garantee. In case of problems, don't call us, we call you. |
|
Back to top |
|
|
drescherjm Advocate
Joined: 05 Jun 2004 Posts: 2790 Location: Pittsburgh, PA, USA
|
Posted: Thu Apr 28, 2005 7:54 pm Post subject: |
|
|
Thanks, platinumviper. That sloved my booting issue. As I was unable to get grub to boot my kernel with 4GB of memory installed. Lilo worked like a charm. _________________ John
My gentoo overlay
Instructons for overlay |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Apr 29, 2005 2:15 pm Post subject: |
|
|
If the patch works, anyway we can get an e-build going? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
LordArthas Guru
Joined: 01 Nov 2004 Posts: 500 Location: Maniago, Friûl, Italia
|
Posted: Fri Apr 29, 2005 10:00 pm Post subject: |
|
|
Hi!
bigun89 wrote: | If the patch works, anyway we can get an e-build going? |
For a working AMD64 ebuild in portage, we need to wait for the lilo maintainer to create it I guess... in the meantime my old 32bit lilo executable does his job well.
Michele. |
|
Back to top |
|
|
|