专栏首页汪宇杰博客树莓派4上跑 .NET Core 3.0,这次,真·64位!

树莓派4上跑 .NET Core 3.0,这次,真·64位!

导语

前不久我写了一篇《在树莓派4上安装 .NET Core 3.0 运行时及 SDK》,以及后续《“自启动”树莓派上的 .NET Core 3.0 环境》、《Nginx 配置内网访问树莓派4 ASP.NET Core 3.0 网站》、《田牌魔术 | .NET Core 3.0 + Azure 远程点亮树莓派上的一盏灯》。但是由于当年树莓派官方系统 Raspbian 并没有64位版,因此只能跑ARM32的.NET Core 3.0。不过现在,情况有所改变,今天我成功在树莓派4上运行了 ARM64 的 .NET Core 3.0

Gentoo

由于 Windows 10 IoT Core (以及上面的UWP们)暴尸荒野而苟且偷生使用 Linux 的我,已经彻底开荤了。最近我发现有个叫 Gentoo 的 Linux 系统,支持树莓派4的64位CPU。项目地址:

https://github.com/sakaki-/gentoo-on-rpi-64bit

而且作者还是个妹子

系统下载和安装过程不多叙述了,和安装树莓派的其他系统完全一致。安装好以后即可下载.NET Core 3.0 SDK,ARM64位版:

wget https://download.visualstudio.microsoft.com/download/pr/cbc83a0e-895c-4959-99d9-21cd11596e64/b0e59c2ba2bd3ef0f592acbeae7ab27d/dotnet-sdk-3.0.100-linux-arm64.tar.gz

wget https://download.visualstudio.microsoft.com/download/pr/5cbf9f66-7945-43e2-9b7c-351f900e9893/2fcd48f3d4db99283ebdb46daf9bacec/aspnetcore-runtime-3.0.0-linux-arm64.tar.gz

mkdir dotnet-arm64

tar zxf aspnetcore-runtime-3.0.0-linux-arm64.tar.gz -C $HOME/dotnet-arm64

tar zxf dotnet-sdk-3.0.100-linux-arm64.tar.gz -C $HOME/dotnet-arm64

export DOTNET_ROOT=$HOME/dotnet-arm64

export PATH=$PATH:$HOME/dotnet-arm64

其余.NET Core骚操作和我之前写的文章一样,也可以玩ASP.NET Core。

Ubuntu 19.10

Ubuntu 最近发布了自称支持树莓派4的19.10版本。其树莓派4的64位镜像下载及安装文档在这里:

https://ubuntu.com/download/iot/raspberry-pi

但不幸的是,我始终没能成功在树莓派4上启动这个版本的Ubuntu系统。一个叫做 cloud-init 的货成功卡住每一次启动,因此没法给大家实验 Ubuntu 在树莓派4上是否能跑 ARM64 的 .NET Core。

官方 Raspbian 的64位版

在树莓派官方论坛上,有Raspbian的官方开发人员dom发了这么个贴:

Pi4 64-bit raspbian kernel for testing - Focus on Pi4

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=250730&hilit=64+bit

这是个非常易爆的测试版,还没有正式发布。我也尝试了一下,结果发现系统内核虽然是64位的,但是好像因为userland是32位的关系,.NET Core 3.0 ARM64并没识别成功。

本文分享自微信公众号 - 汪宇杰博客(ediwangblog),作者:汪宇杰

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • .NET Core 2.2 正式发布

    我们很高兴地宣布.NET Core 2.2版本。它包括对运行时诊断的改进、对 Windows 的 ARM32 和 SQL 客户端的 Azure Active D...

    Edi Wang
  • 高级进阶:Azure DevOps搞定.NET Core编译版本号自增

    熟悉.NET Framework的人知道,我们可以通过指定AssemblyVersion为10.0.*来让编译器自增版本号。但是.NET Core和.NET S...

    Edi Wang
  • 将传统 ASP.NET 应用迁移到 .NET Core

    现在越来越多的人在谈论. NET Core。诚然,.NET Core 是未来, 但是.NET Framework 仍在支持, 因为大量的应用程序无法在短时间内迁...

    Edi Wang
  • 1分钟链圈 | 吴忌寒:“人工智能+区块链”将是未来不可错过的重要发展方向

    这里是 9 月 11 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。

    区块链大本营
  • Python从零开始第三章数据处理与分析python中的dplyr(4)目录

    可以使用separate(column,into,sep =“[\ W _] +”,remove = True,convert = False,extra ='...

    用户1359560
  • 锯齿湖-最具商用价值的开源区块链项目:超级账本(4)

    Sawtooth Lake(锯齿湖)是由超级账本联盟成员英特尔(Intel)公司发起的分布式账本平台试验项目,最初发布的时候称为intelledger,在进入超...

    用户5128711
  • 043android初级篇之android studio代码加入版本控制

    项目开发中,代码加入版本控制的必要性毋庸置疑。android studio中集成有代码的版本控制。

    上善若水.夏
  • 【MySQL(2)| MySQL索引机制】

    索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。

    周三不加班
  • mysql创建索引

    1、索引需要占用磁盘空间,因此在创建索引时要考虑到磁盘空间是否足够 2、创建索引时需要对表加锁,因此实际操作中需要在业务空闲期间进行

    周小董
  • 云直播录制及设置文件存储时长

    &storage_time=600 指定文件保存的时长,单位为秒s,600s

    醉生萌死

扫码关注云+社区

领取腾讯云代金券