Recommand Linux Boot Loader
From Richliu's wiki
原文在 Recommended Linux Boot Loader Reading
* http://billgatliff.com/articles/emb-linux/startup.html/index.html - The Linux 2.4 Kernel's Startup Procedure] : This paper describes the Linux 2.4 kernel's startup process, from the moment the kernel gets control of the host hardware until the kernel is ready to run user processes. Along the way, it covers the programming environment Linux expects at boot time, how peripherals are initialized, and how Linux knows what to do next. * For another excellent overview of all the steps involved in booting a Linux kernel refer to Chapter 17- "Physical Layout Of The Kernel Source", section "Booting the Kernel", in the book: "Linux Device Drivers", by Alessandro Rubini. (Note this document is included on the Platform Creation Suite CD in the /documents folder)
Bootloaders for Multiple Architectures
* http://sourceforge.net/projects/u-boot/ -- Universal Boot loader supports PowerPC, ARM, MIPS, more coming * http://www.redhat.com/embedded/technologies/redboot/ -- RedBoot is a boot loader developed by RedHat(TM) capable of flash and network booting of the Linux kernel. ARM, MIPS, MN10300, PowerPC, Hitachi SHx, v850, and x86. * http://www.linuxdevices.com/links/LK3381469889.html -- MicroMonitor is a package of source code, descriptive html pages and tools that provide an embedded system developer with a firmware platform that can be used on a wide variety of different architectures -- x86, Mips, PowerPC, SH, ARM, Coldfire, and 68K. The majority of the code is CPU and platform independent and has been used with a variety of different embedded operating systems. Also see http://www.bell-labs.com/topic/swdist * http://www.codegen.com/SmartFirmware/ -- Smart Firmware, a commercial solution, is an ANSI C implementation of the Open Firmware boot firmware standard plus errata, recommended practices, and accepted proposals. It is designed to be very easy and fast to port. This leverages existing code-base investments without retraining programmers. M68K/Coldfire, PowerPC, x86/Pentium, MIPS, Alpha, TI 34020 graphics processor, Sparc, ARM (including StrongARM, Xscale, and other variants). * http://www.rocklinux.org/people/ripclaw/links/boot.html -- Bootloader Links SPARC, Alpha, PowerPC, MIPS
Bootloaders for PPC(TM) Architectures
* http://ppcboot.sourceforge.net/ -- the PPCBoot project has been superceded by U-Boot. * http://penguinppc.org/projects/yaboot/ -- Yaboot is an OpenFirmware bootloader for Open Firmware based machines. It is known to work on "NewWorld" class PowerMacs (iMac and all machines released after it), RS/6000, and possibly other OF based CHRP machines. "OldWorld" PowerMacs (with the built-in MacOS ROM) are not supported.
Bootloaders for ARM(TM) Architectures
* http://www.lart.tudelft.nl/lartware/blob/ -- Blob (Boot Loader OBject) for SA1100's * http://www.handhelds.org/Compaq/iPAQH3600/OSloader.html -- IPAQ(TM) Bootloader, Another "boot Linux from Windows CE" application. * http://www.wirelesssolutionsjournal.com/articles/issue2/Aleph_1_pages.pdf -- Booting GNU/Linux with a XScale and StrongARM focus. * http://www.aleph1.co.uk/armlinux/docs/ARMbooting/t1.html -- Boot Loader Guide specific to ARM but is useful for other architectures as well. This lists quite a few ARM Bootloader options (Blob, Angel, etc. etc). * http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2002-April/008700.html -- ARM Booting overview * http://www.arm.linux.org.uk/developer/booting.php -- ARM boot Loader overview * http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2001-October/005212.html -- Description of the kernel boot order. * http://www-2.cs.cmu.edu/~wearable/software/docs/assabet-linux-report/node2.html -- ARM Bootloader requirements * http://lists.infradead.org/pipermail/linux-mtd/2001-July/002767.html -- Boot loader that understands JFFS2 * http://www.yipton.demon.co.uk/content.html#ArLo -- ARLO is a Psion(TM) 2nd stage bootloader * http://www.handhelds.org/pipermail/bootldr/2001-June/000139.html -- CramFS/JFFS Bootloader
Bootloaders for X86 Architectures
* http://www.gnu.org/software/grub/ -- GRUB bootloader * http://www.acm.uiuc.edu/workshops/linux_install/lilo.html -- Lilo bootloader (one of many links) * http://etherboot.sourceforge.net/ -- Etherboot is a software package for creating ROM images that can download code over an Ethernet network to be executed on an x86 computer. * http://syslinux.zytor.com/ -- The SYSLINUX Project covers lightweight bootloaders for floppy media (SYSLINUX), network booting (PXELINUX), and bootable "El Torito" CD-ROMs (ISOLINUX). * http://syslinux.zytor.com/pxe.php -- PXELINUX is a SYSLINUX derivative, for booting Linux off a network server, using a network ROM conforming to the Intel PXE (Pre-Execution Environment) specification. * http://www.telos.de/linux/alios/default_e.htm -- The alios boot loader for Linux is a small assembler loader code designed to load a Linux kernel and RAM disk image from ROM after initialising the most basic hardware features. The current version is configured to initialise the registers of an AMD Elan SC400 microcontroller and start Linux on it, with control via serial console. * http://www.acl.lanl.gov/linuxbios/index.html -- LinuxBIOS is an Open Source project aimed at replacing the normal BIOS with a little bit of hardware initialization and a compressed Linux kernel that can be booted from a cold start. * http://www.freiburg.linux.de/openbios/ -- The goal of OpenBIOS is to create an IEEE 1275-1994 compliant firmware (referred to as OpenFirmware). OpenFirmware (IEEE-1275-1994) is used by SUN(TM), Apple(TM) and others. * http://nilo.sourceforge.net/ -- NILO is the Network Interface Loader. NILO will boot Linux, FreeBSD, Windows 95/98/NT4 and support the Intel PXE standard, and is suitable for burning into ROM. It is an evolution of the previous Etherboot and Netboot projects. * http://www.pcengines.com/tinybios.htm -- TinyBIOS is now published under the Common Public License. Chipset support for two chipsets is open. Chipset modules for other parts can be implemented by the user, or licensed from PC Engines for a one-time fee (no royalties). * ftp://www.elinos.com/pub/elinos/rolo/ -- ROLO, is a boot loader developed by SYSGO capable of booting directly from ROM or Flash.
Bootloaders for MIPS(TM) Architectures
* http://www.hacksrus.com/~mike/lince/bootloader.htm -- Bootloader for MIPS starts Linux from a Windows(TM) CE application.
Bootloaders for Super-H(TM) Architectures
* ftp://ftp.m17n.org/pub/super-h -- sh-ipl+g stands for SH Initial Program Loader with gdb-stub intended to be placed inside Flash ROM of the board and acts like BIOS/boot loader. It loads MBR of IDE disk and run it. It must be adjusted for each board. sh-lilo is, as name says, LInux LOader for SH. It does pretty much the same job as x86 lilo, except it is limited to support only one kernel image and don't support command-line arguments (it must be embedded inside lilo code). Also see: ftp://ftp.aandd.co.jp/pub/linuxsh/doc/
Bootloaders for Sun(TM) Architectures
* ftp://sammy.net/pub/m68k/sun3/boot/ -- Sun3 Bootloader
