
以上是我只有 512 MB 物理内存的情况。到目前为止,我读到的是 ZONE_NORMAL 映射到内核虚拟地址空间,如图所示。基本上我有一个 512 MB 的物理内存,其中 496 MB 的 ZONE_NORMAL 映射到内核虚拟空间。基于这种理解,以下是我的问题:
我完全混淆了物理内存小于 4GB 的情况,如我提出的这种情况所示。
如果有人能对此有所了解,我将不胜感激。
$ sudo ldconfig -v|grep libOpenNI
355: libOpenNI2.so -> libOpenNI2.so
Run Code Online (Sandbox Code Playgroud)
但是当我执行程序时,我得到了
./SimpleRead: error while loading shared libraries: libOpenNI2.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
奇怪的?!!
我在 chroot 环境中的 arm64 android 手机中安装了 debian stretch。我已经按照这里的这些步骤安装了 docker-ce 。
在启动泊坞窗时:: systemctl start docker
返回此错误:: Running in chroot, ignoring request.
使用service docker status节目 检查[FAIL] Docker is not running ... failed!
如何在我的 android 手机上的 chroot 中运行它?
我正在尝试取消配置或删除systemd旧 sysV 服务的包装器脚本。包装器由 Debian 软件包提供,所以我不能删除它。
包装器显示为工件并列为“生成”:
$ systemctl list-unit-files | grep -i -E 'rng|rand'
rng-tools.service generated
systemd-random-seed.service static
urandom.service static
Run Code Online (Sandbox Code Playgroud)
我systemd根据创建和修改 systemd 单元文件添加了一个新服务来替换它:
# touch /etc/systemd/system/rng-tools.service
# chmod 664 /etc/systemd/system/rng-tools.service
# emacs /etc/systemd/system/rng-tools.service
<edit file>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试启用新的服务文件时,将使用旧的 sysV 脚本:
# systemctl enable rng-tools
Synchronizing state of rng-tools.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rng-tools
Run Code Online (Sandbox Code Playgroud)
搜索结果为 0 次命中以删除旧包装器。我得到了很多类似的点击,比如创建一个包装脚本。但我还没有找到有关从systemd的数据库中删除一个的信息。
如何取消配置或删除 sysV 服务的 systemd 包装器脚本?
这是斯蒂芬建议后的结果。rng-tools.service正在使用新的:
$ systemctl status …Run Code Online (Sandbox Code Playgroud) 是否有任何适用于 ARM 处理器的 Linux 发行版(Backtrack 和 Android 除外)?特别是 ARM 11 (SE Xperia X8)
我有一部 Xperia X8 手机,我想知道是否可以在其上安装非 Android Linux 操作系统?我想要一个轻量级的 Linux 发行版,比如 Kolibri 之类的。
我有一个仅支持 Debian Lenny 的旧嵌入式板。我需要在上面安装OpenSSL-1.0.1e。如果我下载源代码然后尝试编译源代码,我会收到这个错误
ts7500:/home/openssl-1.0.1e# make
making all in crypto...
make[1]: Entering directory `/home/openssl-1.0.1e/crypto'
gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM -c -o armcap.o armcap.c
In file included from armcap.c:8:
arm_arch.h:35:5: error: #error "unsupported ARM architecture"
make[1]: *** [armcap.o] Error 1
make[1]: Leaving directory `/home/openssl-1.0.1e/crypto'
make: *** [build_crypto] Error 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能克服这个错误?
Note: ts7500:/home/openssl-1.0.1e# `uname -a`
Linux ts7500 3.4.0 #83 Sun May 26 …Run Code Online (Sandbox Code Playgroud) 我正在尝试提出一个基于 ARM 的板。我有 U-Boot 工作,但似乎无法加载内核。大多数情况下,它只会:
Starting kernel ...
Uncompressing Linux...
Run Code Online (Sandbox Code Playgroud)
在玩 U-Boot 环境设置时,它跟进了几次:
uncompression error
-- System halted
Run Code Online (Sandbox Code Playgroud)
我发现一些线程建议使用 LZO 压缩而不是 GZIP,所以我重新配置了内核,但现在它收到 LZO 压缩错误消息:
Compressed data violation
-- System halted
Run Code Online (Sandbox Code Playgroud)
任何建议我如何尝试调试它?我已经在内核中启用了 DEBUG_LL 和 printk,但这些根本没有为我服务。
我正在尝试使用 TCA8418 键盘(通过 I2C 运行)并且我已将驱动程序加载到内核中,但无法识别该设备,因此我自己实例化它并且无法绑定驱动程序。我收到以下错误:
# echo -n "1-0034" > /sys/bus/i2c/drivers/tca8418_keypad/bind
-bash: echo: write error: No such device
Run Code Online (Sandbox Code Playgroud)
这是在尝试以下操作之后(以 root 身份):
# echo -n "tca8418_keypad" 0x34 > /sys/bus/i2c/devices/i2c-1/new_device
Run Code Online (Sandbox Code Playgroud)
我分别有以下设备和驱动程序树:
/sys/bus/i2c/devices/1-0034
|-- modalias
|-- name
|-- power
| |-- autosuspend_delay_ms
| |-- control
| |-- runtime_active_time
| |-- runtime_status
| `-- runtime_suspended_time
|-- subsystem -> ../../../../../bus/i2c
`-- uevent
/sys/bus/i2c/drivers/tca8418_keypad
|-- bind
|-- module -> ../../../../module/tca8418_keypad
|-- uevent
`-- unbind
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已使用以下内容作为参考,但似乎都没有完全奏效:
我已经没有想法了,可以使用一些建议。我什至以正确的方式接近这个吗?
如果重要的话,我正在 ARM 单板计算机上运行 Debian。
编辑:
从那以后,我发现在实例化新设备时收到以下错误: …
I\xe2\x80\x99m 试图为 ARM 制作一个大端的 Linux 发行版。由于我在 Gentoo 上\xe2\x80\x99m,交叉编译再简单不过了。我\xe2\x80\x99已经构建了所有这些,但后来陷入了让它/内核启动的困境。
\n\nI\xe2\x80\x99m 针对采用 AllWinner A10 CPU 的 Cubieboard。我使用 u-boot 作为引导加载程序。由于 u-boot 不\xe2\x80\x99t 支持大端 ARM,因此我在将控制权传递给内核之前对其进行了修补:
\n\ndiff -Naur u-boot-2016.01-1/arch/arm/lib/bootm.c u-boot-2016.01-2/arch/arm/lib/bootm.c\n--- u-boot-2016.01-1/arch/arm/lib/bootm.c 2016-01-12 15:06:54.000000000 +0100\n+++ u-boot-2016.01-2/arch/arm/lib/bootm.c 2017-07-09 14:13:29.675865446 +0200\n@@ -315,7 +315,16 @@\n 0, machid, r2);\n } else\n #endif\n+ {\n+ {\n+ unsigned long v;\n+ __asm volatile ("mrc p15, 0, %0, c1, c0, 0\\n\\t"\n+ "orr %0, %0, #(1 << 7)\\n\\t" /* Switch to bigendian */\n+ "mcr p15, 0, %0, c1, c0, 0" : "=&r" (v));\n+ }\n+\n …Run Code Online (Sandbox Code Playgroud)