|
阅读:0回复:6
Raspberry pi(树莓派) 入手配置的一些总结
[i=s] 本帖最后由 黄腾 于 2013-10-10 23:43 编辑
[font="]1. 启动分辨率的配置。 [font="]2. 将系统文件以及启动从[font="]SD卡转移到[font="]USB Storage上去。 [font="]3. 在没有[font="]wfi的情况下设置[font="]Pi通过网线连接[font="]PC上网。 相信这两个配置是在第一次上手[font="]Pi时很常用到的,第一个是为了防止有的人将[font="]hdmi接口接到电视上显示,结果分辨率不匹配导致很多内容没能显示出来。而第二个是用来增强系统的稳定性和扩展系统容量的。毕竟[font="]sd卡比同等容量的[font="]U盘贵上不少,而且试想谁会实现为这个小[font="]PC浪费一个[font="]8G的[font="]SD卡呢?而且从读写速度,寿命来讲,[font="]U盘都要优于[font="]sd卡,当时自己安装系统的时候不知道怎么配置这个,手上只有一个[font="]4G的[font="]sd卡,装好了系统后发现已经没有什么空间了,导致自己无法安装[font="]opencv库,走投无路了才想到这个办法([font="]8G的[font="]U盘我想一般的人都会有的)。效果还不错。 [font="]4. 通过电脑远程控制[font="]raspberry pi(远程桌面控制) [font="] (一)[font="]. 分辨率的配置 这个比较简单,输入命令: [font="]sudo nano /boot/config.txt 里面有[font="]width 和[font="]height两个值,修改成自己想要的分辨率即可(目前我的小电视的分辨率是[font="]1280*540)。不要按照网上说的查什么[font="]pi可支持的格式然后选择什么的,我曾试过,最后都会导致唯一的结果,显示黑屏。只需要修改这两个值然后输入重启命令: [font="]sudo shutdown -r now [font="] (二)[font="]. 让[font="]Pi从[font="]Usb stick启动 事先提到一点,由于设计的原因,引导过程([font="]bootloader)貌似是被内核默认选择从[font="]sd卡启动的,所以即使将启动设置为从[font="]U盘启动后,上电前还是需要插入[font="]sd卡以及同时插入[font="]U盘,然后它才会自动选择从[font="]U盘启动系统,不插[font="]sd卡还是无法启动整个系统的。可能我目前的这个理解不是很明确,以后我会尝试更底层的系统来解决这个问题。毕竟目前对操作系统的启动原理还不是特别的了解。 网上讲的配置步骤都看得非常的繁琐,这里给出我自己理解的最简单的方法: [font="] [font="]1. 按照官网的说明将[font="]raspberry pi的系统镜像(我用的是最初级的[font="]wheezyraspbian镜像)写入[font="]sd卡。 [font="]2. 启动[font="]raspberry pi,第一次启动会要求配置[font="]bios,默认的情况是安装时不全部占用存储设备,当时为了尽量获得最大的空间利用率,我设置为了占用全部的空间。不过这里可以不用管,一切按照默认的设置继续。 [font="]3. 插上[font="]U盘后,查看当前[font="]pi所连接的存储设备,输入命令: [font="] sudo fdisk -l [font="][img=395,190]file:///C:/Users/tehu/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[/img] [font="] [font="] 由于我目前已经配置好了,已经显示了[font="]/dev/sda1已经属于[font="]boot device,先不在意这个,这个命令是为了知道我的[font="]U盘在此被识别了并且名字叫[font="]sda1。 [font="] [font="]4. 在复制系统文件到[font="]U盘时先配置[font="]U盘的文件系统格式。在这里可以使用命令: [font="] sudo cfdisk /dev/sda1 [font="] 进入类似文件分区工具里面,选择[font="]freespace后创建新的分区,默认情况下是占用[font="]U盘整个空间的,然后选择设置成文件[font="]linux能识别的格式,这里我选择的最基本的[font="]FAT32([font="]win/linux)通用的格式,至于选择[font="]EXT4是不是更快些,以后安装新的系统时再尝试。 [font="] [font="]5. 在当前系统目录下创建一个映射目录[font="]storage,使该文件夹映射到[font="]U盘的存储空间 [font="] 创建文件夹 [font="] sudo mkdir /storage [font="] 设置映射 [font="] sudo mount /dev/sda1 /storage [font="] [font="] 为了让系统能每次启动的时候能自动的映射过去,可以修改文件[font="]fstab [font="] sudo nano /etc/fstab [font="] 在末行加入新的分区,如下: [font="] [img=500,129]file:///C:/Users/tehu/AppData/Local/Temp/msohtmlclip1/01/clip_image003.jpg[/img] [font="] 晕,现在检查起来,根据上图,其实我没有把[font="]U盘的名字[font="]sda1映射过去,[font="]storage被映射成了[font="]sd的某个区域。 [font="] 注:这一步其实是为了扩展系统存储空间用的,之后还需要修改文件夹[font="]storage的权限,但是现在是为了让[font="]Pi从[font="]U盘启动,那个时候自然而然系统文件和用户文件都会在[font="]U盘里面,所以我感觉这一步可以直接省去。 [font="] [font="]6. 将[font="]sd卡的当前所有文件复制到[font="]U盘上,根据上图mmcblk0p1是挂载根分区的,所以需要复制其所有文件到U盘 [font="] dd if=/dev/mmcblk0p1 of=/dev/sda1 这个过程很慢,好像有个20多分钟,让我一度以为死了机。 7.设置启动项,通过修改cmdline这个文件来实现 nano /boot/cmdline.txt 修改命令为: [color=rgb(34, 34, 34)]dwc_otg.lpm_enable=0 console=ttyAMA0,115200kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 elevator=deadlinerootwait [font="] 将[font="]root的路径改为[font="]U盘名字即可 [font="]8. 重启[font="]raspberry Pi即可。 [font="] 最后检查磁盘挂载情况 [font="][img=591,158]file:///C:/Users/tehu/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg[/img] [font="] 可以看到[font="]root的大小已经是[font="]7.4G了([font="]U盘大小),可见系统现在在[font="]U盘,使用[font="]pwd查看自己当前路径是[font="]"/",与系统路径一样。配置成功。 [font="] 后记:之后验证了一点,在复制完所有的系统文件到[font="]U盘后,只需要修改文件[font="]cmdline.txt即可,即修改[font="]root的分区位置。因此[font="]sd卡此时可以刷任意的别的系统,要重新切换到[font="]sd卡上的新的系统只需要修改上述文件为[font="]root=/dev/mmcblk0p2即可。由于[font="]cmdline.txt 路径在[font="]/boot下,而根据上图知道[font="]boot是存放在[font="]/dev/mmcblk0p2 ([font="]sd卡路径)上的。因此再次证明即使系统全部在[font="]u盘上,还是需要[font="]sd卡做[font="]boot引导。 [font="] (三)在没有[font="]wfi的情况下设置[font="]Pi通过网线连接[font="]PC上网。 [font="] 需要提到的一点是该方法需要[font="]PC机至少有两张网卡,并且两者设置成桥接模式。设置桥接很简单,在[font="]windows下只需要在控制面板的网络适配器设置中同时选中两张网卡设置为桥接模式即可。然后就是是根据[font="]ipconfig中[font="]PC机的网关地址和子网掩码信息来设置[font="]Raspberry Pi 例如在我的[font="]PC机中 [font="]Ip地址为[font="] 10.6.17.130 子网掩码[font="]255.255.248.0 网关[font="]10.6.16.1 因此在[font="]pi中我为其分配一个统一网段的[font="]IP10.6.17.250 然后为其设置新的路由网关[font="] 与[font="]PC网关相同[font="] 命令如下: sudoifconfig eth0 10.6.17.250 netmask 255.255.248.0 sudo routeadd default gw 10.6.16.1 eth0 [font="] 然而有一点不好的是,重启后设置全部失效,因此需要找到系统于此相关的文件并写进去 需要修改[font="]network下[font="]interface文件 [font="]sudo nano/etc/network/interfaces 注释掉[font="]dhcp设置[font="] 修改如下 [font="] # The loopback interface [font="] auto lo [font="] iface lo inet loopback [font="] #iface eth0 inet dhcp [font="] iface eth0 inet static [font="] #your static IP [font="] address 10.6.17.250 [font="] #your gateway IP [font="] gateway 10.6.16.1 [font="] netmask 255.255.248.0 以后每次启动连上网线就能直接上网了。 [font="] (四)通过[font="]PC机桌面远程连接控制[font="]Raspberry Pi [font="] 在raspberry上安装xrdp,命令如下 sudo apt-get install xrdp 之后每次启动pi该程序会自动启动。 如果需要检查当前的ip地址可以使用以下命令: ifconfig eth0| grep inet 剩下就是通过windows默认的远程桌面连接,输入ip地址登陆名密码后就能获取桌面了。 关于更多的树莓派的配置和链接摄像头,opencv使用等等,我都有介绍,由于原来写在自己的博客里面,就不再此再次发表,欢迎访问我的网易博客。 http://blog.163.com/xiaoqian_ht/ 接下来我已经购买了pi的相机模组 关于它的测试,我将会在今后陆续给出。欢迎大家给予好的建议和帮助,好的技术缺少不了大家的支持和鼓励#22x
|
|
|
板凳#
发布于:2013-10-13 02:42
这个是我写的
这个是我写的https://www.gn00.com/t-293704-1-1.html |
|
|
地板#
发布于:2013-10-13 03:50
|
|
|
4楼#
发布于:2013-10-13 03:57
这个是我写的
阪本 发表于 2013-10-13 02:42 不过我现在有个问题啊 我把我的pi连接好了edimax的wifi 配置成了wifi热点 虽然我配置成了dhcp的模式 但是用手机或者平板连接时有时候卡在了 等待ip地址的状态 有时候突然可以分配到 有时候不能 不过平板通过配置固定的IP可以很稳定的连接并通过pi上网(pi本身连着网线),可以解释为啥吗? 不知道为啥pi上的dhcp分配IP的方法不稳定 |
|
|
5楼#
发布于:2013-10-14 15:20
不过我现在有个问题啊
黄腾 发表于 2013-10-13 03:57 路由器问题吧。最好设置静态。 |
|
|
6楼#
发布于:2013-10-14 15:25
路由器问题吧
阪本 发表于 2013-10-14 15:20 可能你没有理解我的问题,我把pi本身配置成了wifi的路由器 作为一个路由器 它应该被设定为具有自动给连上它的设备分配IP的功能 所以我把pi配置成了dhcp分配方式 但是这样设置好了 连上它的设备(比如说我的手机)并不能很稳定的获取IP地址 |
|