Ⅰ 树莓派怎么装linux系统
使用NOOBS来安装系统
将TF卡格式化为FAT32格式
注意:TF(micro SD)卡需要大于等于4GB,而且并不是所有TF卡都能兼容树莓派,需网络查询兼容性列表
到树莓派官网下载NOOBS(进入主页后点击DOWNLOAD就可以看到NOOBS了)
将NOOBS解压后的所有文件拷贝到TF卡的根目录下
连接显示器,并给树莓派上电(5V,2A电源,也可直接使用电脑的USB插口)
初始化完成以后,你会进入NOOBS助手界面
选择你需要安装的操作系统,然后点击上方的install OS即可进入安装
完成后点击确认,然后Raspberry Pi会重启,至此系统安装完成
Ⅱ 树莓派搭建文件服务器
https://www.raspberrypi.org/downloads/raspberry-pi-os/
安装 Etcher 之后启动 Etcher,插入 SD 卡、选择要安装的 img 文件、选择 SD 卡对应的磁盘分区
https://www.balena.io/etcher/
① 新建一个ssh空白文件,放到root目录下,树莓派开机会自动启用
② 网络优先选择有线网络
③ 无线网络
将刷好 Raspbian 系统的 SD 卡用电脑读取。在 boot 分区,也就是树莓派的 /boot 目录下新建
具体详情看下面
https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html
方法1:利用路由器软件查看IP地址
方法2:
ssh连接默认用户名:pi 密码:raspberry
方法3:IP Scanner
1.切换 root权限 sudo su
2.编辑下列文件
连接raw.githubusercontent.com失败
step1 :
在 https://site.ip138.com/raw.Githubusercontent.com/
输入raw.githubusercontent.com查询IP地址
step2 :
sudo nano /etc/hosts
你查到的ip地址,香港的就行 raw.githubusercontent.com
比如:
151.101.76.133 raw.githubusercontent.com
OpenMediaVault项目地址:
https://github.com/OpenMediaVault-Plugin-Developers/installScript
执行安装脚本:
step1:
输入树莓派的IP地址
初始用户名:admin
密码:openmediavault
step2:
1.连接硬盘
2.文件系统—>卸载硬盘
3.磁盘—>擦除
4.文件系统—>新建 文件系统选择EXT4
5.挂载—>应用
6.共享文件夹—>新建一个文件夹 设置权限
7.SMB/CIFS —>启用
8.共享—>添加共享
mac登陆
前往:连接服务器 smb://树莓派的ip地址
windows
我的电脑—>右键—>映射网络驱动器—>找到共享的文件夹
Ⅲ 2019年10个最佳Linux发行版,你用过几个如何选择适合自己的
2019年即将结束。虽然Linux的世界确实提供了很多选择,但一开始它可能会让人不知所措。这就是为什么我们准备本指南来帮助您选择最适合您需要的Linux发行版的原因。
有些发行版在一种任务上表现更好,有些则是多面手,依此类推。因此,让我们找到最适合您的:
1.最适合初学者的发行版:Linux Mint
开源软件和Linux的普及度逐年增加,并且越来越多的人正在学习Linux。对于那些用户,选择具有平滑学习曲线的Linux发行版至关重要。这种易用性是为初学者推荐Linux发行版时要牢记的最有价值的一点。
Linux Mint 是发展最快的Linux发行版之一。在普及竞赛中,它一直在挑战Ubuntu。除此之外,Linux Mint凭借其近乎完美的桌面体验,已确立了自己作为Windows操作系统的完美替代品的地位。我之所以将其称为最佳的Linux新发行版,是因为它能够为用户提供开箱即用的体验。这意味着您无需花费大量时间来安装发行版和软件包,就可以完成一些真正的工作。它的占地面积不大,这是另一个要点。
为什么最适合初学者?
在此处访问Linux Mint的网站。
针对Linux新用户的其他建议:
2.适用于旧硬件的最佳Linux发行版:Ubuntu MATE
对于那些相信Internet安全重要性的人们来说,看到Windows XP在政府办公室和银行中到处可见令人沮丧。但是,我们有许多Linux发行版形式的可靠且安全的替代方案。在确定适用于过时硬件的最佳Linux发行版时,低占用空间和轻便是主要因素。
要在2019年在较旧的PC上运行Linux,建议您使用 Ubuntu MATE 。最新的19.04版本是对18.10版本的较小升级。根据您的喜好,您可以从大量布局选项中进行选择,例如Mutiny,Cupertino,Traditional,Netbook,Redmond等。如果您想要一个更加稳定的系统,则可以选择Ubuntu MATE 18.04 LTS版本来确保您的计算机保持更新很长时间。
Ubuntu MATE的最低硬件要求仅为512MB。32位ISO的可用性是我在最佳Linux发行版列表中推荐它的另一个原因。随着越来越多的发行版疏远了这种垂死的体系结构,Ubuntu MATE是为数不多的积极开发的选项之一。
为什么要为旧计算机选择Ubuntu MATE?
要获取其ISO映像,请访问 Ubuntu MATE网站。
有一台旧电脑?您还可以尝试以下操作:
3.最佳的黑客Linux:Kali Linux
对于黑客, Kali Linux 绝对是无可匹敌的。它带有数百个有用的工具,这些工具属于不同类别,例如漏洞分析,无线攻击,Web应用程序,利用工具,压力测试,取证工具等。基于Debian Testing分支,该发行版中的大多数软件包都是从Debian导入的。最近的2019.3版本也标志着Offensive Security和Cloudflare之间建立合作关系的开始,以确保以更可靠的方式更新。
除了功能齐全的台式机,Kali还可以安装在Raspberry Pi,Ordroid,Chromebook,BeagleBone等上。随着Kali NetHunter的到来,它也可用于android智能手机。
为什么要安装Kali进行道德黑客攻击?
访问Kali Linux网站进行下载。
还有什么可以尝试进行道德黑客攻击的?
4. Linux 游戏 发行版:Manjaro
即使在今天, 游戏 玩家也不要沿着Linux前进。好吧,鉴于Linux平台的 游戏 可用性较低,不能怪他们。但是,随着越来越多的Linux版本发行,这种情况在过去几年中发生了变化。
虽然2018年最佳Linux发行版列表将Steam OS视为 游戏 的最佳选择,但最新版本将 Manjaro Linux 标记为 游戏 的最佳选择。预装Steam并提供出色的硬件支持是Manjaro方面的一大好处。Manjaro还附带了硬件检测工具,以使整体图形和驱动程序情况清晰可见。如果这听起来很麻烦,请让我告诉您它随附了为Nvidia和AMD卡预安装的图形驱动程序。该发行版还提供了一种在Linux内核之间进行切换的简便方法,以确保获得更好的硬件支持。
在过去的几年中,基于Arch的Manjaro开发了一个忠实的用户群,从而确保其论坛对任何新用户都有用。
为什么要在Manjaro上玩 游戏 ?
抓住Manjaro OS的 游戏 在这里。
其他 游戏 发行版:
5.用于编程的Linux发行版:Debian
我认为没有必要强调这样一个事实,即大多数Linux用户要么是每天使用它来创建新事物的开发人员,要么是某种开源爱好者。事实证明,许多Linux发行版都可以根据他们的要求适合程序员。他们可以安装所有必需的工具,但是通常建议将Debian GNU / Linux作为最佳选择。
Debian Testing分支拥有大量软件包,这些软件包以定期测试,更新和坚如磐石而着称。这种稳定性使程序员可以放心地进行开发。但是,应该记住,仅对具有Linux使用经验的程序员推荐使用Debian。如果您是初学者,则应根据个人喜好使用Ubuntu LTS版本或其他稳定的Linux发行版。
为什么选择Debian进行编程?
Debian网站上有ISO下载和更多信息。
开发人员还有更多选择:
6.最漂亮的Linux发行版:基本OS
最漂亮的Linux发行版不是可以真正判断操作系统功能的标准,但是每当有人选择新发行版时,它就起着重要作用。得益于Linux生态系统提供的灵活性,开发人员可以创建吸引人的新发行版。以我的观点和经验,基于Ubuntu的 基本OS 是最漂亮的Linux发行版,也以其无与伦比的性能而闻名。
Windows和macOS的这种快速,开源的替代品借鉴了macOS的一些设计元素。基本操作系统不附带许多默认的Ubuntu应用程序,因此也提供了轻量级的体验。借助基于GNOME的Pantheon桌面环境,基本OS与Plank,Epiphany和Scratch等应用程序进行了深度集成。总体而言,有经验的初学者都可以使用它来执行日常计算任务。
为什么选择基本操作系统的外观?
访问 基本操作系统网站 进行下载。
其他漂亮的Linux发行版:
7.适用于儿童的Linux发行版:Ubermix
如今,由于行业需求的增长,学习Linux和开源技术可能变得非常重要。但是,孩子呢?如果您想知道是否为孩子们创建了一些很棒的 Linux发行版。好吧,别无所求,因为这些免费的操作系统易于设置和使用。
我建议 Ubermix 是一个对儿童友好的Linux发行版。这个免费的,专门构建的操作系统还附带触摸支持,对于喜欢用手 探索 事物的孩子来说,它是一个绝佳的选择。它试图成为学生和老师的绝佳工具。借助其5分钟的安装,60个有用的免费预加载应用程序以及20秒的恢复过程,Ubermix成为了学生和教师的强大发行版。
为什么为孩子选择Ubermix?
请访问Ubermix网站以获取更多详细信息。
教育性Linux发行版的更多选择
8. Linux发行版的隐私和匿名性:尾巴
如果我告诉你爱德华·斯诺登使用(使用)Tails Linux发行版进行通信和浏览Web,那么有些人可能会想知道这样做的原因是什么。你们中有些人会有一个粗略的主意。Tails的名字叫“ Amnesic Incognito Live System”,它是安全的Web浏览的流行选择。
可以使用DVD或USB映像在几乎任何计算机上启动 Tails live操作系统。这个基于Debian的安全发行版可确保所有Internet连接都被强制通过Tor网络。这样,您最终就不会在计算机上留下任何痕迹。它还带有许多加密工具,可帮助您加密电子邮件,文件和即时消息。对于注重隐私的人士,还有其他选择。
为什么选择尾巴来匿名?
访问Tails网站下载
注重隐私的Linux用户的更多选择:
9.服务器Linux发行版:CentOS
您能想象在不稳定且频繁发生故障的Linux发行版上安装服务器吗?这个问题的答案很明显。其他重要因素还包括硬件支持,安全性,电源效率和优化的性能。在这种情况下,有许多免费和付费的选择 ,而CentOS是我在此类别中的推荐。
在Linux桌面世界中,RHEL在企业领域的地位与Ubuntu相同。 CentOS 是无需花费一次费用即可获得RHEL好处的方法。换句话说,CentOS是社区支持的RHEL。由于它与RHEL的二进制版本兼容,并且其存储库包含所有经过测试的软件,因此您可以将其用作生产系统或服务器。它也以通用Linux发行版而闻名。
为什么选择CentOS作为服务器?
访问CentOS网站下载
服务器的其他Linux发行版:
10.适用于功能强大的PC和笔记本电脑的Linux发行版:Ubuntu
Canonical的Ubuntu无需在开源世界中进行介绍。基于Debian架构,Ubuntu设法平衡了稳定性和新功能,这是其他发行版所无法比拟的。这就是为什么它享有无与伦比的人气。如果您运行的计算机的硬件功能有限,则应尝试使用Ubuntu MATE,Xubuntu或Lubuntu等Ubuntu版本。
对于功能强大的PC和笔记本电脑,旗舰 版 运行GNOME桌面的 Ubuntu 非常适合。随着Snaps的推出,安装应用程序变得更加舒适。它还拥有繁荣的用户社区和论坛,您可以在其中找到任何问题的答案。总体而言,Ubuntu是一个功能强大的Linux发行版,可让您执行多任务并高效地完成工作。
为什么要为功能强大的PC选择Ubuntu?
访问Ubuntu网站下载
适用于功能强大的PC的其他Linux发行版:
还想要其他东西吗?还有更多
那不是全部。有更多类别的Linux发行版可供使用。您可以得到一个用于磁盘管理,应急CD,Raspberry Pi,多媒体制作,Docker,NAS,媒体中心等的工具。但是,在本文中,我将自己限制在流行类别中。在将来的更新中,我将在此最佳Linux发行版选择指南中添加更多类别,以帮助更多读者。
继续阅读Fossbytes,并在下面的注释中共享您喜欢的Linux发行版的名称。
Ⅳ 树莓派用什么版本的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
Ⅳ 学习树莓派上编程的时候,需要哪些教程
树莓派教程(持续更新)网络网盘免费资源在线学习
链接: https://pan..com/s/1PuxuAIN8dV37G5E2n33pCA
树莓派教程(持续更新) 中谷教育-Python视频教程(完整版)
游戏镜像 微雪5寸显示器config 树莓派详细资料 视频教程 镜像 Voice kit语音工具包镜像 Etcher-Setup-1.4.4-x86镜像烧录工具.
exeaiyprojects-2018-04-13.img.xz 开启SSH-raspbian-stretch.zip ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz StickyFingers-Kali-Pi-armhf-180923.img.xz recalboxOS-4.0.0-beta5.zip 2018-11-13-raspbian-stretch.zip
Ⅵ 如何将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操作系统的简称。
Ⅶ 在鸿蒙(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部分。