|
|
|
@ -32,7 +32,7 @@ are supported: |
|
|
|
|
- Link (Chromebook Pixel) |
|
|
|
|
- Minnowboard MAX |
|
|
|
|
- Samus (Chromebook Pixel 2015) |
|
|
|
|
- QEMU x86 |
|
|
|
|
- QEMU x86 (32-bit & 64-bit) |
|
|
|
|
|
|
|
|
|
As for loading an OS, U-Boot supports directly booting a 32-bit or 64-bit |
|
|
|
|
Linux kernel as part of a FIT image. It also supports a compressed zImage. |
|
|
|
@ -376,7 +376,9 @@ QEMU x86 target instructions for bare mode: |
|
|
|
|
|
|
|
|
|
To build u-boot.rom for QEMU x86 targets, just simply run |
|
|
|
|
|
|
|
|
|
$ make qemu-x86_defconfig |
|
|
|
|
$ make qemu-x86_defconfig (for 32-bit) |
|
|
|
|
or |
|
|
|
|
$ make qemu-x86_64_defconfig (for 64-bit) |
|
|
|
|
$ make all |
|
|
|
|
|
|
|
|
|
Note this default configuration will build a U-Boot for the QEMU x86 i440FX |
|
|
|
@ -479,6 +481,19 @@ Here the kernel (bzImage) is loaded to 01000000 and initrd is to 04000000. Then, |
|
|
|
|
|
|
|
|
|
=> zboot 01000000 - 04000000 1b1ab50 |
|
|
|
|
|
|
|
|
|
To run 64-bit U-Boot, qemu-system-x86_64 should be used instead, e.g.: |
|
|
|
|
$ qemu-system-x86_64 -nographic -bios path/to/u-boot.rom |
|
|
|
|
|
|
|
|
|
A specific CPU can be specified via the '-cpu' parameter but please make |
|
|
|
|
sure the specified CPU supports 64-bit like '-cpu core2duo'. Conversely |
|
|
|
|
'-cpu pentium' won't work for obvious reasons that the processor only |
|
|
|
|
supports 32-bit. |
|
|
|
|
|
|
|
|
|
Note 64-bit support is very preliminary at this point. Lots of features |
|
|
|
|
are missing in the 64-bit world. One notable feature is the VGA console |
|
|
|
|
support which is currently missing, so that you must specify '-nographic' |
|
|
|
|
to get 64-bit U-Boot up and running. |
|
|
|
|
|
|
|
|
|
Updating U-Boot on Edison |
|
|
|
|
------------------------- |
|
|
|
|
By default Intel Edison boards are shipped with preinstalled heavily |
|
|
|
@ -1145,27 +1160,10 @@ to load a 'u-boot-payload.efi', see below test logs on QEMU. |
|
|
|
|
|
|
|
|
|
See README.u-boot_on_efi and README.uefi for details of EFI support in U-Boot. |
|
|
|
|
|
|
|
|
|
64-bit Support |
|
|
|
|
-------------- |
|
|
|
|
U-Boot supports booting a 64-bit kernel directly and is able to change to |
|
|
|
|
64-bit mode to do so. However, U-Boot itself is currently always built |
|
|
|
|
in 32-bit mode. Some access to the full memory range is provided with |
|
|
|
|
arch_phys_memset(). |
|
|
|
|
|
|
|
|
|
The development work to make U-Boot itself run in 64-bit mode has not yet |
|
|
|
|
been attempted. The best approach would likely be to build a 32-bit SPL |
|
|
|
|
image for U-Boot, with CONFIG_SPL_BUILD. This could then handle the early CPU |
|
|
|
|
init in 16-bit and 32-bit mode, running the FSP and any other binaries that |
|
|
|
|
are needed. Then it could change to 64-bit model and jump to U-Boot proper. |
|
|
|
|
|
|
|
|
|
Given U-Boot's extensive 64-bit support this has not been a high priority, |
|
|
|
|
but it would be a nice addition. |
|
|
|
|
|
|
|
|
|
TODO List |
|
|
|
|
--------- |
|
|
|
|
- Audio |
|
|
|
|
- Chrome OS verified boot |
|
|
|
|
- Building U-Boot to run in 64-bit mode |
|
|
|
|
|
|
|
|
|
References |
|
|
|
|
---------- |
|
|
|
|