S-2K2000板卡已知问题
- 安装系统时PMON需要使用acpi传参
- pmon下USB键盘不支持热插拔
- pmon下插入部分USB键盘 进pmon特别慢,兼容性问题,后续统一解决
- 不支持emmc,等待更新pmon
S-2K2000板卡手动引导USB命令
load (usb0,0)/boot/vmlinuz.
initrd (usb0,0)/boot/initrd.gz
g console=ttyS0,115200
PMON编译方法
- 安装ubuntu20.04系统
- 解压龙芯交叉编译工具到/opt目录
tar xvf loongarch64-linux-gnu-2021-06-19-vector.tar.gz -C /opt/
- 修改ACPI传参。 文件路径:PMON下的Targets/ls2k2000/conf/ls.2k2000;配置文件:ls_anpk.2k2000,可以覆盖。修改内容为ACPI的三个选项,取消注释
#
# Define target endian
#
makeoptions ENDIAN=EL # Little endian version.
option SMBIOS_SUPPORT
option ACPI_SUPPORT //取消注释
select acpi_support //取消注释
option LS_STR //取消注释
- 编译pmon,执行cmd.sh
cd zloader.ls2k2000
make cfg all tgt=rom ARCH=loongarch CROSS_COMPILE=/opt/loongarch64-linux-gnu-2021-06-19-vector/bin/loongarch64-linux-gnu- DEBUG=-g
make dtb ARCH=loongarch CROSS_COMPILE=/opt/loongarch64-linux-gnu-2021-06-19-vector/bin/loongarch64-linux-gnu-
S-2K2000安装系统的步骤
- 更新GPU_FUSE pmon
- 执行fuse_write升级GPU固件,并check
- 更新ACPI传参pmon
- 安装系统(2个版本均可)
- 替换内核
- 修改boot.cfg
- 更新正式pmon
龙芯2K2000 GPU固件升级
- 烧录gpufuse固件 (pmon_2k2000_gpufuse_nuc.bin)
- pmon下执行fuse_write–》重启板卡–》pmon下执行fuse_check
- 重启确认显示正常
- 烧录回旧pmon(目前nuc固件不支持USB,需要通过tftp烧录)
TFTP烧录pmon的方法
- 启动到pmon命令行下,开机时按c进入pmon
- 查看设备列表devls
PMON> devls
Device name Type
syn0 IFNET
syn1 IFNET
syn2 IFNET
wd0 DISK
ngbe0 IFNET
ngbe1 IFNET
ngbe2 IFNET
ngbe3 IFNET
ngbe4 IFNET
ngbe5 IFNET
ngbe6 IFNET
ngbe7 IFNET
ngbe8 IFNET
ngbe9 IFNET
PMON>
- 配置ip
ifconfig syn0 10.50.122.1
- 测试网络
ping 10.50.122.10
- 准备TFTP服务器,推荐用Windows tftd64软件
- TFTP烧录pmon
fload tftp://10.10.10.10/gzrom-gpu.bin
支持的操作系统(已实测安装)
- 龙芯嵌入式系统 Loongnix-Embedded-20.1.rc3-loongarch64-DVD-1。
已知问题:没有网络源。 - 龙芯loongnix系统 Loongnix-20.5.livecd.loongarch64.iso。
已知问题:找不到I2C设备,需要替换内核。不支持DTS传参。
龙芯系统替换内核的方法
loongnix系统更换为anntec内核后需要改为DTS传参,注销ACPI选项后重新编译PMON,并更新到板卡。
- 挂载分区2
mount /dev/sda2 /mnt
- 修改boot.cfg 增加一个内核选项
vim /mnt/boot.cfg
- 拷贝已经适配过的anntec内核vminuz文件到分区2
cp vminuz /mnt/
- 卸载分区2
umount /mnt
修改dmi显示的modle name方法:
- 默认显示的model_name是 Loongson-2K2000-EVB-V1.0
root@test-pc:~# lscpu
Architecture: loongarch64
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
BIOS Vendor ID: Loongson-2K2000-EVB-V1.0
Model name: Loongson-2K2000-EVB-V1.0
BIOS Model name: Loongson-2K2000-EVB-V1.0 CPU @ 1.2GHz
BIOS CPU family: 1
CPU family: Loongson-64bit
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
BogoMIPS: 2400.00
Flags: cpucfg lam ual fpu lsx crc32 lbt_x86 lbt_arm lbt_mips
Caches (sum of all):
L1d: 128 KiB (2 instances)
L1i: 128 KiB (2 instances)
L2: 2 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0,1
- pmon目录下执行grep -rn "board_name"找到对应的文件路径/pmon/common/smbios/smbios.c
- 修改对应的值后重新编译
#elif defined(LOONGSON_2K2000)
sprintf(board_name, "S-%s-V1.0", "2K2000");
- 更新pmon后测试,已经修改了原先的
root@test-pc:~# dmidecode -t2
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
Handle 0x0002, DMI type 2, 17 bytes
Base Board Information
Manufacturer: Anntec.cn S-2K2000-V1.0
Product Name: 1.0
Version: <BAD INDEX>
Serial Number: Not Specified
Asset Tag: Not Specified
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Not Specified
Chassis Handle: 0x0000
Type: Motherboard
Contained Object Handles: 0
DPDK的测试方法前面文章已有讲述,记录一些注意事项
- NAS上传的dpdk-l2fwd程序版本为21.11 ,启动命令需要加一个参数-P
./l2fwd -l 1 --proc-type auto --socket-mem 1024 --file-prefix lwd0 -- -q 2 -p 0x3 -T 5 --no-mac-updating -P ./l2fwd -l 1 --proc-type auto --socket-mem 1024 --file-prefix lwd0 -- -q 4 -p 0xf -T 5 --no-mac-updating -P
- 目前测试丢包较多,修改boot.cfg添加了isolcpus=1,使用core1来跑,稍有改善。龙芯认为是系统干扰严重,推荐用buildroot测试,等待更新。
i2c操作bypass命令
- 关闭bypass
i2cset -f -y 0 0x2f 0x21 0x00
- 保存设置
i2cset -f -y 0 0x2f 0x19 0xaa