树莓派3 U盘启动 配置 即 MSD启动 总结
什么是MSD
Mass storage device 即 大容量存储设备
闪存芯片的U盘 SD卡 硬盘 固态都行
本次用的就是三星的32GU盘
启动USB BOOT 模式 需要安装两个文件 start.elf
bootcode.bin
这两个文件存在于 github仓库 rpi-firmware的next分支里
https://github.com/Hexxeh/rpi-firmware/tree/next
开始
首先,下载raspbian的系统镜像。 下载地址
我推荐下载lite版本的
不过 lite版本需要一个额外的步骤:
sudo apt-get install rpi-update
然后进行raspberry的更新 和 rpi-update的安装
$ sudo apt-get update;
$ sudo apt-get install rpi-update
因为需要从github的仓库里下载文件,所以需要一个比较好的网络环境
我经过测试发现最好的环境是:
树莓派上安装shadowsocks
sudo apt-get install python-pip
pip install shadowsocks
然后安装 配置 proxychains 代理socks5
sudo apt-get install proxychains
sudo nano /etc/proxychains.conf
将socks4 127.0.0.1 9095改为
socks5 127.0.0.1 port 这边port取决于sslocal配置的本地端口号,我的就是1080
然后
sudo BRANCH=next proxychains rpi-update
PS: 这是我网络环境,即使路由器FQ了依旧有点问题,所以需要proxychains进行代理,不然会出现很多错误(见 最下面的 More )
BRANCH=next 是将环境变量 BRANCH 设置为 next, 这样固件更新的时候会选择next分支而不是branch分支
大致升级过程的显示信息是这样的,期间会有curl进行文件的下载,不过我没截图
允许USB启动:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
重启
sudo reboot
这边我们对重启前后的信息进行对比
重启前
固件版本:
显示OTP寄存器的信息:
重启后
这边显示 17:3020000a才说明更新成功
USB存储设备的系统安装
准备一个USB存储设备,我用的是U盘,硬盘应该也行。需要格式化,所以注意备数据的备份。
sudo parted /dev/sda # 使用parted对U欧盘进行分区(parted) mktable msdos # 创建msdos格式的分区表
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes (parted) mkpart primary fat32 0% 100M # 分 100M 格式成fat32 (parted) mkpart primary ext4 100M 100% # 剩下的全都格式成ext4
一般都是sda,不过分不清楚的话可以用 $sudo fdisk -l | grep sd
查看。
创建BOOT 和root 文件系统
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
创建文件挂载U盘
sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
安装rsync
sudo apt-get update
sudo apt-get install rsync
将root和boot文件系统同步到U盘上去
sudo rsync -ax --progress / /boot /mnt/target
重新生成SSH key
cd /mnt/target
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
sudo chroot /mnt/target rm /etc/ssh/ssh_host* dpkg-reconfigure openssh-server exit sudo umount dev sudo umount sys sudo umount proc
编辑 cmdline.txt
文件,fstab
文件
sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txtsudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab
也可以手动修改
卸载U盘, 关机
cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff
接下来要做的就是拔掉microSD卡然后用U盘启动了
More
A :是否能在pi1 pi2 上使用
不能,因为关于boot的代码只在BCD2837上有(也就是raspberry pi 3 这一代)。
Tips :
最好所用的U盘比microSD卡的容量(准确来说是raspbian的文件系统容量)要大
因为网络原因出现过的一些问题
参考链接
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
https://github.com/raspberrypi/documentation/blob/master/hardware/raspberrypi/bootmodes/msd.md
Youtube : https://www.youtube.com/watch?v=hxV3yrn8FK8
、
------------------------------------------------------------------------------------------------------
用U盘来代替SD卡安装Raspbian的好处就是,U盘比SD卡更加耐用。不要再担心SD卡不经用的问题.
准备一张64兆以上的SD卡,一个4G以上U盘。
操作环境windows 7。
1、U盘准备:
下载Raspbian,解压缩使用win32diskimager(h ttps://launchpad.net/win32-image-writer/0.6/0.6/+download/win32diskimager-binary.zip)将解压后的IMG文件写入到U盘,这个过程完全和官方写入到SD卡一样,只不过SD卡换成了U盘。
2、SD卡准备:
使用HPUSBBoot(ht tp://rapidshare.com/files/107282064/HPUSBFW.zip)下载Dos boot文件(ht tp://rapidshare.com/files/107282214/USB-Boot.zip,解压缩到一个目录),使用管理员身份用HPUSBBoot格式化SD卡并写入BOOT文件,如图:
<ignore_js_op>
第三项要选中你刚才解压缩生成的目录。
在制作好的u盘里,找到
cmdline.txt文件,用windows记事本打开,修改
root=/dev/mmcblk0p2为
root=/dev/sda2,保存退出记事本,再把所有文件
ctrl+A全选,复制到SD卡里。
搞定,然后就把U盘插在树莓派上开机吧
树莓派3 U盘启动 配置 即 MSD启动 总结相关推荐
- CentOS7配置Supervisor开机启动
参考地址: 配置Supervisor开机启动 配置Supervisor开机启动: 新建一个"supervisord.service"文件 dservice for systemd ...
- Springboot启动配置原理
Springboot启动配置原理 启动配置原理 核心启动配置参数 配置在META-INF/spring.factories中 ApplicationContextInitializer SpringA ...
- STM32存储器组织-STM32存储器映像-嵌入式SRAM-STM32位段-嵌入式闪存-STM32启动配置
STM使用说明第二篇 [1]STM32存储器组织 [2]STM32存储器映像 [3]嵌入式SRAM [4]STM32位段 [5]嵌入式闪存 [6]STM32启动配置 [1]STM32存储器组织 程序存 ...
- ABP官方文档(四)【启动配置】
1.4 ABP总体介绍 - 启动配置 在应用启动之前,abp框架提供了模块基本的配置和方法,大家参照下面这个例子就可以了. 译者注: 在看这一节的内容之前,建议大家先下载module-zero这个例子 ...
- 树莓派linux系统识别u盘启动,使用U-Boot让树莓派从U盘启动
概述 Das U-Boot, 通常叫做U-Boot, 嵌入式系统的常用bootloader. U-Boot允许使用SD卡上单个指定文件的内容作为额外的启动参数, 为树莓派增加不少灵活性. 本文将详细介 ...
- 树莓派从U盘启动系统
树莓派从U盘启动系统 烧录镜像到U盘 烧录完后打开PI_BOOT盘,把root=**修改成root=/dev/sda2 新建空白文件ssh,用来开机自启ssh 复制待拷贝Dos文件文件夹中的文件到U盘 ...
- 无盘服务器怎么设置客户端启动,网吧无盘客户端配置向导
你知道网吧无盘客户端配置向导是怎么样的吗?网吧无盘客户端配置向导如何呢?下面是学习啦小编收集整理的网吧无盘客户端配置向导,希望对大家有帮助~~ 网吧无盘客户端配置向导 工具/原料 深度无盘网吧系统 网 ...
- 开发板与虚拟机组网、uboot源码makefile分析、uboot安全启动与非安全启动方式、uboot源码配置与编译流程、制作TF启动盘
开发板与虚拟机组网. 局面:开发板.PC(Ubuntu系统).网线直连PC:设置Ubuntu系统:1.设置桥接模式,桥接到PC的有线网卡上:2.手动配置IP V4的地址信息,注意和开发板保持在同一网段 ...
- 【树莓派学习笔记】树莓派4B上运行uboot并从网络启动linux内核(上)
[树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 文章目录 [树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 前言 1. 硬件需求与软件版本汇总 ...
最新文章
- 美多商城之用户登录(QQ登录)
- linux命令(51):set 指定行,直接替换并修改文件
- 读书笔记_C#入门经典(第5版)第六章_函数
- Spring Boot 常见面试题
- 推荐:26种NLP练手项目(代码+数据)
- pc工具不支持stb的加密方式_那些工作中常用的实用工具
- 如何用 Bash 创建一个二进制发布包
- TypeError: ufunc ‘true_divide‘ output (typecode ‘d‘) could not be coerced to provided outp
- Fedora35安装ibus-rime并配置五笔86方案
- 夏令营导师自荐信计算机专业,北大夏令营的自荐信
- java实现Calendar求两个日期差
- 在win10中安装caffe并配置MATLAB和Python接口(支持GPU加速)
- 3d max 场景转换对话框
- 1NF | 2NF | 3NF的区分以及什么是函数依赖、部分函数依赖、值传递依赖(最详细的讲解1NF、2NF、3NF的关系)
- 期权套利组合 matlab,商品期权常见的组合套利策略(上)
- pg_hba.conf 中 md5 和 scram-sha-256 的区别
- linux 选择 平铺 窗口,【如何配置linux 平铺式窗口管理器i3wm?】-看准网
- 高等数学、线性代数、概率论、几何这些知识可以用来干什么?
- PCIE TLP报文
- linux系统访问NAS网络存储