我最近在 Beagle Bone Black 上安装了 Ubuntu 13.04。这个图片:
https://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz
该微控制器允许通过 USB 在主机 PC(版本 12.04(精确)(64 位)、Kernel Linux 3.2.0-56-generic)和 BeagleBone 之间共享互联网连接,所以我选择了它并按如下方式配置设备:
BeagleBone 黑色:
ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1
Run Code Online (Sandbox Code Playgroud)
主机:
sudo su
#eth0 is my internet facing interface, eth3 is the BeagleBone USB connection
ifconfig eth2 192.168.7.1
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth2 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
在 Internet 连接自己工作之后,当我这样做时,ping 8.8.8.8我得到了结果:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 …Run Code Online (Sandbox Code Playgroud) 我尝试安装 arm-none-eabi-gdb 作为 gcc-arm-embedded 的一部分。我添加了 PPA:
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
Run Code Online (Sandbox Code Playgroud)
并执行:
sudo apt install gcc-arm-embedded
Run Code Online (Sandbox Code Playgroud)
它的回应是:
Err:8 http://ppa.launchpad.net/team-gcc-arm-embedded/ppa/ubuntu focal Release
404 Not Found [IP: 91.189.95.83 80]
Run Code Online (Sandbox Code Playgroud)
据我了解 - gcc-arm-embedded 没有适用于 Ubuntu 20 的版本。所以我在软件和更新中将这个 PPA 的发布版本更改为仿生,这样我就可以避免错误 404。
尽管 ubuntu 20 具有 libisl22,但现在我在尝试安装 gcc-arm-embedded 时仍有未满足的依赖项:
The following packages have unmet dependencies:
gcc-arm-embedded : Depends: libisl15 (>= 0.15) but it is not installable
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
我无法找到安装请求的 libisl 版本的方法,因为 apt 仅提供两个版本 - libisl22 和 libisl-dev,安装程序不接受这两个版本。 …
我认为,主要区别在于它及其包含的软件可以在 ARM 上运行,而普通的 Ubuntu 不能?还有其他区别吗?
Ubuntu ARM 是否只运行 Unity 2D?是否仍支持 3D 效果?
Ubuntu ARM 可以联网吗?它可以与其他 Ubuntu(非 ARM)计算机联网吗?这个过程和普通的 Ubuntu 一样吗,至少本质上是一样的吗?
当我运行时sudo apt-get update,出现以下错误:
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/binary-armhf/Packages 404 Not Found [IP: 91.189.91.15 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)
我试过/etc/apt/sources.list.d/查看是否可以删除该目录中的任何内容,但所有内容都在
nodesource.list
nodesource.list.save
Run Code Online (Sandbox Code Playgroud)
在我的sources.list文件中,我有:
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security main
deb http://archive.ubuntu.com/ubuntu trusty main
# deb-src http://archive.ubuntu.com/ubuntu trusty main
Run Code Online (Sandbox Code Playgroud)
任何人都可以推荐一种修复此错误的方法吗?
我最近在虚拟机上的 M1 MacBook Air 上安装了 Ubuntu ARM(使用 Parallels),与 Windows ARM 和 macOS ARM 不同,Ubuntu ARM 似乎不包含 x86 应用程序的转换层,这使得该系统几乎无法用作很多Linux软件还不支持ARM。
例如,我在尝试使用 Gdebi 安装 VSCode 时遇到此错误:
我不敢相信 Linux ARM 上还没有翻译层,因为它是一个开源操作系统,通常比其他操作系统更容易、更快地开发此类东西。
有没有我可以安装的翻译层?
我的目标是在 Qemu(在 Ubuntu 16.04 x64 主机上)运行 Ubuntu 16.04 (ARM)。
我试图按照这个-old- 教程没有成功:
Home directory not accessible: Permission denied
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
Could not initialize SDL(No available video device) - exiting
Run Code Online (Sandbox Code Playgroud)
debian_squeeze_armel_standard.qcow2我没有使用那里使用的图像,而是使用ubuntu-16.04-preinstalled-server-armhf+raspi2.img。
忘记上面提到的文章,在 Qemu 上运行 Ubuntu 16.04-arm 的正确方法是什么?
如果无法轻松地在 Qemu 上运行它,还有其他选择吗?
最近,像BeagleBoard这样的 ARM 单板系统已经上市。与手机或平板电脑不同,这些系统可以作为普通 PC 运行。但是随着 ARM 处理器的种类繁多,尚不清楚哪些设备可以运行 Ubuntu ARM。
请为 Ubuntu ARM 支持的每个型号和设备品牌创建一个答案。
老Q ARM 官方镜像是否兼容树莓派?
在浏览他们的网站后,我发现Raspberry Pi基于 Broadcom BCM2835 SoC 和 ARM11 处理器。从 Oneiric 开始的官方 ARM 映像是否支持这些映像?
我想知道如何在具有 ARMv7 处理器的设备上安装正常的 Ubuntu 工作版本?
是否有一个列表,我可以在其中预过滤架构:arm 和所有移植的包出现?到目前为止,我只是通过反复试验进行搜索,例如输入我感兴趣的包的名称(在packages.ubuntu.com中),然后确认该包是否适用于arm平台。但是对于多个包来说,这需要很多时间!
好吧,这是一个非常奇怪的问题,发生在两个带有各自 8GB SD 存储卡的树莓派系统上:
简单的例子:当我将文件写入磁盘时,看起来文件已被写入。
我可以编辑文件vim test.dat,在其中输入文本,然后保存。
ll 将列出该文件。
cat 将显示文件的内容。重新启动后该文件将消失。
所以我认为正在发生的事情是 ubuntu 将文件写入 ubuntu 的磁盘缓存,但它不会将文件提交到磁盘。用户空间程序可以继续读取文件并使用它们,但缓存从内存返回目录列表和文件内容,而不是从磁盘。因为重启后磁盘上就没有新数据了。
另一个例子:
dd if=/dev/zero of=testfile.dat bs=1M count=1000
Run Code Online (Sandbox Code Playgroud)
它创建一个 1GB 大小的文件。ll 列出该文件。df -h 显示磁盘上的数据已多使用 1GB。但重新启动后,该文件消失了,并且 df -h 显示旧的可用空间。
有趣的事实:我知道 SD 卡的最大写入速度是 9MB/秒,这是我使用笔记本电脑将磁盘映像添加到 SD 卡上时得到的结果。但是在树莓派的SD卡上运行这个dd命令,dd报告写入速度为110MB/秒。不可能的。这就是为什么我认为操作系统只是写入 RAM 而不是提交到磁盘。
第三个例子:我有一个脚本,它编辑一个名为interfaces的文件,然后以root身份将其复制到/etc/network/interfaces文件中,以更改设备的IP。然后脚本重新启动。
#!/bin/bash
cp /var/project/scripts/interfaces /etc/network/interfaces
/sbin/reboot
Run Code Online (Sandbox Code Playgroud)
重启后,设备仍然使用旧的 IP 地址...奇怪...
第四个例子:Raspberry 运行一个 Percona 数据库。我有一个包含 186 个条目的表。我截断了表格。使用 php 代码和 webmin 查看数据 - 该表应该是空的。重启后数据又回来了。真的... 186 个条目。这让我很害怕。
我可能完全错了。有任何想法吗?
我一直致力于这个 ubuntu 安装,并在每次主要软件更新后通过克隆磁盘映像进行定期备份。我一直注意到奇怪的事情(比如运行脚本后 IP 没有改变),但直到今天我才意识到这个问题,似乎我所有的克隆磁盘映像都出现了这个问题。在某种程度上它一定工作得很好,然后 pi 上的 ubuntu 出了问题......
问:如何让ubuntu写入SD卡?
arm ×10
apt ×2
14.04 ×1
arm64 ×1
beagleboard ×1
dns ×1
gcc ×1
networking ×1
qemu ×1
raspberrypi ×1