Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hey guys, although i'm not really new to Linux i've never compiled GrUB before and now i've got a point where I have to.
The problem I have is that I need to compile the 0.95 Version of it.
So here is where I am at the moment:
[1] Downloaded/Extracted GrUB 0.95
[2] (in bash) export CC="gcc -march=i386"
[3] (in bash) ./configure --host=i386-pc-linux-gnu --without-curses
Which gives the following output:
------------Start of Output-------------
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i386-pc-linux-gnu-strip... no
checking for strip... strip
checking build system type... i686-pc-linux-gnu
checking host system type... i386-pc-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... no
checking for i386-pc-linux-gnu-gcc... gcc -march=i386
checking for i386-pc-linux-gnu-gcc... (cached) gcc -march=i386
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -march=i386 accepts -g... yes
checking for gcc -march=i386 option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc -march=i386... gcc3
checking dependency style of gcc -march=i386... (cached) gcc3
checking for i386-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking whether optimization for size works... yes
checking whether gcc has -fno-stack-protector... yes
checking whether -Wundef works... yes
checking whether -falign-loops works... yes
checking for i386-pc-linux-gnu-objcopy... no
checking for objcopy... objcopy
checking if C symbols get an underscore after compilation... no
checking whether objcopy works for absolute addresses... no
configure: error: GRUB requires a working absolute objcopy; upgrade your binutils
------------------End of Output-------------------
Like I said, although i'm not new to Linux, i'm fairly new to actually using Linux properly. Any help would be MUCH appreciated.
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,513
Rep:
Welcome to LQ.
Why do you think, you will have to build the ancient grub 0.95 ?
Last time used in Fedora 3, 4 / CentOS4.8, RHEL4 :
The 0.95 files are dated 2003..2004.
May be binutils-2.20.51.0.7 is too new, or patched to be too special ?
It's not that the Fedora 14 binutils requires an update,
but it is very different from the grub requirements.
.. Then you get the available 'error answer' from the configure text.
( 'configure' line 3909-3910.)
Grub-0.95 will compile OK on some other new Linux (using an old gcc),
but not on Fedora 14.
I have downloaded Ubuntu now and will try it on there, in answer to your question, its because I need a light weight version of it without all the unneeded binaries that the newer ones have. It's for an embedded system and so filesizes need to be kept to a minimum. I want the entire thing to fit on less than a size of a floppy, uncompressed. This is going to be a task i know, but the point is that I need it to be as fast as possible, as small as possible and as impossible as possible (or atleast thats how its starting to feel )
Thanks for the replies though and I hope to be able to help someone else myself in the future.
Maybe embedded is the wrong term. Basically I need it to run on custom hardware. At the moment, the hardware uses a GrUB bootloader and I was trying to familiarize myself with it. It's for a theatrical lighting system (well the desk that controls it) and at the moment its based on x86 Arch but soon to be moving to the ARM arch. The issue I have is that I have never tried to create custom Kernels or Bootloaders before and was following the Pocket-Linux-Guide (the URL alludes me atm).
In the guide the 2.6.* Kernel is used and the 0.95 GrUB is used. Once I can get the entire thing working well and small enough i'll be happy and no doubt i'll be able to more appropriately navigate through the website
Thanks for your help though knudfl, it is muchly appreciated
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.