我很享受破解我的Chumby One。但是,如果我可以在其上运行 PHP,我更愿意。我有perl并python安装。
有谁知道我是否可以为其编译 PHP,或者是否有现成的 Chumby 发行版包含 PHP?
我已经下载了expect5.4。我正在尝试为运行精简版 linux 的 ARM(PandaBoard) 交叉编译它。
在配置的初始设置中,我尝试
Shell$ ./configure --host=ARM
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for correct TEA configuration... ok (TEA 3.9)
configure: configuring expect 5.45
checking for Tcl configuration... found /home/user1/scripts/tcl8.6.0/unix/tclConfig.sh
checking for existence of /home/user1/scripts/tcl8.6.0/unix/tclConfig.sh... loading
configure: --prefix defaulting to TCL_PREFIX /usr/local
configure: --exec-prefix defaulting to TCL_EXEC_PREFIX /usr/local
checking for ARM-gcc... /home/user1/toolchain/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
checking for C …Run Code Online (Sandbox Code Playgroud) 我尝试安装一个交叉工具链,以便我可以在 amd64(Debian 测试“jessie”)上为我的 ARM 系统构建 Linux 内核。我有这个条目sources.list:
deb http://www.emdebian.org/debian sid main
Run Code Online (Sandbox Code Playgroud)
当我尝试安装gcc-4.7-arm-linux-gnueabi 时,出现错误:
cc-4.7-arm-linux-gnueabi : 依赖:libgomp1-armel-cross (>=4.7.2-5) 但它不会被安装
libgomp1-armel-cross又依赖于gcc-4.8-base-armel-cross,它在任何地方都不可用。
在某些时候,我确实设法从同一个存储库安装了这些交叉构建工具,甚至在几周前构建了一个现在可以在这些 ARM 系统上运行的内核。该存储库中是否有损坏的东西?我尝试了几个其他版本的 GCC,但仍然遇到同样的问题。
一个不理想的解决方案是在 Ubuntu 12.04 VM 中交叉构建。该发行版具有可从其官方存储库获得的 ARM 交叉编译器。
我正在使用基于相当老的飞思卡尔 ARM 芯片的嵌入式 Linux 板。如何确定那里的 Python 解释器是否使用了芯片上的硬件 FPU?
我的 /proc/cpuinfo 是:
处理器:ARM926EJ-S rev 5 (v5l) BogoMIPS : 179.81 特点:swp 半拇指 fastmult edsp java CPU 实现者:0x41 CPU架构:5TEJ CPU变体:0x0 CPU部分:0x926 CPU版本:5
我正在运行 Debian 7.1。我试图apt-get install -f,并搞砸了。所有命令行返回
ln: relocation error: /lib/arm-linux-gnueabihf/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-armhf.so.3 with link time reference
Run Code Online (Sandbox Code Playgroud)
好像有些软链接坏了,但我不知道如何解决。
我有一个 Terasic-SoCKIT(fpga 和 arm cortex a9),我在 HPS 上运行 Linux。我正在尝试访问内存映射 I/O,编写了一个带有函数“request_mem_region”和“ioremap”的简单字符驱动程序。
内存映射 IO 是 AXI 总线,我可以使用它向 FPGA 传输数据。我看到每次写入大约需要 6us,对于我的应用程序,我需要它小于 1us。此外,驱动程序在几次写入后停止写入映射的 IO(看不到 fpga 中的数据正在更改;驱动程序中的缓冲区是否已满??)。
问题是我是否遗漏了什么,或者因为写入是从虚拟地址到物理地址发生的,所以它不能再快了?如果从虚拟地址写入速度变慢,有没有办法加快速度?我知道,ARM 有一个 DMAC,但我还没有探索它。
谢谢你,卡西克
对不起,我没说我正在测量用户空间代码中的时间。后来查了一下驱动写入的时间,是纳秒级。所以,我认为大部分时间是从用户空间写入内核。
所以,我做了一些进一步的阅读并了解到 ioremap() 将物理地址映射到内核虚拟地址,而 remap_pfn_range() 将物理地址/IO 内存映射到用户虚拟空间(这就是我需要的;从用户写入 IO 内存空间)。我使用了简单的 mmap 示例 - http://web.cecs.pdx.edu/~jrb/ui/linux/examples.dir/simple/simple.c作为内核驱动程序。以下代码是我的用户空间代码:
using namespace std;
#include <iostream>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdint.h>
#include <ctime>
#define PAGE_SIZE 4096
#define HPS2FPGA_BRIDGE_BASE 0xc0000000
#define BLINK_OFFSET 0x0
volatile unsigned char *blink_mem;
void *bridge_map; …Run Code Online (Sandbox Code Playgroud) 在为 x86_64 编译的 Linux 内核之间进行二进制差异时,版本之间的差异相对较大(超过 25%)。不同版本的源存档之间的大小差异较小(大约 8% 或更小)。
ARM 的二进制内核映像之间的大小差异是否会小于 x86_64?我在某处读到 ARM 可执行文件之间的二进制差异小于 x86_64 可执行文件的二进制差异,因为编译后的代码放置在更可预测的位置,但我不记得在哪里找到它。
二进制 ARM Linux 内核映像版本之间的差异是否小于 x86_64?
我有一块LeMaker HiKey开发板。我购买它是为了在 ARM64 cpu 架构上测试几个库。该板提供两个Cortex-A53处理器,提供八个内核,使用Linaro Linux:
$ uname -a
Linux hikey 3.18.0-linaro-hikey #1 SMP PREEMPT Mon Nov 30 00:11:03 UTC 2015
aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我观察到自检的运行速度比预期的要慢一些,所以我正在对其进行温和的调查。我还注意到 a catof/proc/cpuinfo正在返回看起来不太正确的东西,但我不确定它是否值得关注。它对我来说看起来不太正确,因为我曾经看到每个核心的 cpu 信息(类似于/proc/cpuinfo 中的处理器数量)。
的输出是否/proc/cpuinfo表明电路板或其配置有问题?还是某些开发板需要此输出?
ARM Cortex A53(八核):
$ cat /proc/cpuinfo
Processor : AArch64 Processor rev 3 (aarch64)
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
Features : fp …Run Code Online (Sandbox Code Playgroud) 我有一堆 ARM 设备。它们在硬件上没有区别。我可以在不使用 MAC 地址的情况下以某种方式为每个设备获取一个唯一的 ID 吗?即使我使用新内核和 rootfs 刷新 NAND,此 ID 也必须保持不变。其硬件基于 Atmel AT91SAM9。
我正在尝试将 Navicat 这是一个 x86-64 二进制文件安装到我的 aarch64 机器上,这导致“无法执行二进制文件:Exec 格式错误”
这是file在可执行文件上运行的结果:
navicatess15-sqlserver-en.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped
这是我的uname -a:
Linux penguin 4.19.98-08076-g24ab33fb8e14 #1 SMP PREEMPT Wed Apr 1 17:17:36 PDT 2020 aarch64 GNU/Linux
有什么办法可以在我的机器上运行这个可执行文件吗?
(Idk 如果这有什么不同,但我在带 OP1 处理器的三星 Chromebook Plus 上运行 Linux)
arm ×10
linux ×5
debian ×3
chrome-book ×1
cpu ×1
executable ×1
expect ×1
gcc ×1
glibc ×1
io ×1
linux-kernel ×1
php ×1
symlink ×1
x86 ×1