首页
社区
课程
招聘
[原创]初玩树莓派B 2安装基本系统
2016-9-15 09:59 11092

[原创]初玩树莓派B 2安装基本系统

2016-9-15 09:59
11092
初玩树莓派 B  2安装基本系统

bbs.pediy.com

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

树莓派既可以从0开始做系统玩起。也可以基于已有的系统玩。
初学这个肯定是基于已有的系统玩。后续可以自己编译内核,调试内核,构建自己的rootfs。
我也会介绍介绍基础的一些命令,也是边学边用。顺带讲一些linux自己了解的知识。如果有错误麻烦各位看官指出。

为了方便学习树莓派以及linux,同时也方便和树莓派用一些东西沟通。我PC装的是乌班图(不要吐槽为什么不装debian)。
我的是Ubuntu 14.04版本,之前装了16.x发现有些东西比如脚本或者python不兼容什么的,所以换回来了。不要装太新的版本。

基于已有的系统玩,首先是为树莓派安装官方的系统。不用接触太多的硬件。通过SD卡刷入系统。
SD卡通过USB读卡器接入 PC。

1在官网下载img镜像
https://www.raspberrypi.org/downloads/

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


我选择的是raspbian.这是亲儿子。
系统 和 我的PC ubuntu一样,命令什么的都可以通用。

Raspbian 也分为完整版本和轻量级(lite)的版本。


我选择完整版本,也就是第一个。压缩前挺小的。解压后映像文件4G多。

我下载的版本是2016-03-18-raspbian-jessie的版本

下载完成后记得验证一下sha1,上图下面就带有sha1. 如果映像不对。烧到SD卡很可能起不来
验证的是压缩前的文件,也就是下载下来的,不是解压后的。
验证的命令是   

#sha1sum filename


2 准备烧入系统

先了解一下这个系统
前面的映像解压以后应该是一个img文件。这个img文件主要由两部分组成
第一部分是boot分区,fat32格式。包含linux内核,设备树,命令行以及配置文件等。
这个分区是windows下也可以识别修改的,我们对于树莓派的配置可以操作修改这些文件。
第二部分是 ext4格式的rootfs,也就是根文件系统。

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



也可以通过fdisk命令查看
#fdisk -l 2016-03-18-raspbian-jessie.img

Disk 2016-03-18-raspbian-jessie.img: 4033 MB, 4033871872 bytes
255 heads, 63 sectors/track, 490 cylinders, total 7878656 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: 0x8f1eafaf

                         Device Boot      Start         End      Blocks   Id  System
2016-03-18-raspbian-jessie.img1            8192      131071       61440    c  W95 FAT32 (LBA)
2016-03-18-raspbian-jessie.img2          131072     7878655     3873792   83  Linux

树莓派是开源开发板,但并不是完全开源的开发板,初始的启动部分,固化在ROM里面,不能修改,所以一般树莓派除非硬件损坏。否则是不会被你刷坏之类的。
有必要先了解一下树莓派的基本启动过程才能直到各种文件的基本作用:
CPU上电->初始启动ROM代码->挂载第一部分fat32 boot分区->加载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

就可以启动了。

3 准备开始烧入系统了
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 说明我有三块硬盘(为啥有三块? 一块SSD 250G mini ssd 两块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=input filename
of=output filename
bs表示一次读取或者写入的字节数。这里不是越高越快,我一般设置为64KB

最后的结果

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

windows上就简单了
使用win32diskimager 选择你的盘符和 img。点击write就行了,还能看到进度。这点比linux好

如果一切正常。烧入完毕后。将SD卡接入树莓派的卡槽。为树莓派通上电源(一般的手机充电器就行),你的树莓派就可以启动了。


图:电源和SD卡

4 检查状态

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


如果绿灯中途有不停地闪烁,表明在读取SD卡。应该就是OK了。
我们这时候再接上网线,或者先接网线再接电源也可以。如果橙色的LNK灯亮了 表明有网络了。
等两分钟 运行稳定的时候再查看,状态应该是 ACT灯偶尔闪烁,一般是不亮的。其他四个灯是常亮的


效果不清楚 还是可以看出四个灯都亮了。此时ACT灯是灭的。

我登录上路由器看看分配了IP没有。或者用nmap扫描一下
#nmap 192.168.1/24
按照你的局域网扫。我的是192.168.1.x
结果如图



192.168.1.1是路由
192.168.1.4是我PC ubuntu
还有一个是 192.168.1.9 肯定就是树莓派了 。

直接登陆路由查看ip是最方便的。我这边已经直接识别设备了



nmap可以查看到 默认开了22号ssh端口。
我们登陆上去看看
默认用户名 pi
密码 raspberry

ssh 用户名@ip

#ssh pi@192.168.1.9
提示信任这个链接。输入yes继续

输入密码
raspberry (注意linux输入密码的时候是看不见有变化的。只管输入按回车确认就行)

OK登陆成功了。



配置静态ip 配置wifi ip和其他登陆方式 以及 基本的串口连接 在下一集哦~

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 3
打赏
分享
最新回复 (5)
雪    币: 1412
活跃值: (4469)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2016-9-15 10:01
2
0
为什么我编辑得这么丑?有论坛小管家什么的帮帮我编辑一下版面吗。这样好像不太好看

我就这么贴了。大家将就着看把。有管理愿意整理可帮忙整理一下。或者选择下载PDF看。

五点半到现在就写了两集。我觉得我写的还是满详细的。
雪    币: 288
活跃值: (212)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
mozha 2 2016-9-15 12:39
3
0
写得不错,有机会学习一下
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
影子不寂寞 2016-9-15 13:45
4
0
谢谢分享。
雪    币: 47
活跃值: (366)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuha 2016-9-20 21:17
5
0
感谢楼主的详细讲解,我已经准本入手一枚π了
雪    币: 1412
活跃值: (4469)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2016-9-21 08:22
6
0
别买我这种。买第三代最新的版本,细节上都差不多的,GPIO这些都差不多。我这都吃灰吃了几年了,性能也比不上现在的。
后续会讲驱动蜂鸣器 人体红外感应 等等。基本功能都玩一遍,初学系列差不多就完成了。
游客
登录 | 注册 方可回帖
返回