- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个可用的 debian 软件包,我想将其移植到当前版本的 Raspberry Pi OS 64 位(而非 32 位 Raspbian)。
令人困惑的是,虽然 Debian 本身似乎很健壮,能够在自己的包中启用交叉构建,但关于如何构建 raspberry Pi OS(64 位)包的官方文档似乎要少得多¹。
由于我相对确定这应该是可能的,所以我问:
如何采用 debian .dsc/debian 规则,并在 x86_64 上构建 64 位 Raspberry Pi OS 64 位兼容镜像
我想这是一个相当标准的事情,我只是不知道该怎么做。我很高兴使用容器和类似技术,因为我可以轻松地将其与 CI 集成。
我不打算使用 Arm64 VM,因为有问题的软件在 x86_64 服务器上本地构建和测试大约需要一个小时。
¹我已经谈到了 Raspbian 名气的 plugwash,正如这个问题的早期版本所示:关于 Raspbian OS 64 位的遗传性存在重大混淆:它不是 Raspbian 也不是基于它。但是包括维基百科和 RPi 基金会在内的人们自己将 Raspberry Pi OS 和 Raspbian(“Raspberry Pi OS,以前称为 Raspbian”)混为一谈,后者仅为 32 位。
最佳答案
RaspberryPi 文档 here已经解释了如何从源代码构建 x64 内核。你想要的是在某种程度上完全一样。请注意内核构建页面上的这一行:
sudo apt install crossbuild-essential-arm64
Linux 主机上的此命令会安装一个在 AMD64 机器上运行的编译器,但会生成一个在 ARM 机器上运行的二进制文件。
这一行告诉编译器实际构建该架构的源代码:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
图像模块 dtbs
特定于您的项目。它们可能不同。
至于您的 Debian 软件包,您无法将 AMD64 软件包转换为 ARM 软件包。如果您的 RaspberryPi 包不存在于官方或某些第三方存储库中,则必须从源代码构建。
找到您的包的源代码并以与 RaspberryOS 非常相似的方式构建它。
如果你的包有依赖关系,它会变得有点复杂。首先,在您的 RaspberryPi 上安装依赖项。然后你应该在你的主机上设置一个 sysroot
,它基本上是 RaspberryPi 上预安装包的镜像。然后,为了编译您的包,您应该将 sysroot 地址提供给交叉编译器,以便它可以找到依赖项。
还有另一种方法,您可以将包的源代码放在您的树莓派上并在本地构建它,根据源代码可能需要很长时间。只是为了感觉,没有 WebEngine 模块的 Qt 源代码对我来说花了 48 小时。但是 Qt 很大。
总而言之,如果您的包二进制文件不在任何存储库中,您必须从源代码编译它。
不同项目和可执行文件的交叉编译彼此非常相似。要清楚地了解该过程,查找一些其他移植到 RaspberryPi OS 的项目可能会有所帮助。诸如 Qt、Android 的 TagLib 和...
关于raspberry-pi - 如何为 Raspberry Pi OS 64 位交叉构建 debian 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68410208/
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在使用带有Grove Pi +(1.2.2固件)的Raspberry Pi 3 B模型和用于Robots Image的Raspbian。 我在I2C-1端口中插入了多 channel 气体传感器,
这看起来非常简单,但我似乎无法弄清楚如何将 -Pi 和 Pi 之间的角度映射到 0 到 2Pi 的范围内。我尝试使用 np.select 但由于某种原因它卡住了我的程序。我需要这个范围内的角度,因为它
在使用 SciPy 和 NumPy 的项目中,我应该使用 scipy.pi , numpy.pi , 或 math.pi ? 最佳答案 >>> import math >>> import numpy
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我有一个运行 Raspbian 的 Raspberry Pi 1。我尝试在 Raspberry Pi 3 上运行 SD 卡,但它没有启动。 我已经阅读了有关升级 Raspberry Pi 2 安装以在
#include using namespace std; #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #d
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我目前正在尝试RadiusNetworks发布的Raspberry Pi iBeacon教程,网址为 http://developer.radiusnetworks.com/2013/10/09/ho
我无法在运行Raspbian的Raspberry Pi 3上安装我创建的 Electron 应用程序。我已经使用了electronic-packager来创建软件包,然后创建了一个debian安装程序
我想在Linux上为Raspberry Pi 1设置交叉编译环境。 特别是我想尝试最新版本,即Raspbian测试+ Qt5开发分支。 这个问题: How can I create a modern
我想要从我的 Raspberry Pi Zero 到手机的低延迟流式传输。据我了解,移动浏览器不支持 RTMP 流式传输,HLS 流式传输具有高延迟,而 webRTC 是我最好的选择。 有谁知道从零开
我的公司使用 Raspberry Pi 3 作为产品中的嵌入式 Controller 。用户不会优雅地关闭它,他们只是扳动一个开关。为避免损坏,/boot 和/root 文件系统是只读的。这似乎是防弹
如何使用 Raspberry Pi 作为 b/w USB Tethered 手机和路由器的桥接器,使用“以太网电缆 b/w Raspberry Pi 和路由器”和“USB 电缆 b/w 手机和 Ras
我正在尝试在Raspberry Pi 3上安装Rakudo Star 2018.04。 我做: sudo perl Configure.pl --gen-moar --gen-nqp --prefix
我正在寻找一些可以有效完成的不错的 C 代码: while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI; while (deltaPhase T Mod(T
我正在尝试为 raspberry Pi 构建跨环境以在 Eclipse CDT for windows 上构建二进制文件。 我得到了用于访问 GPIO 的 Wiring Pi,我需要使用“Window
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我正在寻找一些可以有效完成的不错的 C 代码: while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI; while (deltaPhase T Mod(T
这个问题在这里已经有了答案: C: How to wrap a float to the interval [-pi, pi) (15 个答案) 关闭 9 年前。 我想知道是否可以定义一个只能取 -
我是一名优秀的程序员,十分优秀!