目录
- 基本情况
- 刷机方法
- 特别事项
- 已知问题
- 参考资料
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空焊盘。
此机器的配置与 Pine64 rock64 、Firefly ROC-RK3328等开发板相似,不过贝壳云没有使用rk805作为pmu,而且外围接口也少很多。
可以使用rock64的dts为基础进行修改,目前可用的dts及其配套的内核源码请参考以下repo:
适用于armbian等无桌面系统
https://github.com/hanwckf/linux-rk3328/blob/master/arch/arm64/boot/dts/rockchip/rk3328-beikeyun.dts适用于LibreELEC等桌面系统
https://github.com/hanwckf/linux-rk3328-box/blob/master/arch/arm64/boot/dts/rockchip/rk3328-beikeyun.dts
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可以不焊)
- 进入maskrom模式
- 对于已经刷过第三方固件的机器,可按照本文后面的方法快速进入maskrom模式
- 对于从未刷机的原厂固件,按照以下步骤操作以进入maskrom模式:
将USB线连接到电脑,然后用镊子短接主板背面的maskrom触点,最后再接入12V电源,等待两秒钟后松开镊子
- Windows
下载安装线刷驱动 (DriverAssitant_v4.5.zip)和AndroidTool,然后运行AndroidTool,如果没有出现"发现一个MASKROM设备"的提示,请重新进行准备工作
选择img镜像刷入即可(loader已经预先设置无需更改)
- 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.bin
rkdeveloptool wl 0x0 Armbian_5.75_beikeyun_Ubuntu_bionic_default_4.4.174.img
rkdeveloptool rd
设备会自动重启进入新系统
armbian默认root密码为1234
,第一次登陆后会让你设置新密码
LibreELEC和Lakka首次启动后会自动重启调整分区
特别事项
由于armbian官方系统有自动更新功能,而更新后的dtb目录不包含我们自己添加的dtb,因此在刷完系统之后需要禁用armbian系统更新。
禁用方法:运行armbian-config
,进入System
菜单,选择Freeze
即可
最新上传的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插座附近的焊盘是否有下图中的磁珠,如果有,用小号的一字螺丝批撬掉即可:
部分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):
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: Feb 2 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
关机后的功率比待机还高
参考资料
- http://wiki.t-firefly.com/zh_CN/ROC-RK3328-CC
- http://wiki.pine64.org/index.php/ROCK64_Main_Page
- http://wiki.pine64.org/index.php/ROCK64_Software_Release
- http://files.pine64.org/doc/rock64/ROCK64_Schematic_v2.0_20171019.pdf
- https://github.com/ayufan-rock64/linux-kernel
- https://github.com/hanwckf/linux-rk3328
- https://github.com/hanwckf/linux-rk3328-box
- https://github.com/hanwckf/build-beikeyun
- https://github.com/rockchip-linux/rkbin
- https://dl.armbian.com/rock64
- https://libreelec.tv/downloads_new/rockchip