Only the x86 (x64) architecture is currently supported. Some efforts have

Only the x86 (x64) architecture is currently supported. Some efforts have

−

been made to get FILO running on PPC. Contact the [[Mailinglist|LinuxBIOS mailinglist]]

+

been made to get FILO running on PPC. Contact the [[Mailinglist|coreboot mailinglist]]

for more information.

for more information.

−

x64/AMD 64 machines work fine when compiling FILO in 32-bit mode.

+

Recent version of GNU toolchain is required to build.

−

(LinuxBIOS uses 32-bit mode and Linux kernel does the transition to 64-bit mode)

+

−

+

−

Recent version of GNU toolchain is required to build.

+

We have tested with Debian/woody (gcc 2.95.4, binutils 2.12.90.0.1,

We have tested with Debian/woody (gcc 2.95.4, binutils 2.12.90.0.1,

make 3.79.1), Debian/sid (gcc 3.3.2, binutils 2.14.90.0.6,

make 3.79.1), Debian/sid (gcc 3.3.2, binutils 2.14.90.0.6,

−

make 3.80) and different versions of SUSE Linux from 9.0 to 10.3.

+

make 3.80) and different versions of SUSE Linux from 9.0 to 11.0.

−

On AMD64 for Debian install the gcc-multilib package.

+

FILO will use the coreboot crossgcc if you have it built and it can be found.

−

== Install ==

+

FILO uses coreboot's '''libpayload'''. It is easiest to locate and build FILO in the '''coreboot/payloads''' directory.

−

First invocation of make creates the default Config file.

+

== Building on 64-bit OS specifics ==

−

$ make

+

−

Edit this file as you like. It's fairly straightforward (I hope).

+

−

$ vi Config

+

−

Then running make again will build filo.elf, the ELF boot image of FILO.

+

−

$ make

+

−

Use filo.elf as your payload of LinuxBIOS, or a boot image for

+

If you will be building FILO on AMD64 platform for Debian install the '''gcc-multilib''' package.

−

[[Etherboot]].

+

−

If you enable MULTIBOOT_IMAGE option in Config, you can

+

x64/AMD64 machines work fine when compiling FILO in 32-bit mode.

−

also boot filo.elf from GNU GRUB or other Multiboot bootloader.

+

(coreboot uses 32-bit mode and Linux kernel does the transition to 64-bit mode)

−

This feature is intended for testing or development purpose.

+

−

== Credits ==

+

== Preparation ==

−

This software was originally developed by SONE Takeshi <ts1@tsn.or.jp> and is now maintained by [mailto:stepan@coresystems.de Stefan Reinauer].

+

Before you can build FILO, you have to build libpayload. If your filo directory is located inside the coreboot/payloads directory, you don't have to do anything special. If for some reason you want to compile FILO of the coreboot/payloads directory, you will need to tell the makefile where libpayload is. Open filo/Makefile in your favorite text editor and change this line

−

== Additional Information ==

+

export LIBCONFIG_PATH := $(src)/../libpayload

−

=== FILO on the ARIMA HDAMA ===

+

to match the location of the libpayload directory on your system:

−

This is a quick guide for getting LinuxBIOS up and running on the Arima HDAMA dual Opteron mainboard. If there are blanks to be filled in, go ahead and either ask on the [[Mailinglist|LinuxBIOS mailing list]] or you can reach me at cro_marmot_at_comcast.net. -- David Hendricks

3. Run "make" and you should now have a filo.elf ELF image. Use this as your

+

=== CD-ROM Booting ===

−

payload in step #4 for building LinuxBIOS.

+

−

==== Troubleshooting ====

+

To boot a CD-ROM or DVD you only need to specify the drive '''without a partition number'''. For example to boot to the primary drive on the secondary IDE channel you would use '''hdc''' and not '''hdc1''' in FILO.

−

Q: linuxbios.strip is too big, image is greater than 64KB

+

=== Grub-like Interface ===

−

A: A good way to reduce image size is simply to reduce the log level. Change

+

If you are using FILO with '''CONFIG_USE_GRUB''', and want to boot to your Linux install disk you have to do a mixture of GRUB and FILO commands.

−

these lines in your targets/arima/hdama/Config.lb file:

+

−

option DEFAULT_CONSOLE_LOGLEVEL=9

+

−

option MAXIMUM_CONSOLE_LOGLEVEL=9

+

−

You can bring them down gradually. I've found that "7" works well with the

+

Like GRUB you have to append a kernel (and parameters), then an initrd, and give a boot command.

* 'boot_devices' can contain a list of boot devices seperated by semicolons. FILO will try to load filo.lst / menu.lst from any of these devices.

+

Example how to set:

+

nvramtool -w "boot_devices=hda1:/boot/filo;hdc:"

−

Installing SuSE 9.0 AMD64 on a Solo-System:

+

= Contributing =

−

FILO version 0.4.1 (stepan@prokofjieff) Thu Oct 30 13:29:16 CET 2003

+

To be able to contribute you will need a Gerrit account. See [[Git]] on how to get one and how to push new code to the repository. The instructions there are valid also for FILO, just change '''coreboot''' to '''filo''' in ''directory'' names etc. (not hostnames).

Requirements

Only the x86 (x64) architecture is currently supported. Some efforts have
been made to get FILO running on PPC. Contact the coreboot mailinglist
for more information.

Recent version of GNU toolchain is required to build.

We have tested with Debian/woody (gcc 2.95.4, binutils 2.12.90.0.1,
make 3.79.1), Debian/sid (gcc 3.3.2, binutils 2.14.90.0.6,
make 3.80) and different versions of SUSE Linux from 9.0 to 11.0.

FILO will use the coreboot crossgcc if you have it built and it can be found.

FILO uses coreboot's libpayload. It is easiest to locate and build FILO in the coreboot/payloads directory.

Building on 64-bit OS specifics

If you will be building FILO on AMD64 platform for Debian install the gcc-multilib package.

x64/AMD64 machines work fine when compiling FILO in 32-bit mode.
(coreboot uses 32-bit mode and Linux kernel does the transition to 64-bit mode)

Preparation

Before you can build FILO, you have to build libpayload. If your filo directory is located inside the coreboot/payloads directory, you don't have to do anything special. If for some reason you want to compile FILO of the coreboot/payloads directory, you will need to tell the makefile where libpayload is. Open filo/Makefile in your favorite text editor and change this line

NVRAM Parsing

'boot_devices' can contain a list of boot devices seperated by semicolons. FILO will try to load filo.lst / menu.lst from any of these devices.

Example how to set:

nvramtool -w "boot_devices=hda1:/boot/filo;hdc:"

Contributing

To be able to contribute you will need a Gerrit account. See Git on how to get one and how to push new code to the repository. The instructions there are valid also for FILO, just change coreboot to filo in directory names etc. (not hostnames).