问题标签 [archlinux-arm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux-kernel - linux-kernel 配置文件中代码的含义
我想为树莓派 3 配置和构建内核。但是当我读取配置文件时,我不知道linux-kernel
配置文件中的代码是什么意思。我尝试搜索它,但我找不到它。
前任:
CONFIG_SYSVIPC=y
-> 什么CONFIG_SYSVIPC
意思?
CONFIG_POSIX_MQUEUE=y
-> 什么CONFIG_POSIX_MQUEUE
意思?
publish - .Net Core 2.0 发布,缺少依赖项
我在两台不同的计算机上拥有相同的 hello world 项目(这是您从模板创建的项目),其中一台已创建并复制到另一台 PC。两者都有.net core 2.0,我正在使用命令行构建:“dotnet publish -r linux-arm”。
有一段时间它对两者都有效,但其中一个在 console.writeline 上停止,但没有找到 System.Runtime.Extensions。对于那个构建,它不在文件夹(dll)中,也没有在“ConsoleApp1.deps.json”中引用,这是两个构建之间的唯一区别,但源是 100% 相同的。
我什至尝试从那台电脑上删除所有 .net 核心安装,vs2017 预览版并重新安装 .net 核心 2.0(在卸载后立即尝试,但它无法识别 dotnet 命令)
如果我替换依赖文件并将该 dll 添加到失败的构建中,它就可以工作。
postgresql - 为 PhpPgAdmin 用户设置密码
我已经在我的 PostgreSQL 服务器中安装了 phpPgAdmin,并在 Apache 上将其配置为通过 HTTP 访问。关键是,虽然它工作正常,但我看到了一个安全问题。
截至目前,我在“服务器”端只看到一个名为“PostgreSQL”的服务器,在“phpPgAdmin”图像后面(谈论 Web 前端),所以我到达该服务器,它要求我提供用户和密码,这是我之前通过 PostgreSQL CLI 设置的,但这是问题所在。我有一个名为“megver83”的用户,有一个密码(比如“myPassword”),所以如果我在用户名中输入“megver83”,在密码中输入“myPassword”,它可以工作,但任何密码都可以!所以我输入“123”而不是“myPassword”,我可以登录,并且可以使用我输入的任何内容,除非我将其留空:P
我在创建用户时设置了密码createuser -P megver83
,甚至尝试使用 更改该密码ALTER ROLE
,但同样的事情。这很奇怪,但是,我是 PostgreSQL 的新手,还没有找到解决方案。
我正在为 ARMv7 运行 Parabola GNU/Linux-libre(基于 Arch)。
提前致谢。
android - 在 Termux 下的 ArchLinux 上 pip install 坏了
使用 python 3.6.4:
在全新的 Termux 安装中,我会按照https://wiki.termux.com/wiki/Arch
之后在 ArchLinux 中:
并且总是得到:
此外 --user 或 pyvenv 根本没有帮助。任何建议,我做错了什么?
请注意:
- 安卓设备没有root
- ArchLinux 用户是 root(默认)
- 权限看起来不错。我可以手动将文件复制到目标目录就可以了。
更新:使用 python 2.7.14 一切正常。
assembly - 树莓派 3 B 型 ARM 组装非法指令(核心转储)
我正在搞乱我的新树莓派,而且我对组装还很陌生。我已经在 Google 和 SO 上寻找解决方案,这是我最接近运行程序的方法。
main.s(评论来自我在互联网上找到的解释)
然后我组装as main.s -o main.o
并链接到ld main.o -o main
. 运行./main
输出“非法指令(核心转储)”。
它是在 64 位四核 ARM Cortex-A53 上运行ARM Arch Linux的 Raspberry Pi Model B。
as
目标:只编译和链接一个 ARM 汇编程序,该程序ld
将成功退出
c - Arch Arm 的交叉编译不会产生功能性可执行文件
我将Arch Arm安装到 Rpi3 上,然后 rsync'd sysroot 到安装在 Lenovo thinkpad 上的 x86_64 Arch Linux。
然后我安装了arm-linux-gnueabihf Linaro 交叉编译器
为了避免任何问题,我在编译中使用了绝对路径:
代码编译得很好,但是当我在 Rpi3 上执行它时它没有输出。
它不会冻结 Pi,我可以ps aux
看到由fork()
.
但是没有打印任何调试语句,也没有任何进程退出。
编辑
此代码基于压力库。对于 MCVE,我将其最小化为仅hogcpu
功能
我可以在 Pi 上成功编译并执行它:
但是,当交叉编译并传输到 Pi 时,上述行为就是我所看到的。
笔记
这很可能与clock_gettime
通话有关。当我用clock()
函数调用替换它时,我可以在笔记本电脑上编译和运行它,但在 Pi 上编译gcc
具有与上述相同的行为。
在 Pi 上使用clock_gettime
和编译时,它工作正常。
visual-studio - 如何从 Windows VS2017 .NET Core 应用程序为 linux-arm 发布?
如何从 Windows VS2017 .NET Core 应用程序为 linux-arm 发布?当我尝试制作新的发布配置文件时,我可以选择目标运行时:便携、win-x86、win-x64、osx-x64 和 linux-x64。(菜单:构建->发布->新建配置文件->文件夹->高级->目标运行时)
如何添加发布到 linux-arm 和 linux-x86 的可能性?我应该在我的开发人员机器上安装更多东西吗?
python - 在屏幕上分离运行的脚本有时只是休眠直到重新连接
我有一个小 python3 脚本来控制我们的中央供暖。它通过一个while true:
循环运行,与time.sleep(-time.time() % 5)
系统时钟同步,同时if
永远检查语句。总运行时间超过一年。它在 Raspberry 2 上的 Arch Linux ARM 上的 GNU 屏幕内运行。
到目前为止,它发生了两次,程序只是“休眠”,直到我登录并重新连接到屏幕。然后我可以看到输出,例如五小时前它开始睡眠时的输出,一旦重新连接到屏幕,它就会继续工作并提供新的输出。
我不知道从哪里开始,因为我没有收到任何错误,而且“睡眠”恰好发生在没有我能想到的任何关系的情况下。
我还有另外两个 python 脚本也在它自己的 GNU 屏幕上运行。一个脚本仍然使用 a 将温度记录到数据库中,time.sleep(-time.time() % 60)
而另一个脚本始终将值保存到数据库中。
emacs - Manjaro Arm 的 Scheme 编程语言支持?
我正在我的 Raspberry Pi 3 上试用 Manjaro Arm,但令人惊讶的是,我发现只有 Guile 作为唯一可行的 Scheme 解释器/REPL。
我尝试了以下方法:
pacman 在存储库中找不到 Racket 和 Mit-Scheme。
Chicken Scheme 似乎已安装,但只能作为 Chicken 编译器运行,csi REPL 是 MIA。
Chibi Scheme似乎可以很好地编译和安装(并且 make test 在 make install 之前运行良好),但随后在寻找支持文件(libchibi-scheme.so.0)时崩溃。
Chez-Scheme以 X86 为中心,尚未创建臂叉。历史上较旧的版本也在 Sun SPARC 上运行。我没有尝试编译或安装它。
我更喜欢Geiser支持的 REPL 方案,在Emacs中运行。
linux-kernel - 为什么某些 Linux 系统支持 open() 系统调用而不支持其他系统?
我正在内联系统调用。是的,我知道这是有问题的,但我有充分的理由。我已经大量追踪了我的错误,我只是想问为什么__NR_open在这个 arm64 Arch Linux 系统上消失了?
5.0.1-1-ARCH #1 SMP Sun Mar 10 15:08:34 MDT 2019 aarch64 GNU/Linux
同样,我的代码是内联系统调用。这种内联方法适用于另一个X86_64系统,并且内联mmap()确实适用于该系统。但是,在这个 arm64 Arch Linux 上内联open()失败并出现EFAULT。
追踪我的错误,首先,__NR_open甚至没有在这个构建环境中定义。其次,常规open()调用open64(),它执行x8 设置为 #56的svc指令__NR_openat。第三,__NR_open通常定义为 5,并且该数字已重新用于__NR_setxattr。这解释了EFAULT。
基本上,open()在这个系统的用户库中被转换成openat()并且__NR_open系统调用已经完全消失,由一个新的系统调用接管。我不明白的是__NR_open是在 arm64 的规范源代码中定义的,但不是在这个 Arch Linux arm64 系统上。
我的错误修复很简单:改为内联openat()。但我的问题是为什么它被删除了,为什么它不被认为是从 Linux POV 中破坏的?我在想 Linus 说我们不会破坏用户空间!而且我不是从 POSIX POV 考虑这个问题。事实上,Linux 编程接口至少没有明确地涵盖此删除。