FILO
From ThinCan
FILO is a bootloader that doesn't need the help of legacy BIOS services. It is typically used together with a firmware, such as Coreboot, and flashed into the BIOS ROM.
FILO is typically used as a payload for Coreboot, so first a FILO payload is prepared by building FILO, and then Coreboot can be built with FILO as the payload.
Contents |
Building FILO
FILO generic build instructions are found at the upstream wiki at http://www.coreboot.org/FILO.
Artec uses 2 different FILO configurations:
- FILO for booting a Linux OS embedded in BIOS image. Artec Dongle is a 4MB LPC/FWH ROM emulator. The 4MB can contain 2MB root file system; 1.75MB kernel and 0.25MB BIOS. The dongle contents is mapped to addresses 0xFFC00000 ... 0xFFFFFFFF by Coreboot. FILO can boot from there with mem@ command. This option can be used to create self-contained initialization/debug tool in the Dongle flash.
- FILO for booting Linux or WinCE from NAND flash. Artec has developed ArtecBoot extension to FILO. When enabled, FILO reads a header from NAND flash. The header contains kernel command line, kernel offset and initrd offset. This makes it possible to use one BIOS image for all systems and avoids the need to re-flash NOR when installing software. Use Artec's imagewrite tool to write image components to NAND flash.
Prerequisites
- Linux PC with working GCC compiler
- Filo source (includes libpayload): [[1]]
Procedure
- Download / check out from SVN source code
-
make menuconfig
- Interface: Disable GRUB interface, enable autoboot, set delay to 0
- Interface -> Autoboot File
- For booting linux embedded into BIOS ROM in dongle:
mem@0xFFE00000,0x1C0000 initrd=mem@0xFFC00000,0x200000 video=lxfb:1024x768
- For booting from NAND flash:
flashb@0x0
- For booting linux embedded into BIOS ROM in dongle:
- Drivers: Un-check all except flash (when booting from flash)
- File systems: Un-check all
- Loaders: Check Linux for dongle boot; Linux+WinCE+ArtecBoot for NAND flash boot
- Debugging: Disable all
-
cd libpayload; make menuconfig
- Console: disable video console, PC keyboard
- Drivers: disable NVRAM, RTC, speaker, USB
- Standard libraries: disable TinyCurses
-
make
-
cd ..
-
make
Now you should have build/filo.elf ready!
Booting ThinCan with FILO
FILO is most useful for booting an operating system off of a ThinCan DBE61 or DBE62 NAND Flash.
