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?

# 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 [ "${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.

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?

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.

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.

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

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

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.

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.

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 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.