请选择 进入手机版 | 继续访问电脑版

1621 新版 hmcode

回答|共 46 个

zytc

发表于 2021-4-22 10:12:17 | 显示全部楼层

TecSupport 发表于 2021-4-22 08:56
您好,问题答复如下:
1.发布的内核源码3231支持1621了,这个需要使用对应平台的hmcode;如,你现在使用1 ...

我们的目的是在1621的设备上运行KVM虚拟机。
现在论坛里提供了 hmcode,4级页表的grub.efi , 内核,还需要配套的BIOS吧
您这能提供一下吗?或者完整的4M flash文件。
回复

使用道具 举报

Hex

发表于 2021-4-22 11:07:30 来自手机 | 显示全部楼层

zytc 发表于 2021-4-21 15:05
我们现在用的固件版本如图

烧写了新版本的hmcode,系统无法启动了,rpc 读到的是 core  0: 0x1fdf8

该版本hmcode配合申威社区的内核源码使用,请下载申威社区内核源码,log有说明。为统一对多款申威处理器的支持,不同处理器使用不同的hmcode固件,内核源码只有一套,已在部分1621平台上初调试完成(参考配置为aere_defconfig),实事求是地说适配程度有限,欢迎爱好者试用反馈。

另外,PC:0x1fdf8 是fatal error的死循环,已经在维护卡(可能是1.6版本)开发一个scan_error工具,用于辅助诊断故障,近期应会发布,敬请期待
回复

使用道具 举报

Hex

发表于 2021-4-22 13:20:43 来自手机 | 显示全部楼层

TecSupport 发表于 2021-4-21 17:22
另外,再确认一下,你当前系统的内核是用的社区-助力申威-开源项目中发布版本的内核源码去编译的吗?发布 ...

由于hmcode与BIOS耦合紧密,而目前的附件列表中缺少支持SW1621的BIOS。厂商手上的1621服务器使用的应该是原厂的BIOS,社区新近提供的hmcode.nh.87532f11未兼容到原厂BIOS,在不匹配的情况会引起一些困惑。

有两种解决办法:
①社区提供匹配BIOS,hmcode.nh.87532f11、BIOS、grub-4level组合应可解决
②sw1621的hmcode增加对出厂BIOS和grub的兼容,应该只要打开一个配置选项重新编译一下即可,验证无误后上传到社区。
回复

使用道具 举报

TecSupport

发表于 2021-4-26 18:25:57 | 显示全部楼层

我这边验证了,华胜天成的6A服务器可以使用:

如下路径提供我的实验版本,明天会发布新版本。

链接:https://pan.baidu.com/s/1Y1gpN-o9z55g7JzlqC2KXQ
提取码:m87d
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享

包括实验版本固件和内核文件:

一、以提供的二进制内核文件启动范例
1. 内核、模块二进制
vmlinux1:放在/boot目录
4.19.90-aere.zip:解压后放在/lib/modules目录下

2. grub菜单引导配置文件
grub.efi:申威社区上四级页表1621(6A服务器)版本,放在/boot/grub目录下

3.系统img文件
initrd.img-4.19.90-aere:放在/boot目录下

二、用发布版本的内核源码编译内核二进制启动
1.内核编译配置参考文件
config:内核配置参考文件,解压后放在内核源码中编译生成内核二进制

2.编译内核、模块,并生成对应的initrd.img文件

3.替换内核模块等文件,重启
回复

使用道具 举报

zytc

发表于 2021-4-27 13:25:44 | 显示全部楼层

本帖最后由 zytc 于 2021-4-27 13:41 编辑
TecSupport 发表于 2021-4-26 18:25
我这边验证了,华胜天成的6A服务器可以使用:

如下路径提供我的实验版本,明天会发布新版本。

您好,使用了新的固件,操作系统可以启动了。多谢!
然后我把 KVM 相关选项打开后重新编译,也在grub.cfg 的内核启动选项上加入了 kvm_reserved_mem=on,
但使用qemu启动虚拟机时报下面的错误:

