.NET8国产龙芯(loongarch64)初体验

点击上方蓝字 江湖评谈关注我

2ec37525db177a0c00820b7124a1d4e5.png

前言

.NET8是现在的.NET最新版本,国产龙芯(loongarch64)目前支持的.NET8版本号是:SDK 8.0.100-ea1 LTS。本篇来虚拟一个龙芯系统,体验下龙芯的.NET。

概述

大部分人手头上是没有龙芯实体机的,所以这里虚拟一个。如何虚拟呢?参考之前的文章:龙芯(Loongarch64),在Linux虚拟一个龙芯OS体验下

1.下载

之前的系统太老旧了,这里下载比较新的龙芯clfs系统基础包,地址如下:

https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/7.0/loongarch64-clfs-system-7.3.tar.bz2

以及龙芯clfs系统启动包

https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/7.0/loongarch64-clfs-system-7.3-boot.tar.bz2

同时下载一个qemu-loongarch64,它主要是模拟龙芯系统,用以验证龙芯clfs能不能正常运行

https://github.com/tangyanzhi/CLR/releases/download/loongarch64/qemu-loongarch64

2.解压,复制,注册,验证

把这两个在linux系统包解压到同一个文件,因为只有系统启动包和系统基础包同时存在,才可以正常运行一个简单的龙芯系统。

mkdir root
tar -xvpf loongarch64-clfs-system-7.3.tar.bz2 -C rot
tar -xvpf loongarch64-clfs-system-7.3-boot.tar.bz2 -C rot

解压完成之后,把qemu-loongarch64复制到你当前linux系统bin目录下

cp -r qemu-loongarch64 /bin/

然后注册下binfmt,主要是让系统识别龙芯二进制

echo ":qemu-loongarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01:\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/bin/qemu-loongarch64:" > /proc/sys/fs/binfmt_misc/register

最后通过qemu-loongarch64模拟下ls命令,看下龙芯clfs系统是否可以正常运行

/bin/qemu-loongarch64 -L root/ root/bin/ls

如果出现了当前目录,表示clfs系统正常。

3.LA64 .NET8 SDK

去龙芯官网下载dotnet8的sdk

http://ftp.loongnix.cn/tmp/dotnet/8.0.0/8.0.0-ea1/dotnet-sdk-8.0.100-linux-loongarch64.tar.gz

下载好了之后,把它解压到上面clfs系统root文件夹下面的opt文件里面

tar -xvpf dotnet-sdk-8.0.100-linux-loongarch64.tar.gz root/opt

把qemu-loongarch64复制到root/bin文件夹下

cp -r qemu-loongarch64 root/bin/

然后通过chroot运行

chroot root/
bash-5.2#

可以看到进入了bash-5.2这个终端,这个终端就是龙芯clfs终端,查看下当前的系统类型,通过uname -a命令

bash-5.2# uname -a
Linux tang-virtual-machine 6.2.0-37-generic #38~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov  2 18:01:13 UTC 2 loongarch64 GNU/Linux

我们可以看到它是GNU/Linux版本的loongarch64 。

我们看下当前龙芯clfs目录

bash-5.2# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

4.查看.NET8 SDK版本

上面进入了龙芯clfs系统,下面就是运行.NET8 SDK了。上面的第三步已经把dotnet sdk解压到了root/opt目录下。我们在bash-5.2终端进入到这个目录

bash-5.2# cd opt/
bash-5.2# ls
dotnet-sdk-8.0.100-linux-loongarch64.tar.gz

我们解压下这个压缩的dotnet sdk文件

bash-5.2# tar -xvpf dotnet-sdk-8.0.100-linux-loongarch64.tar.gz 
./dotnet
./host/
./host/fxr/
./host/fxr/8.0.0/
./host/fxr/8.0.0/libhostfxr.so
./LICENSE.txt


...........

看下它的目录

bash-5.2# ls
dotnet               metadata      shared
dotnet-sdk-8.0.100-linux-loongarch64.tar.gz  packs      templates
host               sdk      ThirdPartyNotices.txt
LICENSE.txt             sdk-manifests

跟普通.NET SDK也没什么区别,看下它的一个版本号:

bash-5.2# ./dotnet --version
SDK 8.0.100-ea1

欢迎加入.NET技术交流群

往期精彩回顾

.NET8 JIT核心:分层编译的原理

新版.Net性能有没有达到C++90%?

面试官问.Net对象赋值为null,就会被GC回收吗?

7e3c764b1c859af457ecd20782e7d306.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值