小编Jon*_*rin的帖子

使用 QEMU 模拟树莓派

我想使用 QEMU 在我的 MacOSX 上运行 RaspberryPi 系统。我使用本教程尝试了以下操作:

./qemu-system-arm -M多功能pb -cpu arm1176 -m 256 -hda ArchLinuxARM-2014.06-rpi.img -kernel kernel.img -append "root=/dev/sda" -serial stdio

ArchLinuxARM-2014.06-rpi.img我的 RPi 图像在哪里,kernel.img准确来自哪里ArchLinuxARM-2014.06-rpi.img(我复制了它,但我不确定这是一个绝妙的主意)。

结果我得到了两个 QEMU 窗口。一个有“机器”和“查看”菜单,以及显示以下消息的黑屏:

来宾尚未初始化显示(尚未)。

第二个只是一个黑色的窗口。

我在使用 Raspbian 映像和相同的命令时遇到了同样的问题。我究竟做错了什么?

arch-linux qemu raspberry-pi raspbian

8
推荐指数
1
解决办法
8307
查看次数

Java 进程冻结,直到我使用 100% CPU

我遇到的问题

在 Android-Studio、Eclipse 甚至命令行 Gradle 上工作时,Java 软件经常死机(即使通常是在我更新系统/更改 java 之后)。对于 Android-Studio 和 Eclipse,如果我移动到另一个桌面并返回,那么它会变成一个灰色窗口并且界面永远不会回来,即使在几个小时之后也是如此。我想这是一个Java问题。

它并不总是发生:我通常在几周内没有任何问题,直到它再次出现。我不明白是什么让它停止了:当它发生时,我尝试重新启动我的计算机,更改我的 Java JDK 版本,但它没有改变任何东西。然后有一天,我启动了我的计算机,问题消失了 - 在接下来的几周内。

我能观察到的

  • 一个 CPU 始终保持 100%
  • 我不能让Android工作室的线程转储(如描述在这里):它冻结为好。
  • 如果我在 Android-Studio/Eclipse/Gradle 冻结时运行大型 C++ 编译(即占用我所有 CPU 的编译),那么它会停止冻结并且我可以继续我的工作直到下一次(但它经常发生) .

我试过的

  • 我尝试了另一个窗口管理器:我可以在 XMonad 和 Fluxbox 上重现该错误
  • 我试图export _JAVA_AWT_WM_NONREPARENTING=1在/etc/profile.d/jre.sh
  • 我试图在java-7-jdk, java-7-openjdk, java-8-jdk,之间切换java-8-openjdk
  • 我试着跑 wmname LG3D
  • 我试着跑pkill -e adb,正如评论中所建议的
  • 我试图jmap <pid>在<pid>Android Studio 上,但我有一个“DebuggerException: Can't attach to the process”
  • 我尝试jcmd <pid> …

arch-linux java eclipse intellij

8
推荐指数
1
解决办法
2654
查看次数

docker容器之间的虚拟串口

我可以在 Linux 系统上创建两个链接的虚拟串口socat,并假装一端是串口设备,另一端是一些使用该设备的代码。该socat命令看起来像:

socat -d -d pty,raw,echo=1 pty,raw,echo=0
Run Code Online (Sandbox Code Playgroud)

它在系统上创建了两个端口,例如/dev/pts/3和/dev/pts/4。

现在,我想更进一步,有两个 docker 容器代表系统:一个容器伪装成串行设备,另一个容器是使用该设备的代码。目标是在生产中,我可以移除虚拟设备容器并只使用真实传感器。

问题是我似乎找不到devpts在两个容器之间共享的方法,不知何故感觉这不是一件好事。

有没有办法通过使用命名管道而不是 pty 来实现完全相同的行为(虚拟串行端口)?然后我可以在容器之间共享文件(比如“/home/user/folder/my_pipe”)(实际上我会在两者上安装“/home/user/folder”,然后两者都可以访问my_pipe)。

或者是否有另一种更好的方法来使用 docker 完成所有这些工作?

pipe serial-port pty socat docker

5
推荐指数
1
解决办法
2276
查看次数

从 bitbake 配方中编写 udev 规则

我可以通过创建一个 bitbake 配方在 yocto 上编译和安装东西。我想在连接特定设备时运行我的代码。

有没有一种优雅的方法可以从 bitbake 配方中添加 udev 规则?做类似的事情听起来echo "<my udev rule>" >> /etc/udev/rules.d/90-local.rules不是一个好计划......

udev yocto

4
推荐指数
1
解决办法
4029
查看次数

标签 统计

arch-linux ×2

docker ×1

eclipse ×1

intellij ×1

java ×1

pipe ×1

pty ×1

qemu ×1

raspberry-pi ×1

raspbian ×1

serial-port ×1

socat ×1

udev ×1

yocto ×1