不从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启动内核,大概意思就是 ...
随机推荐
- 【hive】——Hive四种数据导入方式
Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...
- PostgreSQL-角色、库、模式、表
由于不了解postgresql的psql工具,安装完数据库后就直接用pgadmin或navicat来连接操作,在确认初始化后的库中默认有些什么东西后竟然一直无处下手,在还没有了解pg大致体系的情况下搞 ...
- 自动创建WIN32下多级子目录的C++封装类
这是 WIN32 自动创建多级子目录的 C++ 封装类,用法简单. 封装没有采用类的静态函数方式,而是在构造函数里面直接完成工作.没什么具体的原因,只是当时做成这样了, ...
- mac版本navicat连接oracle报错ORA-21561
最近电脑更换成mac,很多软件都和win不一样了,正在慢慢适应,连接oracle原来用的客户端是pl/sql develop,蛋疼的是没有了mac版本, 用了navicat,具体设置如下 1.新建连接 ...
- [WPF系列]-DynamicResource与StaticResource的区别
探讨: 1.当引用资源时,选择StaticResource还是DynamicResource的考虑因素: (1)在哪里创建资源?(资源的范围或层级) a. 资源是在一个Page/Canvas/Wind ...
- JS入门学习,编写一个简易月历
//今天最头疼的地方在于 getElementsByClassName()的 [] ~~ //错了N遍后只能说有点点头绪,如果不加[] 查找的就是全部吧 加上[]能精确控制的标签或者class < ...
- 第一个JAVA应用
1.1创建源文件 1.1.1Java源文件结构 Java应用由一个或多个扩展名为“.Java”的文件构成,这些文件被成为源文件.从编译角度,则被称为编译单元(Compilation Unit). 如果 ...
- 片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但
片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但片元着色器是一个更合适的名字, 因为此时的片元并不是一个真正意义上的像素.
- css 实现未知图片垂直居中
1.demo html部分 <div class="demo"> <a href="#"><img src=" ...
- 【转】【C#】C# 5.0 新特性——Async和Await使异步编程更简单
一.引言 在之前的C#基础知识系列文章中只介绍了从C#1.0到C#4.0中主要的特性,然而.NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两 ...