Swift现在是开源的。有没有人尝试过为Raspberry PI编译Swift?我开始这样做了,但我的8 GB SD卡对它来说似乎太小了;)可以从Ubuntu交叉编译吗?
发布于 2016-01-08 21:37:37
8 8GB的SD卡可以正常工作,但您需要扩展根卷。我已经让它工作了,/dev/root分区上的已用空间大约是3.1 is。
下面的步骤基于Andrew Madsen的博客文章,并特别关注了fdisk中的步骤。
获取Ubuntu
从finnie.org下载用于Raspberry Pi 2的Ubuntu14.04镜像,并将其复制到SD卡上。启动Raspberry Pi。
更改分区
登录到Raspberry Pi并更改分区大小。/dev/root默认大小为1.7G,可用容量为1.1G。这还不够。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 1.7G 540M 1.1G 35% /
devtmpfs 458M 4.0K 458M 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 93M 228K 93M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 462M 0 462M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/mmcblk0p1 64M 20M 45M 31% /boot/firmware运行fdisk
sudo fdisk /dev/mmcblk0在提示符下输入p,表示“打印分区表”。有两个分区
/dev/mmcblk0p1 * 2048 133119 65536 c W95 FAT32 (LBA)
/dev/mmcblk0p2 133120 3670015 1768448 83 Linux出现提示时,输入d (表示删除),然后输入2。然后,通过依次输入n、p和2重新创建分区,然后在接下来的两个提示符下按enter键,接受默认值。
再次输入p,可以看到第二个分区变大了,现在8 GB卡上的所有空间都用完了。
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 133119 65536 c W95 FAT32 (LBA)
/dev/mmcblk0p2 133120 15523839 7695360 83 Linux输入w将更改写入磁盘,然后重新启动
sudo reboot调整分区大小
在重新引导之后,通过运行以下命令来调整分区文件系统的大小
sudo resize2fs /dev/mmcblk0p2交换空间
通过执行以下操作来设置交换文件
sudo apt-get install dphys-swapfile安装libicu dev和clang-3.6
sudo apt-get install libicu-dev clang-3.6使用update-alternatives为clang和clang++提供/usr/bin链接:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100然后,添加@iachievedit的存储库密钥:
wget -qO- http://dev.iachieved.it/iachievedit.gpg.key | sudo apt-key add -将适当的存储库添加到sources.list:
echo "deb [arch=armhf] http://iachievedit-repos.s3.amazonaws.com/ trusty main" | sudo tee --append /etc/apt/sources.list运行apt-get update:
sudo apt-get update安装Swift
sudo apt-get install swift-2.2安装完成后,您就可以编译Swift程序了!
写Swift
打开你最喜欢的文本编辑器,编写一个程序,然后保存它(例如,保存到‘hello.swift’):
let device = "Raspberry Pi 2!"
print("Hello from Swift on \(device)")编译它
swiftc hello.swift并运行它:
./hello
Hello from Swift on Raspberry Pi 2!就这样!Swift在Raspberry Pi上运行
发布于 2017-05-16 22:01:30
Swift包管理器于2017年4月底通过PR-1098获得了自定义工具链支持。
我在这里写了关于如何构建RaspberryPi工具链的详细说明:macOS -> RasPi Cross Compilation Toolchain,甚至是相反的(build macOS binaries on a RaspberryPi)。这同样适用于Intel-Linux到ARM-Linux,只需进行最少的修改。SwiftPM代码库包含一个example script,介绍如何从英特尔-macOS到英特尔-Ubuntu执行此操作。
你可以在这里找到2017-05-01关于Swift- on -ARM的更新:An Update on Swift 3.1.1 For Raspberry Pi Zero/1/2/3。
作为一个小总结,所以这个答案不仅仅是链接;-),ARM status 2017-05-16:
来说可能有点小
在Raspbian上的
Swift ARM您还可以运行(并编译)
swift-arm是
https://stackoverflow.com/questions/34107889
复制相似问题