树莓派SD卡镜像制作代码
2016-12-19 17:07
381 查看
#!/bin/sh
sudo losetup /dev/loop0 original.img
mkdir -p img_temp/boot/
mkdir -p img_temp/root/
sudo kpartx -av /dev/loop0
boot="/dev/mapper/loop0p1"
root="/dev/mapper/loop0p2"
sudo mount $boot img_temp/boot/
sudo mount $root img_temp/root/
sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=2048
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 204800s 729087s
sudo parted raspberrypi.img --script -- mkpart primary ext4 729088s -1
loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[1-9])p.*/\1/g' | head -1`
echo "yansci 5miao"
sleep 5
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
echo $partBoot
ls /dev/mapper/
sudo mkfs.vfat $partBoot -n boot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp img_temp/boot/* /media/
sync
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -h 0 -0uaf - $root | sudo restore -rf -
cd -
sudo umount /media
#存储位置相差8个偏移,必须加上
dd if=/dev/loop0 of=$loopdevice skip=8 seek=8 count=204790
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice
sudo umount img_temp/boot
sudo umount img_temp/root
sudo rm -rf img_temp
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 original.img
mkdir -p img_temp/boot/
mkdir -p img_temp/root/
sudo kpartx -av /dev/loop0
boot="/dev/mapper/loop0p1"
root="/dev/mapper/loop0p2"
sudo mount $boot img_temp/boot/
sudo mount $root img_temp/root/
sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=2048
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 204800s 729087s
sudo parted raspberrypi.img --script -- mkpart primary ext4 729088s -1
loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[1-9])p.*/\1/g' | head -1`
echo "yansci 5miao"
sleep 5
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
echo $partBoot
ls /dev/mapper/
sudo mkfs.vfat $partBoot -n boot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp img_temp/boot/* /media/
sync
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -h 0 -0uaf - $root | sudo restore -rf -
cd -
sudo umount /media
#存储位置相差8个偏移,必须加上
dd if=/dev/loop0 of=$loopdevice skip=8 seek=8 count=204790
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice
sudo umount img_temp/boot
sudo umount img_temp/root
sudo rm -rf img_temp
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0
相关文章推荐
- thinkphp怎么修改配置进入默认首页
- Spring接口和类代理实例
- Java中为IO流写一个快速关闭流的小工具
- python基础知识之成员资格、len函数、max函数、min函数
- Python的输入和输出
- java等比例压缩图片
- JAVA强引用、软引用、弱引用、虚引用小结
- C++大牛blog地址
- VB发送后台按键和组合键
- python+selenium:不会定位元素----使用firepath工具
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- struts2核心概念
- Python成长之路(三)——词典、文本文件的输入输出、模块、函数的参数传递
- python——Tkinter图形化界面及threading多线程
- java 一键部署war包,jar包
- java利用Google Zxing实现 二维码生成与解析
- java命令启动jar包
- HeadFirstC笔记_9 进程与系统调用:打破疆界
- 自己编译OpenJDK
- Lucene 实例教程(四)之检索方法总结