ophub/amlogic-s9xxx-armbian

希望适配 SMART Technologies AM40

GD2021 opened this issue · 27 comments

配置:
处理器 | RK3399, 双核 A72+四核 A53, 64 位, 2GHz
记忆 | 4 GB DDR3L 内存
存储 | 32 GB eMMC 5.1
无线技术 | 蓝牙 4.1802.11A/B/G/N/AC
捕获选项 | 与支持的移动设备建立蓝牙无线连接
连接 | HDMI 1.4 (1920 × 1080) 输出,用于外部显示器USB 3.0 A 型 (×2)RJ45 千兆以太网

https://www.touchboards.com/smartboard-ugk-am40-edu/#tech-specs

dtb、安卓备份、乌班图固件下载地址:
https://musetransfer.com/s/aozlnkmfm

image
image

ophub commented

你这个armbian是在哪下载的?官方支持了?找一下这个am40.dtb的原始dts文件。

还有 CRRC 之前那个帖子的原地址现在无效了,你给个新的地址,能看到那个很多设备下载的网站,我下个固件。

已测试,可正常启动

你这个armbian是在哪下载的?官方支持了?找一下这个am40.dtb的原始dts文件。

还有 CRRC 之前那个帖子的原地址现在无效了,你给个新的地址,能看到那个很多设备下载的网站,我下个固件。

https://g.itemz.cn/Wb8URg

感谢!!!

我没找到dts,只有这两个dtb,地址:https://musetransfer.com/s/6jq15dl9p
不知为何,我用线刷工具写入emmc,不能启动(HDMI不显示,是否真实启动未知),写入TF卡可正常启动。

ophub commented

没有源码,不知道这个u-boot里是否支持emmc启动。

ophub commented

有相关源码或者可用的ubuntu/debian/armbian/openwrt等系统没,如果有的话新开个帖子讨论吧,不要把不同的机器混在一个帖子里讨论。

o大,什么时候出bullseye噶,ubuntu的用不习惯

ophub commented

给你编一个am40,5分钟以后在releases里下载

给你编一个am40,5分钟以后在releases里下载

谢谢o大!

O大,没检测出A72的cpu

root@armbian:~# lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 1
Core(s) per socket: 6
Socket(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 1800.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Vulnerable
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid

root@armbian:~# lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 1
Core(s) per socket: 6
Socket(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 2016.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Vulnerable
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid

rk3399-smart-am40-oc.dtb 的cpu频率高些,不过还是没检测出A72的CPU

ophub commented

你看别的机器应该也是这么个结果,我看了几个不同型号的机器都只显示了大核

你看别的机器应该也是这么个结果,我看了几个不同型号的机器都只显示了大核

不知道咋回事呢,但是a53显示的频率是不对的,显示了a72的频率。群友贴他板子(不同板子,同rk3399)如下

Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Vendor ID: ARM
Model name: Cortex-A53
Model: 4
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Stepping: r0p4
CPU max MHz: 1512.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
Model name: Cortex-A72
Model: 2
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Stepping: r0p2
CPU max MHz: 2016.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-5
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Vulnerable
Srbds: Not affected
Tsx async abort: Not affected

你这个armbian是在哪下载的?官方支持了?找一下这个am40.dtb的原始dts文件。

还有 CRRC 之前那个帖子的原地址现在无效了,你给个新的地址,能看到那个很多设备下载的网站,我下个固件。

官方固件不是zip,是个img文件。我解压出来了boot.img和uboot.img,但是没工具进一步解包。我到手的am40就是刷了原生android的,不是原始固件所以没提取。
解压出来的uboot和boot我上传到了github:https://github.com/dos7lo/am40
原始固件和两个文件也上传到了百度网盘。https://pan.baidu.com/s/1_Nsm6_UVIRlIk50A3pAOEA?pwd=mc6a
提取码:mc6a
补充谷歌网盘:https://drive.google.com/drive/folders/1M5133bfxPSKqx3iJmEzvsDtwFk1Tk22u?usp=sharing

dts 提取出来了 但是转化的命令一堆Warning,不清楚是否是好的,所以原始dtb也放到了一起。https://github.com/dos7lo/am40

ophub commented

这种反编译的不是正常dts,只能小改微调使用,不是源文件。

除非有人手搓源代码,要不是没有的了。

异构核心---升级至7.2-15之后,可以在web上手动绑核,PVE官方已经支持绑核
kvm目前不自适应异构核心CPU,例如RK3399,属于4小核,2大核组成的6核。

当KVM在初始化虚拟机的时候,不知道给虚拟机哪个线程。会出现下面报错
kvm: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument

所以当你的CPU是异构的情况时,你必须在虚拟机启动的时候,手动绑定线程。

如下:
#将虚拟机配置导出为kvm命令
qm showcmd 100 >100.cmd
#添加指定权限
chmod +x 100.cmd
#手动绑定0-3cpu到这个虚拟机
taskset -c 0-3 100.cmd

当然,可以修改PVE底层代码,完成自动化。

编辑/usr/share/perl5/PVE/QemuServer.pm 文件

在下面位置添加#号之间的内容,可以通过搜索kvm_binary; 快速定位

my $use_old_bios_files = undef;
($use_old_bios_files, $machine_type) = qemu_use_old_bios_files($machine_type);
#添加
if (defined($conf->{cpu_taskset})) {
push @$cmd, 'taskset', '-c', $conf->{cpu_taskset};
}

push @$cmd, $kvm_binary;

在下面位置添加#号内容,可以通过搜索$cicustom_fmt 快速定位。

meta => {
    type => 'string',
    format => $meta_info_fmt,
    description => "Some (read-only) meta-information about this guest.",
    optional => 1,
},

#######################
cpu_taskset => {
optional => 1,
type => 'string',
description => "CPU pinning config.",
verbose_description => "When specified VM will be launched with cpuset -c {cpu_taskset} kvm ...\n"
."No argument test is performed so please make sure the value matches VM cpu total thread count.\n"
."This is required when VM is sensitive to host context switching (e.g. gaming),"
." or when host is not SMP so VM thread could be switched to a different CPU architecture (e.g. big.LITTLE for ARM).",
},
#################################
};

my $cicustom_fmt = {
meta => {
type => 'string',
optional => 1,
修改完成之后,重启pve服务

systemctl restart pvedaemon

@GD2021 请问这个固件前置HDMI能用吗? 我刷了之后用前置HDMI没显示,其他功能到是正常。

有大佬修正了前置HDMI问题,可以添加一下吗? https://musetransfer.com/s/ytst3djin

@ophub
感谢大佬的贡献!
大佬有加为armbian加上 Panfrost 驱动支持的计划没?
目前Arm 官方只提供安卓平台Mali 系列GPU的支持。有国外大神开源Arm linux Mali 系列GPU的驱动 Panfrost ,可用于加速计算、视频编解码、界面渲染等操作。

p

am40 前置usb3.0 接jms578易驱线3.5硬盘(DC供电) 没显示 没日志 仅仅是硬盘转动。接am40尾插usb2.0速度20M/s(SMB速度7M/s-20M/s)。电脑 100M/s。 内核6.1.52,6.1.55(armbian-update)
apt upgrade报
The following packages have been kept back:
armbian-bsp-cli-odroidn2-current
绿联硬盘盒2.5正常使用

@linoul 链接过期了,可以重新提供一下么?我想看看前置hdmi是怎么解决的。