zhouhyangxx 发表于 2019-10-5 10:02:07

[转载]贝壳云P1 刷机指南

本帖最后由 zhouhyangxx 于 2019-10-5 10:03 编辑

本文转载自:https://www.jianshu.com/p/21d3954231dc?tdsourcetag=s_pcqq_aiomsg,版权归原作者libgcc大佬所有。目录
[*]基本情况
[*]刷机方法
[*]特别事项
[*]已知问题
[*]参考资料
CI自动发布的固件:
https://github.com/hanwckf/build-beikeyun/releases/latest
固件更新日志:
https://www.jianshu.com/p/b10f82529126基本情况贝壳云P1是一款矿难机,配置如下:
[*]RK3328 四核A53 1.5Ghz
[*]1G DDR3
[*]8G emmc
[*]USB3.0 x4 (GL3520)
[*]RTL8211F 千兆phy
[*]HDMI
掀开屏蔽罩后可以看到主板全貌,主板正面有一个USB焊盘,一个微动开关和一个TTL接口,需要自行焊接排针引出,此外还留有一个SPI FLASH焊盘;背面有DDR3空焊盘。
//upload-images.jianshu.io/upload_images/6072615-5d13194453b980bd.jpg



此机器的配置与 Pine64 rock64 、Firefly ROC-RK3328等开发板相似,不过贝壳云没有使用rk805作为pmu,而且外围接口也少很多。

可以使用rock64的dts为基础进行修改,目前可用的dts及其配套的内核源码请参考以下repo:rock64可以使用诸多Linux发行版,下面的刷机教程采用armbian作为演示刷机方法目前暂无免拆机刷机法,必须要拆机引出USB进行线刷刷机工具:https://pan.baidu.com/s/1aOAIZ3vyG8mgipj726Bhgg 提取码: 7eee
固件发布:https://github.com/hanwckf/build-beikeyun/releases/latest
[*]准备工作

[*]去Github Release下载你喜欢的固件,解压xz包得到img镜像
[*]剪一根废旧的USB线,焊接到USB焊盘上,注意线序(可以从背面焊接,VCC可以不焊)

//upload-images.jianshu.io/upload_images/6072615-edc5c45fcef74f66.jpg

USB


[*]进入maskrom模式

[*]对于已经刷过第三方固件的机器,可按照本文后面的方法快速进入maskrom模式
[*]对于从未刷机的原厂固件,按照以下步骤操作以进入maskrom模式:
将USB线连接到电脑,然后用镊子短接主板背面的maskrom触点,最后再接入12V电源,等待两秒钟后松开镊子

//upload-images.jianshu.io/upload_images/6072615-8cabc112d9ca259a.jpg

maskrom


[*]Windows

[*]下载安装线刷驱动 (DriverAssitant_v4.5.zip)和AndroidTool,然后运行AndroidTool,如果没有出现"发现一个MASKROM设备"的提示,请重新进行准备工作
[*]选择img镜像刷入即可(loader已经预先设置无需更改)

//upload-images.jianshu.io/upload_images/6072615-91ded87cd4078279.png

AndroidTool


[*]Linux

[*]首先安装rkdeveloptool,安装教程请参考:
http://wiki.t-firefly.com/zh_CN/ROC-RK3328-CC/flash_emmc.html#rkdeveloptool
[*]下载网盘里的loader/rk3328_loader_v1.14.249.bin
[*]运行
rkdeveloptool ld可以看到有maskrom设备,如果没有,请重新进行准备工作
[*]依次执行以下命令(注意路径!)
rkdeveloptool db rk3328_loader_v1.14.249.binrkdeveloptool wl 0x0 Armbian_5.75_beikeyun_Ubuntu_bionic_default_4.4.174.imgrkdeveloptool rd设备会自动重启进入新系统armbian默认root密码为1234,第一次登陆后会让你设置新密码LibreELEC和Lakka首次启动后会自动重启调整分区特别事项
[*]最新上传的armbian镜像在boot.cmd和armbianEnv.txt中强行指定了dtb路径,可以启用自动更新。
[*]LED控制
固件默认为红灯关闭白灯点亮,手动控制方法如下:
#点亮红灯echo 1 > /sys/class/leds/red_led/brightness#熄灭白灯echo 0 > /sys/class/leds/white_led/brightness
[*]如果USB3.0不能正常工作,请观察USB插座附近的焊盘是否有下图中的磁珠,如果有,用小号的一字螺丝批撬掉即可:

//upload-images.jianshu.io/upload_images/6072615-964343108c022910.jpg

有问题的主板


//upload-images.jianshu.io/upload_images/6072615-d1ca94c059dffacb.jpg

