ROC-RK3566-PC 网络启动
//rk3399CMDLINE: mtdparts=rk29xxnand:
0x00002000@0x00004000(uboot),
0x00002000@0x00006000(trust),
0x00002000@0x00008000(misc),
0x00010000@0x0000a000(boot),
0x00010000@0x0001a000(recovery),
0x00010000@0x0002a000(backup),
0x00020000@0x0003a000(oem),
0x00700000@0x0005a000(rootfs),
-@0x0075a000(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
//rk3566
CMDLINE: mtdparts=rk29xxnand:
0x00002000@0x00004000(uboot),
0x00002000@0x00006000(misc),
0x00010000@0x00008000(boot),
0x00010000@0x00018000(recovery),
0x00010000@0x00028000(backup),
0x00c00000@0x00038000(rootfs),
-@0x00c38000(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
uboot 分区: 烧写 uboot 编译出来的 uboot.img。
trust 分区: 烧写 uboot 编译出来的 trust.img。
misc 分区: 烧写 misc.img。开机检测进入 recovery 模式。(可省略)
boot 分区: 烧写 kernel 编译出来的 boot.img 包含 kernel 和设备树信息。
recovery 分区: 烧写 recovery.img。(可省略)
backup 分区: 预留,暂时没有用。后续跟 android 一样作为 recovery 的 backup 使用。(可省略)
oem 分区: 给厂家使用,存放厂家的 app 或数据。只读。代替原来音箱的 data 分区。挂载在/oem 目录。(可省略)
rootfs 分区: 存放 buildroot 或者 debian 编出来的 rootfs.img,只读.
userdata 分 区 : 存放 app 临时生成的文件或者是给最终用户使用。可读写,挂载在 /userdata 目录下。(可省略)
//rk3399
rk3399-firefly.dts
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 root=/dev/nfs rootfstype=ext4 rootwait";
};
#主要是修改 root 的值,root=/dev/nfs 表示通过 NFS 挂载网络根文件系统
# 设置从 TFTP 下载内核和 dtb 文件到相应地址,用户请根据自己实际的目标机修改相应地址
=> setenv bootcmd tftpboot 0x0027f800 boot.img \; tftpboot 0x08300000 rk3399-firefly.dtb \; bootm 0x0027f800 - 0x08300000
# 设置挂载网络根文件系统,IP 参数依次为:目标机 IP:服务器 IP:网关:网络掩码:设备名:off,可以更简单的设置 ip=dhcp,通过 DHXP 自动分配 IP
=> setenv bootargs root=/dev/nfs rw nfsroot=192.168.31.106:/nfs/rootfs,v3 ip=192.168.31.101:192.168.31.106:192.168.31.1:255.255.255.0::eth0:off
//rk3566
问题1:“tftpboot 0x0027f800 boot.img”语句中的boot.img与“0x00010000@0x0000a000(boot),”语句中的boot应该不是一个文件吧,因为后面的boot中包含了dtb(boot 分区: 烧写 kernel 编译出来的 boot.img 包含 kernel 和设备树信息。)
问题2:
“# 设置从 TFTP 下载内核和 dtb 文件到相应地址,用户请根据自己实际的目标机修改相应地址
=> setenv bootcmd tftpboot 0x0027f800 boot.img \; tftpboot 0x08300000 rk3399-firefly.dtb \; bootm 0x0027f800 - 0x08300000”
上面的说明用户根据自己的实际地址的目标修改相应的地址,那么RK3566开发板的地址在哪个文件中可以查到?
请大牛们指点一下。
采用如下命令:tftpboot 0x398870c0 boot.img
显示结果如下:
=> tftpboot 0x398870c0 boot.img
ethernet@fe010000 Waiting for PHY auto negotiation to complete. done
Using ethernet@fe010000 device
TFTP from server 192.168.154.134; our IP address is 192.168.154.10
Filename 'boot.img'.
Load address: 0x398870c0
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#######
2.8 MiB/s
done
Bytes transferred = 33495040 (1ff1800 hex)
## TFTP bootm boot.img at 0x398870c0 size 0x1ff1800
BOOTM: transferring to board FIT
DTB: rk-kernel.dtb
HASH(c): OK
## Booting FIT Image Sysmem Error: "FIT_USER" (0x398870c0 - 0x3b81a6c0) alloc is overlap with existence "STACK" (0x3b7f88f0 - 0x3b9f88f0)
sysmem_dump_all:
--------------------------------------------------------------------
memory.rgn.addr = 0x00200000 - 0x08400000 (size: 0x08200000)
memory.rgn.addr = 0x09400000 - 0x40000000 (size: 0x36c00000)
memory.total = 0x3ee00000 (1006 MiB. 0 KiB)
--------------------------------------------------------------------
allocated.rgn.name= "UBOOT"
.addr= 0x3b9f88f0 - 0x40000000 (size: 0x04607710)
allocated.rgn.name= "STACK" <Overflow!>
.addr= 0x3b7f88f0 - 0x3b9f88f0 (size: 0x00200000)
allocated.rgn.name= "FDT"
.addr= 0x0a100000 - 0x0a121e04 (size: 0x00021e04)
kmem-resv.rgn.name= "ramoops@110000"
.addr= 0x00110000 - 0x00200000 (size: 0x000f0000)
framework malloc_r =32 MiB
framework malloc_f = 512 KiB
allocated.total = 0x04919514 (73 MiB. 101 KiB)
--------------------------------------------------------------------
LMB.allocated.addr= 0x0a100000 - 0x0a121e04 (size: 0x00021e04)
LMB.allocated.addr= 0x3b7f88f0 - 0x40000000 (size: 0x04807710)
reserved.core.total = 0x04829514 (72 MiB. 165 KiB)
--------------------------------------------------------------------
FIT: No FIT image
tftpbootm - tftpbootm aosp/uImage/FIT image via network using TFTP protocol
Usage:
tftpbootm [bootfilename]
输入命令:boot, 可以正常启动kernel进入内核。
fireinthehole 发表于 2022-4-14 10:43
采用如下命令:tftpboot 0x398870c0 boot.img
显示结果如下:
=> tftpboot 0x398870c0 boot.img
只需要加载boot.img文件。地址为4080000。 你好,请问你最终NFS启动成功了吗? 我在今天遇到了跟楼主相似的问题,我这边解决了,原因是boot.img导入到内存中的位置不对,设置成正确的位置后,就解决了
页:
[1]