不从SD卡启动树莓派2
本文你可以学到:
berryboot使用,kali安装,开挂的MobaXterm,以及关于通过LABEL和UUID挂载的小技巧。
本文默认你有一定Linux基础,同时针对刚入门的水平,因为这是我的折腾记录。不懂可以留言或者email。
首先要明确的是现在暂时没有完全脱离sd卡的方法,因为Pi是默认从SD卡启动的。只是实现了将系统放在别的地方(U盘,硬盘,局域网),但是还是要有一张sd卡(可以很小,64M以内都可以)作为/boot来引导,无法完全做到从U盘启动,但是启动后可以拔掉SD卡运行。
我只有一张16G的SD卡,其他三张是64M,256M和1G,装不下比较大的系统(也有超小的系统比如minibian,picore等)。正好手头又有从老姐那讹的了一个卡片式U盘,就用来配合64M的卡启动呗,装上Kali树莓派定制版(下载页面:http://dwz.cn/JKYNT,Pi2专用:http://images.offensive-security.com/ARM/kali-1.1.0-rpi2.img.xz)。
而且在U盘分区上可以一个分区放一个系统,在SD卡上选择启动哪个分区。另外可以从外挂硬盘启动,有反馈讲写操作时CPU占用率会降低,速度应该也会快点,此前我挂了个快报废的笔本硬盘当NAS+下载机,现在也可以把系统直接装在硬盘上。可以从网络NFS启动,比如http://dwz.cn/JlBNK。
树莓派实验室上的文章使用了Uboot,比较麻烦。这里使用BerryBoot并且支持无显示器操作。重新参考了一些文章,记录如下。
1.如果已经有SD卡启动的Pi,那么把U盘插上去,输入
sudo fdisk –l
看看Pi能不能识别这个U盘,不能识别下一步还咋启动哩。如果失败可以尝试自己编译内核支持,暂时我还不会弄,自行百谷虎。
2.格式化小sd卡为fat32格式,把下载得到的berryboot解压到sd卡根目录。因为我没有显示器,参考官网文档http://dwz.cn/JL2ye,
在sd卡cmdline.txt里面添加
vncinstall ipv4=192.168.88.88/255.255.255.0/192.168.88.1
更改电脑有线网卡IP为192.168.88.1/255.255.255.0,网关留空。
注意a.采用默认ip,不要自行更改;b.添加的内容和原来的内容在同行,不要另起一行。c.vnc可以只输入上述ip地址,不加display号,不行的话默认display号为0,即5901。d.使用wlan的话参考链接。
3.如果要添加berryboot仓库里没有的镜像,比如kali,需要对镜像进行修改(删除boot分区,也就是你烧录之后Windows里面能看到的分区)。参考:
http://dwz.cn/JLbKT 需要在现有系统里面安装kpartx和squashfs-tools这两个软件包,其他的直接复制官网命令就可以了。
4.修改好之后把定义好的镜像放到另一个U盘或者啥上面,反正不在待烧录的U盘就行。插上SD卡,网线和U盘,打开vnc,连上树莓派berryboot,按操作来就行了。装好之后插回原来系统的sd卡,再修改U盘里系统的interfaces文件,保证能连到电脑方便操作就行了。当然最推荐的还是usb2ttl,10块钱包邮,好用得很。
5.kali 1.1.0使用的是xfce4桌面环境,设置MobaXterm,就可以直接登陆kali图形界面了~不需要vnc,xrdp啥的。

#=====使用berryboot了,以下内容可不看======#
PS:kali进不了终端,试试dietpi
2.先把需要启动的镜像烧到U盘里(用win32diskimager或者dd烧录img,其他格式可能是压缩包,需要解压)方法请参考富大腿的视频解说(
没配音差评!)顺便帮富大腿宣传一下她(醒目!)的社团,叫什么我也不知道,反正这不是重点。
2.
3.可以识别的话修改/boot/cmdline.txt,把root=/dev/mmcblk0p2改成你看到的,比如我是sda2,更好的方法是设置LABEL或者UUID(通过blkid命令查看),例如root=LABEL=FuDatui或者root=UUID=CB99-9527(“先生您好,我是工号9527”),这样即使有移动硬盘也不怕,当然可以事后挂载比如mount -a,相当于再次fstab。注意【rootwait】参数,这使得启动过程会等待root分区识别后后才继续。
#========忽视完毕============#
参考1:
http://www.redrobe.com/mike/boot-raspberry-pi-from-a-16mb-sd-card/
http://www.engineersgarage.com/embedded/raspberry-pi/how-to-load-ubuntu-on-raspberry-pi
http://raspberrypi.stackexchange.com/questions/1187/boot-from-external-usb-stick-drive
http://raspberrypi.stackexchange.com/questions/757/boot-from-usb-hard-disk?rq=1
参考2(berryboot):
http://www.berryterminal.com/doku.php/berryboot
LABEL和UUID:
http://blog.sina.com.cn/s/blog_54f82cc201011j8c.html
http://blog.sina.com.cn/s/blog_71f3890901013dl2.html
http://www.firekyrin.com/archives/3162.html
更改LABEL不同文件系统所用工具不同,FAT和NTFS可以直接在Windows下修改,
e2label –>ext234。个人建议LABEL,因为有些UUID太长了。在fstab里面修改就不怕sda变sdb什么的了。
不从SD卡启动树莓派2的更多相关文章
- 向SD卡写入树莓派的操作系统
这是 meelo 原创的 玩转树莓派 系列文章 用到的工具: Win32 Disk Imager: sd卡读卡器 Raspbian操作系统镜像:下载地址 步骤1:下载操作系统的镜像 树莓派基金会的网 ...
- am335x sd卡启动开启识别emmc kernel 上的改动
sbc 7109-454 sd 卡启动qt系统后一直识别不了 emmc 也就是mmc1口, 一开始以为是硬件初始化的问题,后面又以为是io口复用,最后才知道是根本没有注册mmc1设备. 更改下面的代 ...
- am335x sd卡启动系统参数设置
首先直接记录结果 在u-boot 中修改参数 #define AUTO_UPDATESYS */ 直接把这个参数注释掉. 这个参数是原来用来升级nor flash 启动系统设置的一个参数,也就是说, ...
- Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建
/*********************************************************************************** * * linux 3.5,U ...
- Exynos4412从SD卡启动的简单网络文件系统制作
Exynos4412从SD卡启动的简单网络文件系统制作 1. 简介 嵌入式系统能够在开发板上正常运行,需要先进行系统配置,一个完整的嵌入式系统应该包含的几个部分::uboot,kernel,rootf ...
- 制作SD卡启动自己编译的uboot.bin
README for FriendlyARM Tiny4412 -----------------------------------------------------1. Build uboot ...
- [i.MX6q]i.MX6q处理器,linux操作系统平台搭建 从SD卡启动系统
转自:http://www.07net01.com/linux/2016/02/1232094.html 参照1:http://blog.csdn.net/girlkoo/article/detail ...
- imx6 android SD卡启动
工作中需要将imx6的android系统从SD卡启动,所以就分析了MfgTool中的脚本,分析android的分区情况,并尝试自己操作,竟然成功了,记录于此. 参考文档 http://www.kanc ...
- ZYNQ的Linux Linaro系统镜像制作SD卡启动
ZYNQ的Linux Linaro系统镜像制作SD卡启动 0. 概述 ZYNQ生成uboot的时候和正常的ARM设备不太一样,ZYNQ属于二次辅助启动uboot然后由uboot启动内核,大概意思就是 ...
随机推荐
- [Java入门笔记] 面向对象编程基础(三):成员变量和局部变量
在类中,变量根据定义的位置不同,可以分为成员变量和局部变量.
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
- 两种交换机配置模式,以配置基于端口划分的VLAN为例
关于交换机的配置模式,大体上可以分为两类:其一以CISCO交换机为代表的配置模式,其二以Huawei.H3C交换机为代表的配置模式.其实这两种配置模式并没有本质的不同,只是配置的命令名称和配置方式存在 ...
- Linux IPC socket 广播,组播
getsockopt()/setsockopt() //获得sockfd指向的socket的属性 int getsockopt(int sockfd, int level, int optname, ...
- Godaddy SSL 安装及Tomcat 7配置
基础环境:Centos 7.X 1. 安装tomcat 与java 环境: 2.使用jre 程序的keytool 生成密钥,java 我使用解压版本并运行目录在/usr/java, 生成tomcat. ...
- android 解决ListView点击与滑动事件冲突
如果你的ListView的Item有滑动功能,但又点击Item跳转到其它activity,这样若是在Adapter里面写点击事件是会导致滑动事件获取不到焦点而失效: 解决方法:不要在adapter里面 ...
- javascript运算符语法概述
× 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...
- Java Generics and Collections-2.1
2.1 子类化以及替换原理 为什么List<Integer> 不是List<Number> 的子类? 首先看下面的代码,这段代码是编译不过的 package java_gene ...
- libsvm简介和函数调用参数说明
1. libSVM简介 libSVM是台湾林智仁(Chih-Jen Lin) 教授2001年开发的一套支持向量机库,这套库运算速度挺快,可以很方便的对数据做分类或回归.由于libSVM程序小 ...
- 如何在github中创建演示demo
在项目中创建一个新的gh-pages分支: 将你想要展示的示例demo上传到改分支,具体操作就看你自己啦,是merge其他分支的过来还是重新写代码都可以. 最后,通过http://<userna ...