x86: Mention how to boot a 64-bit kernel from U-Boot
The README indicates that this is not supported, but this is no-longer true. Update the text to indicate this and describe the FIT changes required. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
5d98c5ec8e
commit
dc396210d9
|
|
@ -85,3 +85,7 @@ For x86 a setup node is also required: see x86-fit-boot.txt.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Note: the above assumes a 32-bit kernel. To directly boot a 64-bit kernel,
|
||||||
|
change both arch values to "x86_64". U-Boot will then change to 64-bit mode
|
||||||
|
before booting the kernel (see boot_linux_kernel()).
|
||||||
|
|
|
||||||
|
|
@ -63,9 +63,8 @@ executed.
|
||||||
Build the kernel
|
Build the kernel
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Note: these instructions assume a 32-bit kernel. U-Boot does not currently
|
Note: these instructions assume a 32-bit kernel. U-Boot also supports directly
|
||||||
support booting a 64-bit kernel as it has no way of going into 64-bit mode on
|
booting a 64-bit kernel by jumping into 64-bit mode first (see below).
|
||||||
x86.
|
|
||||||
|
|
||||||
You can build the kernel as normal with 'make'. This will create a file called
|
You can build the kernel as normal with 'make'. This will create a file called
|
||||||
'vmlinux'. This is a standard ELF file and you can look at it if you like:
|
'vmlinux'. This is a standard ELF file and you can look at it if you like:
|
||||||
|
|
@ -168,8 +167,9 @@ Create a FIT
|
||||||
------------
|
------------
|
||||||
|
|
||||||
To create a FIT you will need a source file describing what should go in the
|
To create a FIT you will need a source file describing what should go in the
|
||||||
FIT. See kernel.its for an example for x86. Put this into a file called
|
FIT. See kernel.its for an example for x86 and also instructions on setting
|
||||||
image.its.
|
the 'arch' value for booting 64-bit kernels if desired. Put this into a file
|
||||||
|
called image.its.
|
||||||
|
|
||||||
Note that setup is loaded to the special address of 0x90000 (a special address
|
Note that setup is loaded to the special address of 0x90000 (a special address
|
||||||
you just have to know) and the kernel is loaded to 0x01000000 (the address you
|
you just have to know) and the kernel is loaded to 0x01000000 (the address you
|
||||||
|
|
@ -263,10 +263,6 @@ In the Linux kernel, Documentation/x86/boot.txt defines the boot protocol for
|
||||||
the kernel including the setup.bin format. This is handled in U-Boot in
|
the kernel including the setup.bin format. This is handled in U-Boot in
|
||||||
arch/x86/lib/zimage.c and arch/x86/lib/bootm.c.
|
arch/x86/lib/zimage.c and arch/x86/lib/bootm.c.
|
||||||
|
|
||||||
The procedure for entering 64-bit mode on x86 seems to be described here:
|
|
||||||
|
|
||||||
http://wiki.osdev.org/64-bit_Higher_Half_Kernel_with_GRUB_2
|
|
||||||
|
|
||||||
Various files in the same directory as this file describe the FIT format.
|
Various files in the same directory as this file describe the FIT format.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue