ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.8k stars 1.86k forks source link

怎样为官方还没适配过的rockchip rv11系列适配呢?如rv1106 #2006

Closed sqbbingo closed 7 months ago

sqbbingo commented 8 months ago

Device Information | 设备信息

Armbian Version | 系统版本

Describe the bug | 问题描述 All issues will only remain open for one week to prioritize resolving them. After that period, they will be closed but can still continue to be discussed in the thread. 所有的问题都只保留一周的开启状态供重点关注解决,超时将关闭,但仍然可以长期继续跟帖讨论。

Please provide a detailed description of the issue and, if necessary, attach a screenshot. 详细描述问题,并在必要时附上屏幕截图。 我想为luckfox rv1106适配armbian,luckfox wiki链接如下:https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-quick-start/ ,但没找到armbian上有相关rv11系列的参考,想请问下按照 https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/documents/README.cn.md#1215-%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%E6%96%B0%E7%9A%84%E6%94%AF%E6%8C%81%E8%AE%BE%E5%A4%87 的方法是否可以适配呢?

目前适配遇到的问题如下麻烦大佬有空帮忙看看给点参考意见:

  1. rv1106 uboot无法使用miniloader启动
    mkimage -n rv1106 -T rksd -d ../bin/rv11/rv1106_ddr_924MHz_v1.13.bin idbloader.img
    ERROR: imagename (rv1106) is not supported!
    Available imagename:    px30    rk3036  rk3128  rk3188  rk322x  rk3288  rk3308  rk3328  rk3368  rk3399  rv1108
  2. 直接用官方的uboot编译打包方法发现无法找到分区,应该是luckfox使用env.img传递环境变量导致,还不知道怎样解决 image
�DDR V1.10 ec2fae0c96 wesley.yao 22/11/15-10:58:09
S5P1
f967
F
DDRConf2
DDR3, BW=16 Col=10 Bk=8 CS0 Row=14 CS=1 Die BW=16 Size=256MB
924MHz
DDR bin out

U-Boot SPL board init
U-Boot SPL 2017.09-armbian (Jan 08 2024 - 16:58:24)
unrecognized JEDEC id bytes: 00, 00, 00
unknown raw ID 0 0 0
Trying to boot from MMC2
ENVF: !bad CRC @ 0x0
ENVF: !bad CRC @ 0x0
spl: partition error
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking uboot 0x00200000 (lzma @0x00400000) ... sha256(efa1fd4ee2...) + sha256(5fa1b65790...) + OK
## Checking fdt 0x0025cb08 ... sha256(51bba657c3...) + OK
Total: 242.265 ms

Jumping to U-Boot(0x00200000)

U-Boot 2017.09-armbian (Jan 08 2024 - 16:58:24 +0800)

Model: Rockchip RV1106 EVB Board
PreSerial: 2, raw, 0xff4c0000
DRAM:  256 MiB
Sysmem: init
Relocation Offset: 0fd85000
Relocation fdt: 0edfa8f0 - 0edfede8
CR: M/C/I
Using default environment

no mmc device at slot 1
ENVF: !bad CRC @ 0x0
mmc@ffa90000: 0, mmc@ffaa0000: 1 (SD)
Bootdev(atags): mmc 1
MMC1: Legacy, 52Mhz
PartType: DOS
ENVF: !bad CRC @ 0x0
DM: v2
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
No find valid DTB, ret=-22
Failed to get kernel dtb, ret=-22
Model: Rockchip RV1106 EVB Board
rockchip_set_serialno: could not find efuse/otp device
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 924000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  aclk_peri_root 400000 KHz
  hclK_peri_root 200000 KHz
  pclk_peri_root 100000 KHz
  aclk_bus_root 300000 KHz
  pclk_top_root 100000 KHz
  pclk_pmu_root 100000 KHz
  hclk_pmu_root 200000 KHz
