① 在鸿蒙(OHOS3.0)编译框架中添加树莓派4B
之前在树莓派4b上点亮了OHOS3.0,不过内核是用tftp拉取的,根文件系统挂在了NFS上,拔了网线就无法启动。当然这么操作只是为了方便调试,而最终需要的是一个可以烧录到TF卡上的img镜像文件。这就需要将所有调试好的内容添加到OHOS3.0的编译框架,本以为是很简单的事情,好家伙,整了这么久,感觉添加编译框架比移植本身更复杂。于是我整理了添加树莓派单板到编译框架的内容,希望对各位有所帮助,为大家避坑。
主要参考 hisilicon build组件仓,添加一个procts编译组件,这个组件是在产品配置文件中指定的。比如
proctdefinecommonproctsRPI4B.json
其他部分参考Hi3516,但是其中2条,指定单板组件路径,并添加组件。如果删除这两条,将不能编译内核,只生成OHOS的文件系统。
接下来在device目录下,新建一个raspberrypi编译组件文件夹,并添加 ohos.build 文件。和前面产品配置文件中的设置对应起来了。
deviceraspberrypibuildohos.build
新建 deviceraspberrypibuildBUILD.gn 当然每个厂家不可能只有1个板子,如果有其他单板就在这里指定,比如树莓派2B、3B等
既然前面指定了rpi4b的编译配置组件,那么就在 deviceraspberrypi 新建一个 rpi4b 的目录,可以参考 hi3516dv300 build组件
deviceraspberrypirpi4bBUILD.gn
至此一个rpi4b build组件就添加到OHOS3.0的编译框架了,之后相关内容添加到这个文件夹下就可以了。
接下来分析下目前移植了树莓派4B的哪些内容,如何将这些内容编译进OHOS3.0。
关于补丁可以参考 Patch组件,可以得知内核编译由kernel.mk来执行
kernellinuxbuildkernel.mk
所以补丁文件需要放到正确的路径下,以正确的名字命名就可以patch到内核。
hdf.patch补丁文件,现在还没有移植HDF相关内容,所以可以先使用Hi3516的
rpi4b.patch补丁文件,使用树莓派的官方镜像,https://github.com/raspberrypi/linux
kernellinuxconfiglinux-5.10archarmconfigsrpi4b_standard_defconfig
内核配置文件目前已知的需要开启下面内容,但是肯定不止这些,以后会继续更新
Pi4的GPU是VideoCore VI支持OpenGL ES 3.2,而Pi3的GPU是VideoCore IV支持OpenGL ES 2.0。VideoCore IV 驱动程序是 VC4,VideoCore VI 驱动程序的 V3D。内核已经提供驱动,参考rpi4b_standard_defconfig将驱动直接编入到内核。
同时需要在config.txt中开启设置
OHOS中修改weston的配置文件,指定显示驱动
systemetcweston.ini
具体思路就是先查找设备号,根据设备号找到驱动程序。
前面内核配置的时候rpi4b_standard_defconfig中已经将触摸驱动编入内核,所以后面不需要在init加载模块了,修改下eudev的配置文件即可。
third_partyeudevrules.d ouchscreen.rules
正常情况下内核是由uboot进行引导的,而且OHOS默认生成uImage。但是树莓派自带BootLoader,虽然可以先用树莓派自带的BootLoader启动uboot,再用uboot加载uImage,但是这样会比较麻烦,而且会增加启动时间。不过目前 zImage是写死在kernel.mk中的,没办法改下编译脚本把。
kernellinuxbuildkernel.mk 将 uImage 改为 zImage moles dtbs
kernellinuxbuildbuild_kernel.sh
kernellinuxbuildBUILD.gn
kernellinuxbuildkernel_mole_build.sh
这里内核编译会依赖proct_path="vendor/$proct_company/$proct_name"下的hdf.hcs文件,得先新建一个应付下,不然会报下面这个错误。
ninja: error: '../../vendor/raspberrypi/RPI4B/hdf_config/uhdf/hdf.hcs', needed by 'gen/drivers/adapter/uhdf2/hcs/hdf_default.hcb', missing and no known rule to make it
新建:vendor/raspberrypi/RPI4B/hdf_config/uhdf/hdf.hcs
对于镜像烧录,Hi3516会将uImage、system.img、vendor.img等镜像烧写到emmc,但是树莓派使用TF卡启动,所以需要对TF卡进行分区,然后复制对应的内容到各个分区。首先制作树莓派boot目录,这个用来目录存放树莓派设备树、config.txt、cmdline.txt、内核镜像等信息。写一个简单的mkboot.py脚本来实现这个功能,位置在码仓.py将会生成boot.img。
为了方便烧录,需要将boot.img、system.img、updater.img、vendor.img、userdata.img合并成一个rpi4b.img。还是写一个简单的脚本来处理这个步骤.py。
不过有个问题,主分区只支持4个,所以updater.img暂时先不合并了,这个问题等以后再来处理。
最后将会得到一个rpi4b.img的镜像文件,将这个文件烧录到SD卡就可以了。
Linux:可以使用dd命令
windows:使用Win32 Disk Imager工具烧录即可。
到这里总算是跑通了一个完整的添加新单板的流程,只不过目前只适配了显示和触摸。接下来打算尝试HDF或者distributed部分。
② 树莓派Linux内核编译选项如何开启TPM 2.0
本文更新于2018-08-11
首发于, 文章链接 http://www.jianshu.com/p/174844b99716
同步至GitHub: https://github.com/liuqun/linux/wiki
定制树莓派内核源码, 通过树莓派SPI接口加载并访问TPM2.0设备
所需硬件: X86主机一台, 树莓派3-B型号开发板一块, 大容量Micro-SD卡+USB读卡器一个, 英飞凌TPM2.0评估板一套
所需软件: 任意版本树莓派固件(推荐使用 最新版本 ), Ubuntu Linux 虚拟机, gcc-arm-linux-gnueabihf 交叉编译器, libncurses5(编译Linux内核配置菜单界面)
取出树莓派的SD卡, 通过读卡器插入 Ubuntu 主机或将读卡器 USB 设备接入 VMware 虚拟机。Ubuntu 默认自动将 U 盘挂载到 /media/$USER/boot 和 /media/$USER/【根文件系统分区】
(以下为覆盖式安装, 如果不放心请自行备份SD卡上的原有内核及模块文件)
选中 5. Interfacing Options --- P4 SPI(启用/禁用SPI串口)
重启树莓派,开机后检查/dev/tpm0设备文件是否已经加载就绪
③ 如何编译arm linux的go
Golang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤。
注:本文选用树莓派做测试,因为树莓派是基于ARM平台的。
1、编译工具配置
据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的。因此,首先要配置好C编译工具:
1.1 在Ubuntu或Debian平台上可以使用sudo apt-get install gcc libc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装。
1.2 在RedHat或CentOS 6平台上可以使用sudo yum install gcc libc-devel命令安装。
安装完成后可以输入 gcc --version命令验证是否成功安装。
2、获取golang源代码
2.1 直接从官网下载源代码压缩包。
golang官网提供golang的源代码压缩包,可以直接下载,最新的1.4.1版本源代码链接:https://storage.googleapis.com/golang/go1.4.1.src.tar.gz
2.2 使用git工具获取。
golang使用git版本管理工具,也可以使用git获取golang源代码。推荐使用这个方法,因为以后可以随时获取最新的golang源代码。
2.2.1 首先确认ARM平台上已经安装了git工具,可以使用git --version命令确认。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:http://git-scm.com/download/linux
2.2.2 克隆远程golang的git仓库到本地
在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录。然后以下命令获取代码仓库:
git clone https://go.googlesource.com/go
大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的。好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:
git clone https://github.com/golang/go.git
视网络情况,下载可能需要不少时间。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆= =
下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cd go命令进入该目录。
执行下面命令检出go1.4.1版本的源代码,因为现在已经有新的代码提交上去了,最新的代码可能不是最稳定的:
git checkout go1.4.1
至此,最新1.4.1发行版的源代码获取完毕
3、设置golang的编译环境变量
主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义。
3.1 GOROOT
主要代表golang树结构目录的路径,也就是上面git检出的go目录。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本运行时的父目录作为GOROOT的值。为了保险起见,可以直接设置为go目录的路径。
3.2 GOOS和GOARCH
分别代表编译的目标系统和平台,可选值如下:
GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台。树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm。
3.3 GOARM
表示使用的浮点运算协处理器版本号,只对arm平台有用,可选值有5,6,7。如果是在目标平台上编译源代码,这个值可以不设置,它会自动判断需要使用哪一个版本。
总结下来,在树莓派上设置golang的编译环境变量,可编辑$HOME/.bashrc文件,在末尾添加下面内容:
export GOROOT=你的go目录路径
export GOOS=linux
export GOARCH=arm
编辑完后保存,执行source ~/.bashrc命令让修改生效。
4、编译源代码
环境变量配置完成自后就可以开始编译源代码。在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台)。编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件。如果希望只编译不测试,可以运行make.bash脚本。使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译。由于硬件情况不同,编译耗费的时间不同。在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右。
5、配置golang运行环境变量
编译完成后,go目录下会生成bin目录,里面就是go的运行脚本。为了以后使用方法,可以将这个bin路径添加到PATH环境变量中。同样编辑~/.bashrc文件,因为前面设置过GOROOT环境变量指向go目录了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存后同样执行source ~/.bashrc命令让环境变量生效。
至此,golang源代码编译安装成功。执行go version应该就能看到当前golang的版本信息,表示编译安装成功。
④ 如何将android linux烧到Raspberry Pi及其调试
一.Raspberry Pi入门向导。
可以在以下地址下载Raspberry向导
2.构建android framework
命令如下:
cd <your_android_path>
source build/envsetup.sh
lunch
显示lunch菜单如下:
You’re building on Linux
Lunch menu… pick a combo:
1. full-eng
2. full_x86-eng
3. simulator
4. full_rpi-eng
5. cyanogen_generic-eng
6. cyanogen_rpi-eng
选择第6个菜单。
然后进行编译
make -j8
等待编译成功,这可能需要几十分钟。
编译成功之后将”system”目录复制到root目录下,接下来我们可能会用到。
命令如下:
cd <your_android_path>
cp -r system out/target/proct/rpi/root
ps:编译时如果jdk版本不对,可将其改成jdk1.6
五.如何在Raspberry Pi上跑android linux内核?
1.准备一张存储空间2G以上的SD卡及相应读卡器。
2.下载arch linux镜像文件
用wget工具下载镜像文件:
wget http://files.velocix.com/c1410/images/archlinuxarm/archlinux-hf-2012-09-18/archlinux-hf-2012-09-18.zip
解压:
unzip archlinux-hf-2012-09-18.zip
成功之后,你会在当前目录下发现一个镜像文件。
3.烧linux镜像文件。
sudo dd bs=4M if=archlinux-hf-2012-09-18.img of=/dev/sdb
sudo sync
ps:/dev/sdb是SD卡在主机上的设备文件。不同的电脑可能不同。
4.用android linux内核代替这个内核。
做完上述步骤之后,当你把SD卡插在电脑上,你会发现有两个分区:一个是引导区,另一个是文件系统区。
用android linux内核代替引导区的kernel.img。
cp -uv <your_android_linux_path>/arch/arm/boot/zImage <your_sdcard_boot_partition>/kernel.img
5.用android linux文件系统代替这个linux文件系统
rm -rf <your_sdcard_file_system_partition>
cp -r <your_android_source_code_path>/out/target/proct/rpi/root/* <your_sdcard_file_system_partition>
6.配置内核命令行cmdline.txt
Edit the <your_sdcard_boot_partition>/cmdling.txt, and replace “init=/…” with “init=/init”
7.做完这些之后就可以在Raspberry Pi上跑这个android linux内核。
六.如何为Android linux做一张可引导的SD卡
1.删除已有分区,如果没有就不用删了。
Command(m for help):p
Disk /dev/sdb: 15.7 GB, 15707668480 bytes
64 heads, 32 sectors/track, 14980 cylinders, total 30668085 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0×00000000
sudo fdisk/dev/sdb
Command(m for help):d
Partition number(1-4):1
Command(m for help):d
Selected partition 2
Command (m for help): p
Disk /dev/sdb: 15.7 GB, 15707668480 bytes
64 heads, 32 sectors/track, 14980 cylinders, total 30679040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0×00000000
Device Boot Start End Blocks Id System
Command(m for help):w
ps:确定删除之后,卸掉SD卡,然后再装上。
以bytes问单位记下SD卡的大小。后面的步骤会用到。
然后进入”Expert mode”。
Command(m for help):x
将这个SD卡设置为255个磁面,63个扇区和磁柱数量(不同的SD/mmc卡有着不同的此柱数量)
Expert command (m for help): h
Number of heads (1-256, default 64): 255
Expert command (m for help): s
Number of sectors (1-63, default 32): 63
ps:在下一步开始前,先要计算磁柱数量,计算过程如下:
B:SD卡以bytes为单位的大小(前面已经记住了即:15707668480)
C:磁柱的数量
C=B/255/63/512
例如:我的SD卡大小是16G(15707668480)
C=15707668480/255/63/512=1909.68191721,约等于1909.
Expert command (m for help): c
Number of cylinders (1-1048576, default 14980): 1909
Expert command (m for help): r
2.新建分区
如果你的SD卡已经分区,请按照上述步骤删除分区。接下来,我们将创建两个分区,一个是引导区,用来存放内核镜像等文件;另一个文件系统区存放android linux文件系统。
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-30679039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-30679039, default 30679039): +128M
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))
Command (m for help): a
Partition number (1-4): 1
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (1-4, default 2):
Using default value 2
First sector (264192-30679039, default 264192):
Using default value 264192
Last sector, +sectors or +size{K,M,G} (264192-30679039, default 30679039):
Using default value 30679039
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
ok,分区成功,现在我们有两个分区,接下我们对分区进行格式化。
3.格式化分区
对引导区进行格式化:
sudo mkfs.msdos -F 32 /dev/sdb1 -n BOOT
mkfs.msdos 3.0.12 (29 Oct 2011)
对文件系统区进行格式化:
sudo mkfs.ext3 /dev/sdb2 -L ROOTFS
mke2fs 1.42 (29-Nov-2011)
Filesystem label=ROOTFS
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
950976 inodes, 3801856 blocks
190092 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3896508416
117 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
4.设置引导区
引导区必须包含以下文件,你可以从官方镜像里获取(bootable/fat32 partition)也可以从书面步骤中复制过来:
bootcode.bin:第二阶段的引导程序,
loader.bin:第三阶段的引导程序,
start.elf:GPU二进制固件映像,
kernel.img操作系统的内核镜像文件,
cmdline.txt:传递给内核的参数.
5.设置root文件系统分区
ROOTFS分区包含android文件系统,是从<your_android_framework_path>/out/target/proct/rpi/root复制过来的。
cp -r <your_android_framework_path>/out/target/proct/rpi/root/* /media/ROOTFS/
6.完成上述步骤之后,将其放在Raspberry Pi上跑。
七.如何在Raspberry Pi使用adb?
1.查看网络
当android linux在Raspberry Pi运行时,切换到控制台,执行以下命令:
ifconfig eth0
记下ip地址。
如果不能找到ip,可以输入以下命令:/system/xbin/dhcp-eth0,来启动网络连接程序。
ps:如果屏幕没有显示控制台,只要按CTRL+ALT+F2即可切换到控制台。如果你想要切换到Android界面,只要按CTRL+ALT+F7即可。
2.远程连接adb服务器
在主机上执行以下命令即可与同一局域网的Raspberry Pi相连
adb connect ip
连接成功后,你就可以用adb工具输出日志,执行shell命令等。
3.也可以用数据线连接主机,直接在主机上调试。
进入调试的命令为:
screen /dev/ttyUSB0 115200
名词解释:
交叉编译(cross compile):交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓 平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。
⑤ 如何在windows下或者linux下对树莓派编程(C语言或C++)
Windows用VS2017,装上跨平台模块,新建项目选择“Linux”,选择“控制台应用程序”或者“闪烁”,随后会弹出“Getting Started”教你如何远程连接上树莓派,在main.cpp中编写代码,F7编译,Ctrl+F5编译运行(不调试)。
Linux新建.cpp文件,写好代码后保存退出,打开终端输入 g++ 文件路径
会生成可执行文件。
⑥ 如何在windows下或者linux下对树莓派编程(C语言或C++)
硬件的没玩过
树莓派 是不是那个 教学型 ARM编程主板?
建议你去 他们官方论坛看下
我同学他们毕业搞ARM的 都是 自己焊接板子的
然后用 winCE或者 unix linux 的嵌入式系统
他这种定制的包装过的,一般都把很多底层的 原理封装了,只需要 学号他官方提供的 支持文档和事例程序,就能实现 很多功能。而且
如果 你直接去学C/C++ windows编程 以及通信编程 SSH协议 等 反倒离目的远了。
我估计你应该是个 爱好者,或者学生。
论坛里有很多 爱好者 发的 相关项目及 细节
比如:我刚才在 论坛里看到一个帖子说
做了一个工具,在windows下面和pi 进行ssh 交互
http://bbs.ickey.cn/index.php?app=group&ac=topic&id=2573
⑦ 一 . 树莓派A20 基本环境搭建 1
我的实验环境:
1.交叉编译工具链:gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux(4.8.2).tar.xz
2.SDK文件:MarsBoard-A20-Linux-SDK-V1.1.tar.bz2
在安装gcc-arm-linux-gnueabi的时候,会自动安装上gcc-4.6-arm-linux-gnueabi,如下图所示:
第二个文件的安装很重要,尽管后面提示的编译错误,缺少的是arm-linux-...,但是安装这个文件还是挺好用的。
根据前面安装的一些安装包,其实本节的交叉编译工具链可以不用操作。因为已经包含了本节所做的了。
我得先将vim改一下,否则按住上下左右,会出现A,B,C,D。
再/etc/profile最后一行添加内容:
然后:
这里做一些简要的说明,在网址: 链接 上有一些说明,从说明中,我们可以看到我们用的sdk的架构。
pack文件夹
选择2,server版本。
之后:
能找到的livesuit_marsboard_a20_debian.img就是生成的镜像文件。如果要修改名字,可以:
这里面就包含了image.cfg,找到里面的一项:
修改为其他的名字即可。
选择2,server版本。
1.若出现如下报错:
可以:
如果出现:
但是其实这些文件都是有的,可以不妨:
再次编译,则问题如下:
仔细找编译的shell输出文件,发现是rootfs/下的gz文件找不到,这是因为我做前面的操作的时候,希望生成自己的rootfs_my.tar.gz文件。现在我重新将该文件放到rootfs/下,再次编译,我将最后的结果放在下面:
这样表示成功了。
下面列入生成的镜像:
livesuit_superpi3.img即是。
1.我在做上面的操作的时候,夹杂的使用了两个开发板,一个是marsboard出品的a20开发板,另外一个是风火轮出品的a20树莓派3卡片电脑,说实在的,看起来风火轮附带板子资料挺多,但是其真正写的资料可没用心做,实在不是一个榜样,在该开发板上做非核心开发,是可以的,但是做研发,还是需要做考量。
烧写成功后,打印的内容如下,作为日志信息,留作以后分析:
⑧ 树莓派用什么版本的Linux
树莓派操作系统
根据偏好选择下列之一。
5.1.1 Raspbian “Jessie”
是Debian8.0在ARM的编译版,加上针对树莓派深度定制的硬件驱动与软件程序。官方推荐系统。如果你第一次使用树莓派,请下载这个。Debian的软件策略偏保守,稳定第一,升级是次要的。
下载链接:http://downloads.raspberrypi.org/raspbian_latest
默认帐号:Username: pi Password: raspberry
发布日期:2015-09-20
5.1.2 Raspbian “wheezy”
是Debian7.0在ARMv6的编译版,加上针对树莓派深度定制的硬件驱动与软件程序。官方推荐系统。如果你第一次使用树莓派,请下载这个。Debian的软件策略偏保守,稳定第一,升级是次要的。
下载链接:http://downloads.raspberrypi.org/raspbian/images/raspbian-2015-05-07/2015-05-05-raspbian-wheezy.zip
默认帐号:Username: pi Password: raspberry
发布日期:2015-05-05
5.2 OpenELEC
运行快、且用户体验友好的一款XBMC媒体中心。
下载链接:http://downloads.raspberrypi.org/openelec_latest
发布日期:2014-06-14
5.3 Pidora
Pidora是社区对Fedora在树莓派上的移植。不是Fedora官方版,但被Fedora官网推荐用于树莓派。Pidora基于Fedora 18,采用另一个轻量桌面环境XFCE。Fedora的软件策略相比于Debian,是略偏向先锋的。Fedora能用到版本稍新,但也经受过实测调试的软件包。
下载链接:http://downloads.raspberrypi.org/pidora_latest
默认帐号:Username: root Password: raspberrypi
发布日期:2014-07-03
5.4 Arch Linux ARM
着名轻量系统Arch Linux在ARM架构上的移植。注重对于开发者的简洁,任何可有可无的软件一律不自带。仅有命令行界面,不建议初学者使用。Arch Linux的软件策略是相当激进的,使用Arch Linux能用到最新的软件包,但也需要承担尝鲜可能的风险。
下载链接:http://downloads.raspberrypi.org/arch_latest
默认帐号:Username: root Password: root
发布日期:2014-06-01
5.5 RISC OS
非Linux系统。
下载链接:http://downloads.raspberrypi.org/riscos_latest
默认帐号:无需
5.6 Raspbmc
下载链接:http://downloads.raspberrypi.org/raspbmc_latest
多媒体中心、DIY电视盒专用系统。将媒体中心软件XBMC与Raspbian系统结合的衍生系统之一。中文支持良好,建议使用。
默认帐号:Username: pi Password: raspberry
5.7 XBian
下载链接:XBian_1.0_Beta_1.1.7z
与Raspbmc一样,是Raspbian+XBMC的媒体中心。注重性能优化。(存在中文文件名乱码问题)
默认帐号:Username: root Password: raspberry
5.8 RetroPie
下载链接:RetroPieImage_v1.7.zip
这是一个基于Raspbian构建的家用机模拟器系统,内置了FC、SFC、GB、GBA、DOS等游戏平台的模拟器软件,可以将树莓派快速配置成多功能老游戏主机。
默认帐号:Username: pi Password: raspberry
5.9 FreeBSD
下载链接:freebsd-pi-r245446.img.gz
BSD系列。
默认帐号:Username: pi Password: freebsdarm
5.10 Kali Linux
下载链接:Kali Linux
Kali Linux。
5.11 Ubuntu MATE for the Raspberry Pi 2
下载链接:Ubuntu MATE for the Raspberry Pi 2
Ubuntu MATE是桌面Linux发行,其宗旨是通过MATE这个经典、传统的桌面环境来提供Ubuntu操作系统的简介和典雅。MATE是GNOME 2桌面环境的继续,曾经作为Ubuntu的缺省桌面,直到10.10版中被Unity所取代。
Ubuntu MATE适合树莓派新手使用,界面是最好看的,但是在CPU优化方面不如官方的系统做得好。
5.12 Snappy Ubuntu Core
下载链接:Snappy Ubuntu Core
非官方系统 Snappy Ubuntu Core。
5.13 Windows 10 IoT(物联网版)
RTM版下载:Download RTM Release for Raspberry Pi 2
预览版下载:Download Insider Preview for Raspberry Pi 2
微软在Build 2015大会上宣布推出一个独立的Windows 10开发者预览版, 这个版本名称是Windows 10 IoT Core Insider Preview(Windows 10物联网核心内幕预览版),现在可供开发人员下载和研究,它支持树莓派2和英特尔Minnowboard MAX设备,使设备制造商能够充分利用这些产品有限的硬件资源。
据微软表示,Windows 10 IoT Core Insider Preview为设备制造商提供了世界一流的开发工具,通用Windows平台的力量,直接访问硬件的能力,并能在树莓派2等硬件设备上进行远程调试,更新和管理软件。
5.14 PiNet
安装介绍链接:PiNet
PiNet 是一个自由和开放源码的项目,为帮助学校建立和管理一个Raspberry Pi的课堂。
其主要特点包括
基于网络的用户帐户
基于网络的操作系统-所有树莓PIS启动一个主Raspbian操作系统。
共享文件夹-易于使用共享文件夹系统的教师和学生。
工作收集系统简单的工作收集和提交系统,让学生在工作。
自动备份-自动备份所有学生的工作,定期向外部驱动器。
多个小的功能,如批量用户导入,课堂管理软件集成等
服务器软件安装在运行Ubuntu Linux 14.04计算机(这也完全是免费的)。你必须再连接服务器和覆盆子PIS通过有线网络。
5.15 CentOS 7 ARM for the Raspberry Pi 2
下载链接:CentOS 7 ARM
面向ARM硬件架构的 CentOS 7 Linux。包含各种各样的新特性、以及软件更新与增强,比如面向身份认证管理的Kerberos HTTP代理、OpenJDK7中TLS连接的ECC支持、网络堆栈改进、以及Atomic包的更新等。
默认帐号:Username: root Password: centos