正常的主板


[*]部分USB3.0移动硬盘在uasp模式下工作异常(斐讯H1盒子的jms576没有问题),此时需要按照以下方法禁用uasp(仅适用于armbian):
首先插入移动硬盘,输入lsusb -t,确认移动硬盘工作在uas模式,然后执行lsusb记录下移动硬盘的vid和pid,例如2537:1081,最后修改/boot/armbianEnv.txt,在usbstoragequirks项目里按照原有格式(逗号分隔符,16进制的vid/pid)追加你的vid:pid,重启机器即可
[*]已经刷入Rock64的armbian固件后,可以在上电时长按主板正面的微动开关进入maskrom模式而无需短接触点,此时ttl输出如下(波特率:1500000):


zhouhyangxx 发表于 2019-10-5 10:02:42

DDR version 1.13 20180428
ID:0xFFF
In
SRX
DDR3
786MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
ddrconfig:1
OUT
Boot1 Release Time: Feb2 2018 15:41:39, version: 2.46
ChipType = 0x11, 209
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=7456MB
FwPartOffset=2000 , 2000
SdmmcInit=0 2
StorageInit ok = 19161
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
LoadTrustBL
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0xa4e00
RunBL31 0x10000
NOTICE:BL31: v1.3(debug):f947c7e
NOTICE:BL31: Built : 20:41:40, Nov 26 2018
NOTICE:BL31:Rockchip release version: v1.3
INFO:    ARM GICv2 driver initialized
INFO:    Using rkfiq sec cpu_context!
INFO:    boot cpu mask: 1
INFO:    plat_rockchip_pmu_init: pd status 0xe
INFO:    BL31: Initializing runtime services
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-armbian (Feb 08 2019 - 11:49:32 +0100)

Model: Pine64 Rock64
DRAM:1022 MiB
MMC:   rksdmmc@ff520000: 0, rksdmmc@ff500000: 1
SF: unrecognized JEDEC id bytes: ff, ff, ff
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Pine64 Rock64
misc_init_r
cpuid=55524b50303930323200000000192205
serial=433a170c2728fd1
rockchip_dnl_mode = 1 mode
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
rockchip_dnl_mode = 2 mode
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
rockchip_dnl_mode = 3 mode
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
rockchip_dnl_mode = 4 mode
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'power' operation failed (err=-121)
LED 'standby' operation failed (err=-121)
entering maskrom mode...
对于已经刷入任一第三方固件的机器,可以采用以下方法进入maskrom模式:
接好TTL(波特率:1500000),上电后在U-boot倒计时结束前按任意键进入U-boot命令行,输入以下指令擦除emmc前面的内容:
mmc erase 0 100
然后复位

reset
复位后就进入maskrom模式了

LibreELEC 8.90默认未开启IPv6支持,通过以下方法可以打开:
ssh或者ttl进入终端,运行connmanctl进入交互配置,首先输入services查看当前网络连接:
connmanctl> services
*AO Wired                ethernet_0a9aae88e7aa_cable
然后输入

config ethernet_0a9aae88e7aa_cable --ipv6 auto preferred
这里的ethernet_0a9aae88e7aa_cable替换成你自己的services,可以使用Tab补全操作
最后输入quit退出

禁用armbian的ramlog与zram
修改/etc/default/armbian-ramlog与/etc/default/armbian-zram-config,注释ENABLED=true即可

RK3328体质测试
使用StabilityTester在不同频率下运行hpl基准测试

克隆源码:git clone https://github.com/hanwckf/StabilityTester.git && cd StabilityTester
构建hpl:sudo bash build_hpl.sh
进行10轮测试:./runbench.sh 10
已知问题
poweroff关机后的功率比待机还高

ledc 发表于 2019-10-5 10:06:30

这个在简书上看到了。

zhouhyangxx 发表于 2019-10-5 10:09:44

ledc 发表于 2019-10-5 10:06
这个在简书上看到了。

嗯,就是从简书上搬运的,为了金币,表示勤劳了很多:lol

mao3pan 发表于 2019-10-5 17:01:58

辛苦了,谢谢!

unnamed100 发表于 2019-10-5 17:07:37

没有图啊,是我权限不够吗?

zhouhyangxx 发表于 2019-10-6 00:08:36

unnamed100 发表于 2019-10-5 17:07
没有图啊,是我权限不够吗?

现在我也看不到图了,可能图片地址被禁用了。

longge123 发表于 2019-10-6 00:16:35

不错不错

xydche 发表于 2019-10-6 07:25:17

感谢分享!
页: [1] 2
查看完整版本: [转载]贝壳云P1 刷机指南