No misc partition
## retrieving sd_update.txt ...
** Unrecognized filesystem type **
Net:   eth0: ethernet@ffa80000
Hit key to stop autoboot('CTRL+C'):  0 
## Booting FIT Image FIT: No boot partition
FIT: No fit blob
FIT: No FIT image
Could not find misc partition
ANDROID: reboot reason: "(none)"
android_image_load_by_partname: Can't find part: boot
Android image load failed
Android boot failed, error -1.
=> 
=> printenv 
arch=arm
autoload=no
baudrate=115200
board=evb_rv1106
board_name=evb_rv1106
bootargs=storagemedia=sd androidboot.storagemedia=sd androidboot.mode=normal 
bootcmd=boot_fit;boot_android ${devtype} ${devnum};
bootdelay=1
cpu=armv7
devnum=1
devtype=mmc
eth1addr=b6:c0:1e:79:17:5b
ethaddr=b2:c0:1e:79:17:5b
fdt_addr_r=0x00c00000
kernel_addr_c=0x00808000
kernel_addr_r=0x00008000
pxefile_addr_r=0x00c00000
ramdisk_addr_r=0x000e00000
rkimg_bootdev=if mmc dev 1 && rkimgtest mmc 1; then setenv devtype mmc; setenv devnum 1; echo Boot from SDcard;elif mmc dev 0; then setenv devtype mmc; setenv devnum 0;elif mtd_blk dev 0; then setenv devtype mtd; setenv devnum 0;elif mtd_blk dev 1; then setenv devtype mtd; setenv devnum 1;elif mtd_blk dev 2; then setenv devtype mtd; setenv devnum 2;elif rknand dev 0; then setenv devtype rknand; setenv devnum 0;elif rksfc dev 0; then setenv devtype spinand; setenv devnum 0;elif rksfc dev 1; then setenv devtype spinor; setenv devnum 1;else;setenv devtype ramdisk; setenv devnum 0;fi; 
scriptaddr=0x00b00000
soc=rockchip
stderr=serial
stdin=serial
stdout=serial
vendor=rockchip

Environment size: 1159/262140 bytes
=> mmc dev 1
switch to partitions #0, OK
mmc1 is current device
=> mmc part

Partition Map for MMC device 1  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     8192            2138112         1df95017-01     83
=> 
  1. 如果按照luckfox sdk的方法将env.img写入sd卡0x0地址则是如下log
    
    �DDR V1.10 ec2fae0c96 wesley.yao 22/11/15-10:58:09
    S5P1
    f967
    F
    DDRConf2
    DDR3, BW=16 Col=10 Bk=8 CS0 Row=14 CS=1 Die BW=16 Size=256MB
    924MHz
    DDR bin out

U-Boot SPL board init U-Boot SPL 2017.09-armbian (Jan 09 2024 - 18:15:28) unrecognized JEDEC id bytes: 00, 00, 00 unknown raw ID 0 0 0 Trying to boot from MMC2 ENVF: Primary 0x00000000 - 0x00008000 ENVF: OK Trying fit image at 0x4000 sector

Verified-boot: 0

Checking uboot 0x00200000 (lzma @0x00400000) ... sha256(2d43c307d0...) + sha256(b275183529...) + OK

Checking fdt 0x0025cb08 ... sha256(51bba657c3...) + OK

Total: 237.739 ms

Jumping to U-Boot(0x00200000)

U-Boot 2017.09-armbian (Jan 09 2024 - 18:15:28 +0800)

Model: Rockchip RV1106 EVB Board PreSerial: 2, raw, 0xff4c0000 DRAM: 256 MiB Sysmem: init Relocation Offset: 0fd85000 Relocation fdt: 0edfa8f0 - 0edfede8 CR: M/C/I Using default environment

