Swift现在是开源的.有没有人试过编译Swift的Raspberry PI?我开始做,但我的8 GB SD卡似乎太小了;)是否可以从Ubuntu交叉编译?
一个8GB的SD卡可以正常工作,但您需要扩展根卷.我有它的工作,在/ dev / root分区上使用的空间是3.1GB左右.
下面的步骤是基于Andrew Madsen的博客文章,稍微专注于fdisk中的步骤.
获得Ubuntu
从finnie.org下载Ubuntu 14.04的Raspberry Pi 2的图像,并将其复制到SD卡上.启动覆盆子皮.
更改分区
登录到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
在提示符下输入“打印分区表”.有两个分区
/dev/mmcblk0p1 * 2048 133119 65536 c W95 FAT32 (LBA) /dev/mmcblk0p2 133120 3670015 1768448 83 Linux
出现提示时,输入d(用于删除),然后输入2.然后,通过输入n重新创建分区,然后输入p,然后按2,然后在接下来的两个提示中接受默认值.
再次输入p并看到第二个分区现在更大,现在使用8GB卡上的所有空间.
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
使用更新替代方法提供/usr/bin链接为clang和clang:
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更新:
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上