我在 P1022RDK(P1022 核心)平台上运行 ltib Linux。我有 512 MB = 0x20000000 内存。我希望我的 Linux 内核使用主板内存的后半部分(即从 256 MB 到 512 MB),并希望将前半部分内存保留用于其他目的。
为此,我正在使用 ltib 构建 Linux 内核,并设置以下内核配置。请建议我是否以正确的方式做。
CONFIG_LOWMEM_SIZE = 0x10000000 # 256 MB
CONFIG_PHYSICAL_START = 0x10000000 # Starting from 256MB (second half of memory)Run Code Online (Sandbox Code Playgroud)
在 Uboot 上,我通过以下方式加载内核:
setenv loadaddr 0x11000000 # Kernel base = 0x10000000 + 0x01000000 (offset)
setenv fdtaddr 0x10c00000 # Kernel base = 0x10000000 + 0x00c00000 (offset)
bootm $loadaddr - $fdtaddr My kernel Load address is 0x10000000 & kernel entry point is 0x10000000 …Run Code Online (Sandbox Code Playgroud) 我正在研究 Zynq Microzed 板。它使用 uramdisk.image.gz 完美启动,但我尝试使用 initramfs.cpio 启动它。
对此,我对u-boot的头文件做了如下修改:
zynq_common.h和zynq_common.h.save改动如下
"ramdisk_image=uramdisk.image.gz\0"
到
"ramdisk_image=initramfs.cpio\0"
在两个头文件中
我收到以下日志消息
它仍在寻找 uramdisk.image.gz 并给出错误
错误的 Ramdisk 映像格式
Ramdisk 映像已损坏或无效
我无法找出我出错的地方以及如何解决它。
我想将带有 U-Boot 的 Linux 内核写入 i.MX6 板上的 eMMC 存储的 mmc hwpartition:
TX6UL U-Boot > mmc info
Device: FSL_SDHC
Manufacturer ID: 11
OEM: 100
Name: 004G6
Tran Speed: 52000000
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 8 MiB
Bus Width: 4-bit
Erase Group Size: 4 MiB
HC WP Group Size: 4 MiB
User Capacity: 8 MiB WRREL
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH
GP1 Capacity: 8 MiB WRREL
GP2 Capacity: 1.8 GiB ENH …Run Code Online (Sandbox Code Playgroud) 我正在努力设置 U-Boot 以仅从 Kernel+fdt FIT 映像启动经过验证的 Linux 内核。(一切都是在 Yocto 下构建的)。U-Boot bin 附加了一个基本设备树,它可以使用它来启动,但 FIT 映像具有内核的完整树。
我几乎一切正常,除了当内核启动时,U-Boot 忽略 FIT 映像中的设备树,而是传递自己的设备树 - 基于 fdtaddr (== 0x11000000) 的值:
Hit any key to stop autoboot: 0
reading uImage
3346230 bytes read in 100 ms (31.9 MiB/s)
## Loading kernel from FIT Image at 18000000 ...
No configuration specified, trying default...
Found default configuration: 'conf@1'
Using 'conf@1' configuration
Verifying Hash Integrity ... sha1,rsa2048:dev+ OK
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed …Run Code Online (Sandbox Code Playgroud)