no mmc device at slot 1 ENVF: Primary 0x00000000 - 0x00008000 ENVF: OK mmc@ffa90000: 0, mmc@ffaa0000: 1 (SD) Bootdev(atags): mmc 1 MMC1: Legacy, 52Mhz PartType: ENV DM: v2 No misc partition boot mode: None No resource partition No resource partition Failed to load DTB, ret=-19 No find valid DTB, ret=-22 Failed to get kernel dtb, ret=-22 Model: Rockchip RV1106 EVB Board rockchip_set_serialno: could not find efuse/otp device CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A) apll 816000 KHz dpll 924000 KHz gpll 1188000 KHz cpll 1000000 KHz aclk_peri_root 400000 KHz hclK_peri_root 200000 KHz pclk_peri_root 100000 KHz aclk_bus_root 300000 KHz pclk_top_root 100000 KHz pclk_pmu_root 100000 KHz hclk_pmu_root 200000 KHz No misc partition

retrieving sd_update.txt ...

bad MBR sector signature 0x0000 Invalid partition 1 Net: eth0: ethernet@ffa80000 Hit key to stop autoboot('CTRL+C'): 0

Booting FIT Image FIT: No fit blob

FIT: No FIT image Could not find misc partition ANDROID: reboot reason: "(none)" No valid android hdr Android image load failed Android boot failed, error -1. => printenv arch=arm autoload=no baudrate=115200 blkdevparts=mmcblk1:32K(env),512K@32K(idblock),256K(uboot),32M(boot),512M(oem),256M(userdata),6G(rootfs),-(media) board=evb_rv1106 board_name=evb_rv1106 bootargs=storagemedia=sd androidboot.storagemedia=sd androidboot.mode=normal bootcmd=boot_fit;boot_android ${devtype} ${devnum}; bootdelay=1 cpu=armv7 devnum=1 devtype=mmc eth1addr=4a:a2:c4:27:ef:e3 ethaddr=46:a2:c4:27:ef:e3 fdt_addr_r=0x00c00000 kernel_addr_c=0x00808000 kernel_addr_r=0x00008000 pxefile_addr_r=0x00c00000 ramdisk_addr_r=0x000e00000 rkimg_bootdev=if mmc dev 1 && rkimgtest mmc 1; then setenv devtype mmc; setenv devnum 1; echo Boot from SDcard;elif mmc dev 0; then setenv devtype mmc; setenv devnum 0;elif mtd_blk dev 0; then setenv devtype mtd; setenv devnum 0;elif mtd_blk dev 1; then setenv devtype mtd; setenv devnum 1;elif mtd_blk dev 2; then setenv devtype mtd; setenv devnum 2;elif rknand dev 0; then setenv devtype rknand; setenv devnum 0;elif rksfc dev 0; then setenv devtype spinand; setenv devnum 0;elif rksfc dev 1; then setenv devtype spinor; setenv devnum 1;else;setenv devtype ramdisk; setenv devnum 0;fi; scriptaddr=0x00b00000 soc=rockchip stderr=serial stdin=serial stdout=serial sys_bootargs= root=/dev/mmcblk1p7 rootfstype=ext4 rk_dma_heap_cma=66M vendor=rockchip

Environment size: 1347/262140 bytes => mmc dev 1 switch to partitions #0, OK mmc1 is current device => mmc part

Partition Map for MMC device 1 -- Partition Type: ENV

Part Start LBA Size Name 1 0x00000000 0x00000040 env 2 0x00000040 0x00000400 idblock 3 0x00000440 0x00000200 uboot 4 0x00000640 0x00010000 boot 5 0x00010640 0x00100000 oem 6 0x00110640 0x00080000 userdata 7 0x00190640 0x00400000 rootfs 8 0x00590640 0x035e1dc0 media =>

13584452567 commented 7 months ago

本项目目前使用patch过的主线内核。主线内核内并未看到有rv1106的支持。以及你所使用的uboot版本可能有些老了,跳转的地址并不匹配主线内核。想要适配的话你需要做大量工作。