【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统
前言

之前早就买了一个树莓派B,但是一直没有玩起来。由于以后也准备走嵌入式开发方向。于是先提前把树莓派B玩起来把。

之所以选树莓派是因为国内外玩的人多。中英文资料也很多。为什么不选单片机,单片机可能更多需要了解底层编程,初学者门槛比较高。而对于树莓派来说,不需要对于底层开发或者硬件细节有太多了解,入门门槛较低,可以玩的应用也很多。初玩朋友可以把这个当做一个性能差一点的台式电脑主机,也可以当做性能超强的单片机。
特别提示:本人也是刚刚开始玩,不是老手,所以很多情况下也是一知半解,一半测试,一半当做记录做的这个部分,如果资料中有错误或者其他问题,欢迎大家指出。后续会慢慢更新。有些细节的东西可能由于没有用到就部过多讲了。(真的是慢慢更新,因为我也是边玩边学习边记录)。
【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

基本介绍

树莓派分N多个型号。我买的B型是比较早期的,主频700MHZ(可以超频到1GHZ以上,伤寿命,不建议),512M内存,,VGA,HDMI视频口,以及一个音频口。B版本外接口比较少,USB2个。GPIO口是26个。目前已经到树莓派3代+,大家要玩可以买最新的,性能更好,接口也更多。具体一些细节可以参看维基。 https://zh.wikipedia.org/wiki/%E6%A0%91%E8%8E%93%E6%B4%BE


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

图片来源于维基

我初玩购买的设备有:

1树莓派主机(必备)

2散热片

3树莓派SD卡和卡套(其他版本可能不需要卡套,根据需要买卡套)(必备)

4树莓派外壳,保护树莓派

5免驱无线网卡

6USB转TTL串口调试线

以下是设备以及当时买的价格(现在买最新的型号也比我的便宜):


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统
【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统
【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

其他类型应用