qemu-system-sw64 -machine core3 -kernel /root/linux-stable-sw/vmlinux1 -nographic --enable-kvm
kvm_set_phys_mem: error registering slot: Cannot allocate memory
已放弃

root@uos-gui:~# dmesg
[ 5851.376000] vcpu: [0], regs addr = 0xfff00007e8ec1140, vcpucb = 0xfff00007e8ec1630
[ 5851.380000] kvm_arch_prepare_memory_region: 0x0 0x8000000, user addr: 0x400018000000
[ 5851.380000] Failed to allocate 0x8000000 bytes below 0x0.
[ 5851.380000] memblock free:0x0, size:0x0


回复

使用道具 举报

Hex

发表于 2021-4-27 16:14:01 来自手机 | 显示全部楼层

zytc 发表于 2021-4-27 13:25
您好,使用了新的固件,操作系统可以启动了。多谢!
然后我把 KVM 相关选项打开后重新编译,也在grub.cfg  ...

你好,看命令行的参数未指定虚拟机内存,试试加上呢
回复

使用道具 举报

zytc

发表于 2021-4-27 16:28:33 | 显示全部楼层

不是这的问题,不加内存参数默认使用128M内存
回复

使用道具 举报

Hex

发表于 2021-4-27 17:41:11 来自手机 | 显示全部楼层

zytc 发表于 2021-4-27 16:28
不是这的问题,不加内存参数默认使用128M内存

嗯,没注意报错已提示0x8000000 byte了,是
分配的起始地址不对,不应该从0开始啊,回头再看看代码
回复

使用道具 举报

Hex

发表于 2021-4-27 18:38:51 来自手机 | 显示全部楼层

zytc 发表于 2021-4-27 13:25
您好,使用了新的固件,操作系统可以启动了。多谢!
然后我把 KVM 相关选项打开后重新编译,也在grub.cfg  ...

你好,kvm_reserved_mem内核参数是早期调试虚拟化功能时引入的,该参数会预留一定数量的内存,欠缺灵活性,为了支持用户指定预留内存数量,已调整该参数的语义,请尝试kvm_reserved_mem=32g 这样的用法。

你上面帖子提到的错误现象,是因为在新的参数语义下,kvm_reserved_mem=on不会预留内存,所以导致分配内存失败。
回复

使用道具 举报

zytc

发表于 2021-4-28 10:28:36 | 显示全部楼层

Hex 发表于 2021-4-27 18:38
你好,kvm_reserved_mem内核参数是早期调试虚拟化功能时引入的,该参数会预留一定数量的内存,欠缺灵活性 ...

上面的报错没有了,十分感谢!

抱歉又有新疑问了,启动时报错
# qemu-system-sw64 -machine core3 --enable-kvm
hwaddr = 0x804910000000
qemu-system-sw64: no hmcode provided

然后我指定了本机使用的hmcode,hmcode-sw1621-release-v1.1.1
# qemu-system-sw64 -machine core3 --enable-kvm -bios /root/hmcode-sw1621-release-v1.1.1
hwaddr = 0x804910000000
qemu-system-sw64: no hmcode provided

然后我在qemu-sw/pc-bios 下找到了 core3-hmcode,hmcode.bin 两个可能文件,问题依旧
# qemu-system-sw64 -machine core3 --enable-kvm -bios /root/qemu-sw/pc-bios/core3-hmcode
hwaddr = 0x804910000000
qemu-system-sw64: no hmcode provided
# qemu-system-sw64 -machine core3 --enable-kvm -bios /root/qemu-sw/pc-bios/hmcode.bin
hwaddr = 0x804910000000
qemu-system-sw64: no hmcode provided

我想咨询下,使用-biso 指定hmcode的方法对吗,另外我该使用哪里的hmcode文件呢?
万分感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则