[U-Boot] u-boot-x86
Graeme Russ
graeme.russ at gmail.com
Wed Aug 25 13:16:47 CEST 2010
Hi Sk,
Please keep the Cc list intact (specifically U-Boot Users). Although some
of these questions are a little off-topic for the list, there is much
confusion about U-Boot as an embedded boot loader, CoreBoot as a BIOS
replacement which can boot the Linux kernel directly and x86 'Bootloaders'
such as LILO, GRUB etc. Having this information in the mailing list archive
is important
On 25/08/10 17:58, sk ong wrote:
> Graeme,
>
> Thanks for your response.
>
> I have not accessed gmail for few days, so I see this late, I will take
> some time to digest and look at coreboot too.
>
> I do not fully understand, can I ask some questions?
Sure - Questions are always welcome :)
>
> Board designer of embedded board knows the information, instead of BIOS,
> how does u-boot pass this information to protected-mode entry of linux
> kernel?
The x86 Linux Kernel has two components, a 'Real-Mode' component (which has
access to BIOS but very limited access to memory and devices) and a
'Protected-Mode' component (with no access to BIOS but full access to
memory and devices).
The 'Real-Mode' component of the Linux Kernel 'probes' BIOS (via BIOS
interrupt calls) to build a list of fundamental information (primarily
memory layout) in memory and invokes the 'Protected Mode' component passing
a memory address of the information collected (from BIOS) in Real-Mode
My intent is for U-Boot to replace the 'Real-Mode' component of Linux and
build the necessary information and directly invoke the 'Protected Mode'
component of the Linux Kernel (bypassing Real-Mode entirely). Because an
embedded board designer designs all part of the system (RAM, ROM, device
memory and interrupt maps etc), they can build this information without
needing BIOS.
>
> Does uboot execute option rom, such as the option rom for PCI/PCIE video
> controller, SATA controller, network controller, etc.?
No (although you could write drivers to do so). I think U-Boot may already
have drivers for common hardware already. Because of the GPL, any device
supported by Linux can be ported to U-Boot be taking the existing Linux
driver code (does need to be modified specifically for U-Boot, but all the
hard work has already been done)
>
> What are the x86 CPU and board that can run uboot-x86?
Currently U-Boot supports the AMD SC520 'Elan' embedded processor. I am
about to port U-Boot to the VIA EPIA EN1200/1500 boards
>
> Is there a porting guide if I want to port uboot-x86 to another x86 board?
>
Unfortunately not
> Can uboot-x86 boot x86 PC Linux like Fedora, Ubuntu, etc.?
U-Boot cannot boot a PC. The VIA EPIA platform is marketed as 'Embedded'
but it is (kind-of) a PC motherboard. PC's are very diverse - BIOS is
intended to create an abstraction between the software and the hardware to
some extent. To boot a PC, U-Boot would need to replace the BIOS and all
the abstraction that entails which would, essentially, mimic coreboot (i.e.
implementing such 'genericness' would be a complete waste of time)
>
> If uboot-x86 can boot x86 PC Linux, what stop it from booting Windows
> (at least non-ACPI kernel WIndows)?
U-Boot can boot other OS's. I think some have even booted Windows CE (the
embedded version of windows)
>
> Without in13h in uboot-x86, how MBR/grub/lilo load Linux image from
> storage such as SATA, SD, etc?
Most embedded systems use Flash memory to store the filesystem. U-Boot has
drivers to access file systems on MTD (Flash) devices. U-Boot also has a
wide variety of driver to provide access to various storage devices (as
well as network adapters, Serial ports, USB, video, PCMCIA etc)
>
> I am looking for uboot, not only for x86 PC, but also for other x86
> embedded OS.
If you are booting a generic, off-the-shelf PC motherboard (Gigabyte, Tyan,
Asus etc) then look at coreboot. If you are creating your own hardware
design, use U-Boot
>
> Thanks,
> SK
>
>
> On Sat, Aug 21, 2010 at 9:42 AM, Graeme Russ <graeme.russ at gmail.com
> <mailto:graeme.russ at gmail.com>> wrote:
>
> Hi SK,
>
> On 20/08/10 17:42, sk ong wrote:
> > Hi,
> >
> > I notice there is u-boot for x86 architecture in the denx site. I
> wonder
> > whether the u-boot-x86 has the legacy BIOS services, such as
> dispatching
> > PCI/PCIE device option rom such as video, SATA, etc. Does it have
> int13,
> > int15 etc. services for x86 Linux to call during booting phase.
>
> The x86 port has an (extremely) limited BIOS primarily to provide
> INT12 and
> INT15 for the purpose of determining memory size during the Linux
> Real-Mode
> startup procedure.
>
> I don't think that Linux actually needs BIOS other than during the
> initial
> Real-Mode bootstrap. In an embedded environment, the board designer
> knows
> all the information the BIOS would otherwise provide. My goal is to
> remove
> the BIOS functionality from U-Boot and use the Protected-Mode entry
> point
> of the Linux kernel and avoid the switching back-and-forth between
> Real and
> Protected Modes
>
> It sounds like you might be looking at using U-Boot for booting a
> x86 PC.
> If this is the case, maybe you should take a look at coreboot
> (http://www.coreboot.org/)
>
> Regards,
>
> Graeme
>
>
More information about the U-Boot
mailing list