新买了一台华为擎云 W510 二手的机器,用来折腾鲲鹏920.

配置

这个机器主板上是有个无线网卡的,但除了自带的系统,也没系统可以使用。

处理器:HUAWEI Kunpeng 920 3211K(二十四核/二十四逻辑处理器)
主板:HUAWEIPGU-WBYO-PCB
BIOS 版本: 1.11
内存:16GB(8ATF2G64HZ-3G2E2 DDR4 3200 MT/S)/16GB(8ATF2G64HZ-3G2E2 DDR4 3200 MT/S)
显示适配器:Lexa PRO[Radeon RX550/550X]
音频适配器:Baffin HDMI/DP Audio [Radeon RX 550 640SP/RX560/560X]/USB Audio
存储设备:SAMSUNG MZVLB512HBJQ-00000 (512 GB)/HFM512GD3JX013N(512GB)
网络适配器:HNS GE/10GE/25GE RDMA Network Controller
光驱:DVD A DU8AESH

安装系统

ubuntu-22.04.4-live-server-arm64

按照教程,刷好U盘后,选择启动安装向导之后,系统假死了。这里其实是遇到了一个华为在 kernel 5.11 提交的功能变更触发了 BIOS 的 bug。因为 Ubuntu 20.04,甚至是 UOS 和银河麒麟的 kernel 版本是 5.4 所以不会触发,但是 Ubuntu 22.04 的内核版本是 5.15。费解的是,华为知道这个 bug,但就是不去修。

解决方法也很简单,看到 GRUB 启动界面后,摁键盘上的 e 键来编辑启动选项,在 Linux 启动选项中增加一个参数 initcall_blacklist=hisi_ddrc_pmu_module_init,然后用 Ctrl+X 组合键或者 F10 键启动就可以了。

安装完成后,没法直接修改/etc/default/grub文件,还是等重启后,进入选择grub界面时再输入一次,然后再进入系统,修改/etc/default/grub如下所示:

# 编辑grub
$ vim /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="initcall_blacklist=hisi_ddrc_pmu_module_init"
GRUB_CMDLINE_LINUX=""
# 编辑完成后更新grub
$ update-grub

这里除了添加启动参数initcall_blacklist,还将GRUB_TIMEOUT_STYLE设为menu,这样启动的时候默认才有引导的选项.
同时设置了GRUB_TIMEOUT=10等待10s倒计时.

windows

尝试了下windows11 on arm,直接在启动引导界面就报错:
mtG7.png

虽然有大佬解决了类似的问题:https://github.com/dixyes/d920s10,在另外一块鲲鹏920主板的台式机上解决了这个。但折腾这个需要了解uefi的知识,现阶段还是超出我的能力了,告辞.

pikvm

这里的pikvm是上大学的时候自己做的,兼容raspberry pi 4.
这里有几个小坑自己备注下.

修改密码

刚安装完的pikvm记得修改密码喔

$ rw
# 修改系统密码
$ passwd root
# 修改网页密码
$ kvmd-htpasswd set admin
$ ro

hdmi-csi没画面

  1. 机器放的有点久了,树莓派多上会电就行,然后再就是拔插下。
  2. 使用的电源供电不足,有条件的话测下是不是usb压降到了5v以下,这样会启动保护导致无法使用hdmi转csi.

风扇

这里记录下我自己焊的板子开启风扇的方法:

# 关闭只读
$ rw
# 开启风扇服务并且重启
$ wget -O - "https://raw.githubusercontent.com/th3drk0ne/DKN-Fan-Controller/main/install-pikvm.sh" | sudo bash

因为没科学上网,所以部分文件需要手动下载传进去到对应的位置。
建议修改下风扇转速的策略,或者购买5V滚珠轴承(10000转速) 标配XH2.54插头风扇,可以和客服说要静音版本.

$ rw
$ cd /opt/dkn
$ vim fan_ctrl-dkn.py
# 原来策略
tempSteps = [30, 40, 50, 60, 70, 85]    # [C]
speedSteps = [0, 40, 50, 60, 80, 100]   # [%]
# 静音策略
tempSteps = [30, 40, 50, 60, 70, 85]    # [C]
speedSteps = [0, 5, 10, 15, 20, 25]   # [%]
# 使新策略生效
systemctl restart dkn-fan.service
# 修改完转速后查看温度情况
vcgencmd measure_temp
# 查看是否出现欠压或者过温(如果是0x0说明一切正常)
vcgencmd get_throttled
# 在受控机器不断打印刷新屏幕
while true; do echo ${date +%s.¥N) ¢{date +%¥s.¥N)$(date +%s.%N )$(date +%s.%N); done

修改edid

因为我用了一个hdmi分配器1进2出 的设备,用来同步本地的显示器画面和PIKVM的画面,但PIKVM默认的edid是720P,会导致PIKVM的显示和显示器显示错位,即以720P显示优先。
因此我需要修改下HDMI-CSI的采集卡的edid

  • 将文件系统切换到 RW 模式:rw.
  • 创建新的 EDID 文件/root/edid.hex(文件内容示例如下所示)。
  • 使用命令应用 EDID kvmd-edidconf --edid=/root/edid.hex --apply
  • 不要重新启动 PiKVM。只重启电脑,检查 UEFI/BIOS 或操作系统。
  • 如果一切正常,您可以使此配置永久化:kvmd-edidconf --import=/root/edid.hex。此命令将以漂亮的格式写入 EDID 文件:/etc/kvmd/tc358743-edid.hex
  • 将文件系统切换到 RO 模式:ro.
    我使用的edid配置是:
00FFFFFFFFFFFF0010AC132045393639
201E0103803C22782ACD25A3574B9F27
0D5054A54B00714F8180A9C0D1C00101
010101010101023A801871382D40582C
450056502100001E000000FF00335335
475132330A2020202020000000FC0044
454C4C204432373231480A20000000FD
00384C1E5311000A2020202020200181
02031AB14F9005040302071601061112
1513141F65030C001000023A80187138
2D40582C450056502100001E011D8018
711C1620582C250056502100009E011D
007251D01E206E28550056502100001E
8C0AD08A20E02D10103E960056502100
00180000000000000000000000000000
0000000000000000000000000000004F

你们也可以根据需求从这里面查找适合自己的:EDID

wake-on-lan

试了下,华为擎云 W510 不支持wake-on-lan,也不支持来电自启,bios的设置是无效的.
原因是关机的情况下,台式机的网卡也是断电的状态。

要对服务器使用 LAN 唤醒,您必须定义一些选项,例如服务器的 MAC 地址和(可选)IP 地址。
编辑/etc/kvmd/override.yaml。格式为:

kvmd:
    wol:
        mac: ff:ff:ff:ff:ff:ff
        ip: 192.168.0.100
        # port: 9  # By default

替换ff:ff:ff:ff:ff:ff为您服务器的 MAC 地址.
默认情况下,数据包通过广播请求发送到整个 IPv4 网络(255.255.255.255、 端口9)
然后使用systemctl restart kvmd重新启动kvmd.
这样在 System 按钮下新增了一个WoL按钮用来唤醒机器.
mrZh.png
注:主板的wol开关也记得得打开.

外网访问

可以用反向代理,端口转发,vpn等方式实现外网访问,具体可以查看官方的教程:转发端口
如果使用转发端口的方式,还需要注意确保使用的stun服务器工作正常,这样webrtc才能正常工作。


参考:
华为擎云 W510 拆机 & 用它做日用开发怎么样?
华为擎云 W510
Wake-on-LAN

最后修改:2024 年 04 月 05 日
如果觉得我的文章对你有用,请随意赞赏