树莓派的34个使用(来源: https://linuxtoy.org/archives/cool-ideas-for-raspberry-pi.html )

如果你手头有一个RaspberryPi(树莓派),你会拿它来做什么?或许以下34个如何使用RaspberryPi的创意能够给你带来一些启发。

Web服务器

家庭自动化

BitTorrent服务器

WebCam服务器

天气预报站

BitCoinWallet

QuadCopter

VoIPPBX

XMBC多媒体中心

有声书籍播放器

ArduinoShields

NAS服务器

AppleTimeMachine支持

Tor中继

家用VPN服务器

GPS跟踪器(带3G支持)

AdviceMachine(无用但很酷)

模拟输入

超级电脑

Kindle作为显示屏

PICProgrammer

PenTesting/Hacking

Android系统

检查网络状态

Solar数据记录器

把我发到太空

咖啡

制作一个酷坦克

电子相框

添加WiFi

OpenSourceKiosk

NodeJS

流量监视

超频

在官网下载img镜像

树莓派的官方网址是 https://www.raspberrypi.org/

树莓派既可以从0开始做系统玩起。也可以基于已有的系统玩。 初学这个肯定是基于已有的系统玩。后续可以自己编译内核,调试内核,构建自己的rootfs。 我也会介绍介绍基础的一些命令,也是边学边用。顺带讲一些linux自己了解的知识。如果有错误麻烦各位看官指出。 为了方便学习树莓派以及linux,同时也方便和树莓派用一些东西沟通。我PC装的是乌班图(不要吐槽为什么不装debian)。 我的是Ubuntu14.04版本,之前装了16.x发现有些东西比如脚本或者python不兼容什么的,所以换回来了。不要装太新的版本。 基于已有的系统玩,首先是为树莓派安装官方的系统。不用接触太多的硬件。通过SD卡刷入系统。

SD卡通过USB读卡器接入PC。

树莓派镜像下载: https://www.raspberrypi.org/downloads/

有很多种已经编译好的IMG,正统的noobs和raspbian.下面是第三方的映像


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

我选择的是raspbian.这是亲儿子。系统和我的PCubuntu一样,命令什么的都可以通用。Raspbian也分为完整版本和轻量级(lite)的版本。


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

我选择完整版本,也就是第一个。压缩前挺小的。解压后映像文件4G多。我下载的版本是2016-03-18-raspbian-jessie的版本,下载完成后记得验证一下sha1,上图下面就带有sha1.如果映像不对。烧到SD卡很可能起不来验证的是压缩前的文件,也就是下载下来的,不是解压后的。

验证的命令是

#sha1sum filename
【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

准备烧入系统

先了解一下这个系统

前面的映像解压以后应该是一个img文件。这个img文件主要由两部分组成:

第一部分是boot分区,fat32格式。 包含linux内核,设备树,命令行以及配置文件等。这个分区是windows下也可以识别修改的,我们对于树莓派的配置可以操作修改这些文件。

第二部分是ext4格式的rootfs,也就是根文件系统。

双击这个img文件,ubuntu会帮你识别并且挂载起来


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

也可以通过fdisk命令查看

#fdisk -l 2016-03-18-raspbian-jessie.img

Disk2016-03-18-raspbian-jessie.img:4033MB,4033871872bytes

255heads,63sectors/track,490cylinders,total7878656sectors

Units=sectorsof1*512=512bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x8f1eafaf

DeviceBootStartEndBlocksIdSystem

2016-03-18-raspbian-jessie.img1819213107161440cW95FAT32(LBA)

2016-03-18-raspbian-jessie.img21310727878655387379283Linux

树莓派是开源开发板,但并不是完全开源的开发板,初始的启动部分,固化在ROM里面,不能修改,所以一般树莓派除非硬件损坏。否则是不会被你刷坏之类的。

有必要先了解一下树莓派的基本启动过程才能直到各种文件的基本作用:

CPU上电->初始启动ROM代码->挂载第一部分fat32boot分区->加载bootcode.bin->调用start.elf

start.elf读取config.txt初步初始化,比如根据config.txt里面的配置为GPU分配内存等,随后加载kernel.img也就是linux内核,传入cmdline.txt内核命令参数启动内核。内核根据参数找到rootfs,启动整个系统。其中ROM里面的代码以及start.elf这些都不是开源的,在官网提供的firmware里面提供,这也是喜欢纯开源的朋友喷树莓派的地方。

了解了系统启动过程再回头来看第一部分里面的一些文件 :

overlays是一些扩展设备的设备树文件。

dtb文件是不同版本树莓派板子的设备树。

Bootcode.bin是启动start.elf的

Start.elf等是树莓派用来加载内核以及基础初始化的。

Kernel.img是linux内核的映像(zImage+dtb引导文件。暂时没具体看。官方有工具从zImage制作kernel.img)

cmdline.txt是linux内核启动的参数。

Config.txt是树莓派的配置文件。比如GPU分配多少内存。显示输出采用什么模式。如果配置不当。接入显示器后可能无法正常显示

不同的文件只是为了适应不同的板子,不是所有的文件都需要,比如我的树莓派B型就只需要

bcm2708-rpi-b.dtb

bootcode.bin

cmdline.txt

config.txt

kernel.img

start.elf

就可以启动了。

准备开始烧入系统了。 SD卡插入读卡器接入PC ubuntu上, 如何找到你的设备呢?

在没插入读卡器之前先使用ls查看本机设备
# ls /dev/sd* /dev/sda /dev/sda2 /dev/sdb /dev/sdb2 /dev/sdc1 /dev/sdc3 /dev/sdc5 /dev/sdc7 /dev/sda1 /dev/sda5 /dev/sdb1 /dev/sdc /dev/sdc2 /dev/sdc4 /dev/sdc6 /dev/sdc8 linux磁盘设备用sd[a-z][1-9][a-z]表示磁盘个数[1-9]表示磁盘的分区个数 这里是/dev/sda/dev/sdb/dev/sdc说明我有三块硬盘(为啥有三块?一块SSD250Gminissd两块1T机械盘,一个硬盘位,一个光驱位)
接着插入sd卡。再次使用 ls /dev/sd* /dev/sda /dev/sda5 /dev/sdb2 /dev/sdc2 /dev/sdc5 /dev/sdc8 /dev/sdd2 /dev/sda1 /dev/sdb /dev/sdc /dev/sdc3 /dev/sdc6 /dev/sdd /dev/sda2 /dev/sdb1 /dev/sdc1 /dev/sdc4 /dev/sdc7 /dev/sdd1

发现多出来了 /dev/sdd。说明新插入的SD卡就是/dev/sdd。 这一步很重要。确定SD卡对应的设备。后续别直接烧入到你其他盘了

接下来使用dd命令将img烧入设备
#sudo dd if=2016-03-18-raspbian-jessie.img of=/dev/sdd bs=65536

无尽的等待。。。。。。 dd是没有提示的。中途不要拔出设备。等待完毕就好了

if=inputfilename

of=outputfilename
bs表示一次读取或者写入的字节数。这里不是越高越快,我一般设置为64KB

最后的结果


【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

5.7MB/S很慢了。我这个是拿普通的SD卡演示的。

windows上就简单了,使用win32diskimager选择你的盘符和img。点击write就行了,还能看到进度。这点比linux好。
如果一切正常。烧入完毕后。将SD卡接入树莓派的卡槽。为树莓派通上电源(一般的手机充电器就行),你的树莓派就可以启动了。
【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统

图:电源和SD卡

检查状态

目前我们并没有任何显示器能查看启动状况。唯一可以看的是树莓派的指示灯。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:【技术分享】初玩树莓派B(一) 基本介绍&安装操作系统
本站链接:http://www.codesec.net/view/483628.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(26)