Fork me on GitHub

【智能无线小车系列四】树莓派操作系统安装

  对于第一次接触树莓派的人来说,初次点亮树莓派的过程总是最为激动人心的。

  其实它就跟我们刚刚买回来的电脑一样,首先需要做的就是安装操作系统。还记得上操作系统课程的提到,操作系统是软件和硬件之间的桥梁,对于树莓派来说,操作系统就是它的灵魂。这里需要给树莓派安装自己的操作系统——Raspbian,它是官方推荐树莓派首选操作系统。该操作系统最初来源于Linux家族下Debian。而Debian作为Linux体系的一个重要分支(为大家所知的Ubuntu也是Debian的一个分支),因其自带Python、Gcc等开发工具及丰富例程,被移植到树莓派中,因而颇受亲睐,得到了树莓派官方的首选操作系统的推荐。此外,跟Ubuntu类似,移植到树莓派上的Debian也有了一个全新的名字——Raspbian。


  要知道,“哥点亮的不是树莓派,点亮的是灵感!”下面就让我们一起开启树莓派进阶征程吧!

准备工作:
1.准备一张4G以上容量的SD卡

  SD卡已经成为被大家普遍接受的存储标准介质了,大部分笔记本电脑都配有SD卡槽。而树莓派没有自带存储,因此SD卡其实就是树莓派的硬盘。在树莓派中运行的操作系统以及相关的应用、数据都是安装或存储于其上的。

  SD卡市场又根据其品牌、容量、速度进行了细分,例如Class 2、4、6、10,这些符号代表写入速度分别为2Mbit/s,4Mbit/s,6Mbit/s,10Mbit/s。目前,SD卡已经属于白菜价了,但对于树莓派来说,SD卡不是容量越大越好,更不是速度越快越高。

  在众多SD卡品牌中,Kingston一向以“价格便宜量又足”、易于购买等原因而颇受广大消费者的亲睐。

 

       推荐购买8GB容量的SD卡(此处推荐:Kingston 16GB SDHC 4、Class4 Micro SD card

  购买链接:http://detail.tmall.com/item.htm?id=41127614174&spm=a1z09.2.9.128.7CL5YD&_u=kmbe4isef4c

  售价:42.5

2.安装Raspbian

  安装Raspbian,其实就是将Raspbian的镜像写入到SD卡的过程。

  下载Raspbian(wheezy)镜像文件,地址如下:http://www.raspberrypi.org/downloads 。这里我们以下载最新版本为例,其文件名为:2014-6-20-wheezy-raspbian.zip,其中wheezy为子版本号,下载到的zip压缩包的大小约为960,,解压缩后得到一个img的系统镜像文件,大小约为3.05G。


3.下载Windows下安装镜像的工具win32 Disk Imager
下载地址:http://www.onlinedown.net/soft/110173.htm 

4、MicroUSB接口输出的电源

  充足的电力,是树莓派稳定工作的有力保障。从设计上看,树莓派是一款极低功耗的计算机的主机部分,从官方发布的数据来看,Model-B的额定功耗仅3.5W,Model-B+为3.0W,而没有以太网接口的Model-A更是低至2.5W。

  以下是官方公布的各种型号树莓派的相关参数:

推荐:小米移动电源 10400mAh,物美价廉,携带方便

购买地址:http://www.mi.com/dianyuan/

售价:69 RMB

5、USB键盘和鼠标

  推荐:采用无线键鼠套装(优点:接收器仅占用一个USB接口,方便留出更多的接口给无线网卡、摄像头以及其他外接触感器)

  其实键盘和鼠标在树莓派的使用中并不经常用到,因为除了使用键鼠这种方式直接操作树莓派以外,更多的时候会采用TCP远程访问和控制树莓派。

6、显示器及其连线

  推荐:Dell液晶显示屏一台、HDMI-DVI转接线一根

7、绝对的主角:Raspberry Pi 2 Model B

【自我介绍】
  我是基于四核ARM Cortex-A7 BCM2836的mini PC。
  我的英文全名是Raspberry Pi 2 Model B,在中国,大家叫我树莓派2代B型,在这里,我简称为RPi2 B。
  截至15年1月份,我的前辈被售出了450多万台,是全球最受欢迎的mini PC。
  我作为新一代开拓者,兼容1代B+。但相比之下,我的性能提升6倍,内存翻了一番。
  我不仅能跑全系列ARM GNU/Linux发行版,而且支持Snappy Ubuntu Core及Windows 10,哥不是传说。

【关键词汇总】

  • 树莓派:Raspberry Pi的中文译名。
  • RPi、Pi:Raspberry Pi的简称。
  • RPi A+:Raspberry Pi Model A+的简称。
  • RPi B+:Raspberry Pi Model B+的简称。
  • RPi2 B:Raspberry Pi 2 Model B的简称,当前发行的新版RPi,树莓派2代。

【我的基本情况】
  
软件方面,相比1代B+,我支持更多操作系统,如Windows 10 —— 微软为物联网研发的专用版,完全免费。 

  硬件方面,我的参数如下:

  • Broadcom BCM2836 900MHz 4核 ARM Cortex-A7 CPU 配备VideoCore IV 双核 GPU
  • GPU 支持 Open GL ES 2.0, OpenVG 硬件加速,1080p30 H.264 高清解码
  • GPU 带宽 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs DMA 纹理解析
  • 1GB 内存
  • 带Micro SD 卡插槽(支持通过它启动 Linux 操作系统,如 Fedora)
  • 10/100 自适应网卡
  • HDMI 接口
  • USB 2.0 接口 x 4
  • Micro SD 卡插槽
  • microUSB 接口供电
  • 3.5 mm 音频输出接口
  • 40PIN接口
  • 摄像头接口
  • LCD接口
  • 尺寸:85 x 56 x 17 mm

 

【家族简谱】

 

 

【美图秀秀】

 

 
特别注意:
  · 本产品不包括示意图中的模块、配件,如有需要,请另行购买。

 

【常见问题】

  图形性能如何? GPU支持OpenGL ES 2.0、硬件加速的OpenVG,和高至1080p30fps的H.264硬件解码。 GPU的通常计算能力达到1Gpixel/s, 1.5Gtexel/s 或 24 GFLOPs,并且提供一系列材质渲染过滤与DMA功能。 相比较来看,树莓派的图形性能基本上与初代Xbox等同。树莓派的总体性能也许和300MHz的奔腾2接近,不过图形能力是远远超越那个时代的。
  如何启动? 系统引导必须使用Micro SD卡,不过您可以指定引导之后从USB硬盘中读取操作系统,来"接管"启动过程。如果不插Micro SD卡,树莓派无法启动。

 

 

安装实战

1.解压下载的raspbian压缩文件,得到img镜像文件  
2.将SD使用卡托或者读卡器后,通过USB接口连接上电脑  
3.解压并运行Win32 Disk Imager工具  

4.添加刚刚解压“**.img”的raspbian系统镜像文件所在路径,"Device"下拉菜单选择SD卡所在盘符,一般能够自动识别出来,选择默认即可。

然后选择“Write”,如果出现下图的对话框,选择“Yes”按钮。    
接下来就开始安装系统了。根据你的SD卡的写入速度,安装过程有快有慢。
5.安装结束后会弹出完成对话框,说明安装就完成了,如果不成功,请关于防火墙一类的软件,重新插入SD进行安装  

6、镜像安装完成之后,考虑到屏幕分辨率的问题,需要修改一下其中的配置文件“config.txt”。

 

  首先需要说明的一点是:树莓派的Debian系统中是自动扫描显示器的,大多数情况下无法全屏显示,即实际显示出来的桌面要么大于显示屏导致部分窗口无法显示或者关闭,要么实际显示出来的效果小于显示屏的大小导致周围出现黑色边界区域。如果出现这种情况就需要我们自己进行手动的配置了,但是在这些配置在开机进入系统之后是没法设置的,而是需要通过修改镜像文件中的配置文件来实现的。如果只是想快速完成配置,不希望深入连接其中的细节的,可以直接跳过本文所叙内容,直接下载文中提供配置好的配置文件!

  按照众多前辈们的说法,将config.txt修改如下:

 1 #hdmi_edid_file=1
 2 
 3 # uncomment if you get no picture on HDMI for a default "safe" mode
 4 hdmi_safe=1
 5 
 6 # uncomment this if your display has a black border of unused pixels visible
 7 # and your display can output without overscan
 8 disable_overscan=1
 9 
10 # uncomment the following to adjust overscan. Use positive numbers if console
11 # goes off screen, and negative if there is too much border
12 overscan_left=-30
13 overscan_right=-30
14 overscan_top=-30
15 overscan_bottom=-30
16 
17 # uncomment to force a console size. By default it will be display's size minus
18 # overscan.
19 #framebuffer_width=1280
20 #framebuffer_height=960
21 
22 # uncomment if hdmi display is not detected and composite is being output
23 #hdmi_force_hotplug=1
24 
25 # uncomment to force a specific HDMI mode (this will force VGA)
26 hdmi_group=2
27 hdmi_mode=16
28 
29 # uncomment to force a HDMI mode rather than DVI. This can make audio work in
30 # DMT (computer monitor) modes
31 hdmi_drive=2
32 
33 # uncomment to increase signal to HDMI, if you have interference, blanking, or
34 # no display
35 config_hdmi_boost=4
36 
37 # uncomment for composite PAL
38 #sdtv_mode=2
39 
40 #uncomment to overclock the arm. 700 MHz is the default.
41 #arm_freq=800
42 
43 # for more options see http://elinux.org/RPi_config.txt

 

注意,必须把hdmi_drive设为2,因为1是DVI输出,2才是hdmi输出,因为我的线是hdmi转vga的。

这样,重新启动Pi后,基本能显示了,可是默认是640×480的,看着非常别扭,网上找了很多资料,包括把如下config.txt部分注释取消掉:

1 framebuffer_width=1280
2 framebuffer_height=960

 貌似分辨率成了1280×960,而实际上是,只是Pi按1280×960输出到屏幕上了,而屏幕的分辨率还是640×480的,所以字体很虚很模糊,几乎看不清。

按理说只要更改hdmi_group=2   —>1:CEA  2:DMT hdmi_mode=4   —>从模式列表中选取一种显示模式

就可以切换显示分辨率了,可是怎么改都没啥用。貌似不起任何作用!启动树莓派之后看到的效果如下:

 

幸好看了完整的Raspberry Pi配置说明,发现当hdmi_safe设置为1时,hdmi_group默认为1,hdmi_mode为1,后面你怎么改hdmi_group和hdmi_mode都不起作用了!!!

 1 ## hdmi_safe
 2 ##     Use "safe mode" settings to try to boot with maximum hdmi compatibility.
 3 ##
 4 ##     Value    Description
 5 ##     -------------------------------------------------------------------------
 6 ##     0        Disabled (Default)
 7 ##     1        Enabled (this does: hdmi_force_hotplug=1, config_hdmi_boost=4,
 8 ##                                  hdmi_group=1, hdmi_mode=1,
 9 ##                                  disable_overscan=0)
10 ##
11 #hdmi_safe=1

注意看完整的Raspberry Pi配置说明,你会发现,当disable_overscan=1时,overscan_top、overscan_botom、overscan_left、overscan_right几个参数不起作用!

 1 ################################################################################
 2 ##  Overscan Video Settings
 3 ################################################################################
 4 
 5 ## overscan_left
 6 ##     Number of pixels to skip on left
 7 ##
 8 #overscan_left=0
 9 
10 ## overscan_right
11 ##     Number of pixels to skip on right
12 ##
13 #overscan_right=0
14 
15 ## overscan_top
16 ##     Number of pixels to skip on top
17 ##
18 #overscan_top=0
19 
20 ## overscan_bottom
21 ##     Number of pixels to skip on bottom
22 ##
23 #overscan_bottom=0
24 
25 ## disable_overscan
26 ##     Set to 1 to disable overscan
27 ##
28 ##     Value    Description
29 ##     -------------------------------------------------------------------------
30 ##     0        Overscan Enabled (Default)
31 ##     1        Overscan Disabled
32 ##
33 #disable_overscan=1

几经周折,得到最终版的config.txt的完整配置文件如下:

 1 #hdmi_edid_file=1
 2 
 3 # uncomment if you get no picture on HDMI for a default "safe" mode
 4 #hdmi_safe=1
 5 
 6 # uncomment this if your display has a black border of unused pixels visible
 7 # and your display can output without overscan
 8 disable_overscan=1
 9 
10 # uncomment the following to adjust overscan. Use positive numbers if console
11 # goes off screen, and negative if there is too much border
12 #overscan_left=-30
13 #overscan_right=-30
14 #overscan_top=-30
15 #overscan_bottom=-30
16 
17 # uncomment to force a console size. By default it will be display's size minus
18 # overscan.
19 #framebuffer_width=1280
20 #framebuffer_height=720
21 
22 # uncomment if hdmi display is not detected and composite is being output
23 hdmi_force_hotplug=1
24 
25 # uncomment to force a specific HDMI mode (this will force VGA)
26 hdmi_group=2
27 hdmi_mode=32
28 
29 # uncomment to force a HDMI mode rather than DVI. This can make audio work in
30 # DMT (computer monitor) modes
31 hdmi_drive=2
32 
33 # uncomment to increase signal to HDMI, if you have interference, blanking, or
34 # no display
35 config_hdmi_boost=4
36 
37 # uncomment for composite PAL
38 #sdtv_mode=2
39 
40 #uncomment to overclock the arm. 700 MHz is the default.
41 #arm_freq=800
42 
43 # for more options see http://elinux.org/RPi_config.txt

 

重新启动树莓派之后,完美运行,得到了期望的效果:显示分辨率提高了,显示区域周围的黑色边界也消失了.效果图如下所示:

 

 各项参数设置的含义可以参考如下的网址:http://elinux.org/RPiconfig。这里简要介绍一下参数:hdmi_group和hdmi_mode。

 

hdmi_group defines the HDMI type

 

Not specifying the group, or setting to 0 will use the preferred group reported by the edid.

 

hdmi_group=1   CEA
hdmi_group=2   DMT

 

hdmi_mode defines screen resolution in CEA or DMT format (for other modes not listed here have a look at this thread)

These values are valid if hdmi_group=1 (CEA)
hdmi_mode=1    VGA
hdmi_mode=2    480p   60 Hz
hdmi_mode=3    480p   60 Hz  H
hdmi_mode=4    720p   60 Hz
hdmi_mode=5    1080i  60 Hz
hdmi_mode=6    480i   60 Hz
hdmi_mode=7    480i   60 Hz  H
hdmi_mode=8    240p   60 Hz
hdmi_mode=9    240p   60 Hz  H
hdmi_mode=10   480i   60 Hz  4x
hdmi_mode=11   480i   60 Hz  4x H
hdmi_mode=12   240p   60 Hz  4x
hdmi_mode=13   240p   60 Hz  4x H
hdmi_mode=14   480p   60 Hz  2x
hdmi_mode=15   480p   60 Hz  2x H
hdmi_mode=16   1080p  60 Hz
hdmi_mode=17   576p   50 Hz
hdmi_mode=18   576p   50 Hz  H
hdmi_mode=19   720p   50 Hz
hdmi_mode=20   1080i  50 Hz
hdmi_mode=21   576i   50 Hz
hdmi_mode=22   576i   50 Hz  H
hdmi_mode=23   288p   50 Hz
hdmi_mode=24   288p   50 Hz  H
hdmi_mode=25   576i   50 Hz  4x
hdmi_mode=26   576i   50 Hz  4x H
hdmi_mode=27   288p   50 Hz  4x
hdmi_mode=28   288p   50 Hz  4x H
hdmi_mode=29   576p   50 Hz  2x
hdmi_mode=30   576p   50 Hz  2x H
hdmi_mode=31   1080p  50 Hz
hdmi_mode=32   1080p  24 Hz
hdmi_mode=33   1080p  25 Hz
hdmi_mode=34   1080p  30 Hz
hdmi_mode=35   480p   60 Hz  4x
hdmi_mode=36   480p   60 Hz  4xH
hdmi_mode=37   576p   50 Hz  4x
hdmi_mode=38   576p   50 Hz  4x H
hdmi_mode=39   1080i  50 Hz  reduced blanking
hdmi_mode=40   1080i 100 Hz
hdmi_mode=41   720p  100 Hz
hdmi_mode=42   576p  100 Hz
hdmi_mode=43   576p  100 Hz  H
hdmi_mode=44   576i  100 Hz  
hdmi_mode=45   576i  100 Hz  H
hdmi_mode=46   1080i 120 Hz  
hdmi_mode=47   720p  120 Hz  
hdmi_mode=48   480p  120 Hz  
hdmi_mode=49   480p  120 Hz  H
hdmi_mode=50   480i  120 Hz  
hdmi_mode=51   480i  120 Hz  H
hdmi_mode=52   576p  200 Hz  
hdmi_mode=53   576p  200 Hz  H
hdmi_mode=54   576i  200 Hz  
hdmi_mode=55   576i  200 Hz  H
hdmi_mode=56   480p  240 Hz  
hdmi_mode=57   480p  240 Hz  H
hdmi_mode=58   480i  240 Hz  
hdmi_mode=59   480i  240 Hz  H
H means 16:9 variant (of a normally 4:3 mode).
2x means pixel doubled (that is, higher clock rate, with each pixel repeated twice)
4x means pixel quadrupled (that is, higher clock rate, with each pixel repeated four times)

 

These values are valid if hdmi_group=2 (DMT)
Note: according to  http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=20155&p=195417&hilit=2560x1600#p195443
there is a pixel clock limit which means the highest supported mode is 1920x1200 @60 Hz with reduced blanking.
hdmi_mode=1    640x350    85 Hz
hdmi_mode=2    640x400    85 Hz
hdmi_mode=3    720x400    85 Hz
hdmi_mode=4    640x480    60 Hz
hdmi_mode=5    640x480    72 Hz
hdmi_mode=6    640x480    75 Hz
hdmi_mode=7    640x480    85 Hz
hdmi_mode=8    800x600    56 Hz
hdmi_mode=9    800x600    60 Hz
hdmi_mode=10   800x600    72 Hz
hdmi_mode=11   800x600    75 Hz
hdmi_mode=12   800x600    85 Hz
hdmi_mode=13   800x600   120 Hz
hdmi_mode=14   848x480    60 Hz
hdmi_mode=15   1024x768   43 Hz  DO NOT USE
hdmi_mode=16   1024x768   60 Hz
hdmi_mode=17   1024x768   70 Hz
hdmi_mode=18   1024x768   75 Hz
hdmi_mode=19   1024x768   85 Hz
hdmi_mode=20   1024x768  120 Hz
hdmi_mode=21   1152x864   75 Hz
hdmi_mode=22   1280x768          Reduced blanking
hdmi_mode=23   1280x768   60 Hz
hdmi_mode=24   1280x768   75 Hz
hdmi_mode=25   1280x768   85 Hz
hdmi_mode=26   1280x768  120 Hz  Reduced blanking
hdmi_mode=27   1280x800          Reduced blanking
hdmi_mode=28   1280x800   60 Hz  
hdmi_mode=29   1280x800   75 Hz  
hdmi_mode=30   1280x800   85 Hz  
hdmi_mode=31   1280x800  120 Hz  Reduced blanking
hdmi_mode=32   1280x960   60 Hz  
hdmi_mode=33   1280x960   85 Hz  
hdmi_mode=34   1280x960  120 Hz  Reduced blanking
hdmi_mode=35   1280x1024  60 Hz  
hdmi_mode=36   1280x1024  75 Hz  
hdmi_mode=37   1280x1024  85 Hz  
hdmi_mode=38   1280x1024 120 Hz  Reduced blanking
hdmi_mode=39   1360x768   60 Hz  
hdmi_mode=40   1360x768  120 Hz  Reduced blanking
hdmi_mode=41   1400x1050         Reduced blanking
hdmi_mode=42   1400x1050  60 Hz  
hdmi_mode=43   1400x1050  75 Hz  
hdmi_mode=44   1400x1050  85 Hz  
hdmi_mode=45   1400x1050 120 Hz  Reduced blanking
hdmi_mode=46   1440x900          Reduced blanking
hdmi_mode=47   1440x900   60 Hz  
hdmi_mode=48   1440x900   75 Hz  
hdmi_mode=49   1440x900   85 Hz  
hdmi_mode=50   1440x900  120 Hz  Reduced blanking
hdmi_mode=51   1600x1200  60 Hz  
hdmi_mode=52   1600x1200  65 Hz  
hdmi_mode=53   1600x1200  70 Hz  
hdmi_mode=54   1600x1200  75 Hz  
hdmi_mode=55   1600x1200  85 Hz  
hdmi_mode=56   1600x1200 120 Hz  Reduced blanking
hdmi_mode=57   1680x1050         Reduced blanking
hdmi_mode=58   1680x1050  60 Hz  
hdmi_mode=59   1680x1050  75 Hz  
hdmi_mode=60   1680x1050  85 Hz  
hdmi_mode=61   1680x1050 120 Hz  Reduced blanking
hdmi_mode=62   1792x1344  60 Hz  
hdmi_mode=63   1792x1344  75 Hz  
hdmi_mode=64   1792x1344 120 Hz  Reduced blanking
hdmi_mode=65   1856x1392  60 Hz  
hdmi_mode=66   1856x1392  75 Hz  
hdmi_mode=67   1856x1392 120 Hz  Reduced blanking
hdmi_mode=68   1920x1200         Reduced blanking
hdmi_mode=69   1920x1200  60 Hz  
hdmi_mode=70   1920x1200  75 Hz  
hdmi_mode=71   1920x1200  85 Hz  
hdmi_mode=72   1920x1200 120 Hz  Reduced blanking
hdmi_mode=73   1920x1440  60 Hz  
hdmi_mode=74   1920x1440  75 Hz  
hdmi_mode=75   1920x1440 120 Hz  Reduced blanking
hdmi_mode=76   2560x1600         Reduced blanking
hdmi_mode=77   2560x1600  60 Hz  
hdmi_mode=78   2560x1600  75 Hz  
hdmi_mode=79   2560x1600  85 Hz  
hdmi_mode=80   2560x1600 120 Hz  Reduced blanking
hdmi_mode=81   1366x768   60 Hz  
hdmi_mode=82   1080p      60 Hz  
hdmi_mode=83   1600x900          Reduced blanking
hdmi_mode=84   2048x1152         Reduced blanking
hdmi_mode=85   720p       60 Hz  
hdmi_mode=86   1366x768          Reduced blanking

 

 

 

 

 

 

注意:
  Windows系统下看到SD只有74MB了,很多人会觉得很奇怪,其实这是正常现象,因为linux下的分区win下是看不到的。 



  大家可以使用分区软件查看SD卡,就能看到linux下的分区了,如下图所示: 

 

Ext3,Swap2就是linux系统的分区了。
再来普及一下分区:
  Ext3区属于linux的文件系统,就和win的系统盘C盘一样,
  Swap区为linux的虚拟内存区,主要在物理内存不够用的时候,做缓存用的。

 

详细使用说明可以参考:http://www.waveshare.net/txt/RPi-B-Plus-UM.htm

 

posted @ 2015-03-15 20:59  GeekerLou  阅读(144)  评论(0编辑  收藏  举报