F2FS(英语:Flash-Friendly File System)是一种闪存文件系统,由三星集团研发,适合Linux内核使用。此文件系统起初是为了NAND闪存的存储设备设计(诸如固态硬盘、eMMC和SD卡),这些设备广泛存在于自移动设备至服务器领域。

为了让树莓派发挥更好的性能,本文介绍了在不丢失文件的情况下把raspbian默认的ext4文件系统系统更换成f2fs系统。

由于树莓派内核默认支持f2fs,因此不必重新编译内核,操作过程较为简单。但为了最佳用户体验,还是建议编译64位内核以充分发挥armv8处理器的性能。

使用工具:

  • 一台Linux系统的电脑
  • 读卡器
  • 树莓派

tar命令用法

本文主要使用的命令是tar,一个打包用的命令。用法比较复杂,参数较多。下面一段摘抄于《鸟哥的Linux私房菜》,嫌啰嗦可以不看这一部分。

基本选项:

  • -c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
  • -t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
  • -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
  • 特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。

压缩选项:

  • -j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
  • -z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
  • -v :在压缩/解压缩的过程中,将正在处理的档名显示出来!

文件名:

  • -f filename:-f 后面要立刻接要被处理的档名!
  • 建议 -f 单独写一个选项罗!
  • -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

其他选项:

  • -p :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
  • -P :保留绝对路径,亦即允许备份数据中含有根目录存在之意
  • –exclude=FILE:在压缩的过程中,不要将 FILE 打包!

备份raspbian系统

本文使用root用户操作,谨慎操作以避免不必要的损失。下文的sdc注意换成自己的实际情况!

挂载树莓派sd卡

mkdir /mnt/raspbian
mount /dev/sdc2 /mnt/raspbian
cd /mnt

打包

tar -cjvp -f raspi_rootfs.tar.bz2 raspbian
mv raspi_rootfs.tar.bz2 /root

格式化文件系统,恢复备份

解除挂载sd卡,转换文件格式,切记谨慎操作

cd
umount /mnt/raspbian
mkfs.f2fs /dev/sdc2 -f

重新挂载sd卡,恢复打包的文件:

mount /dev/sdc2 /mnt/raspbian
cp /root/raspi_rootfs.tar.bz2 /mnt/raspbian
tar -xjpv -f raspi_rootfs.tar.bz2

编辑相关配置文件

需要编辑cmdline.txt以及fstab

mount /dev/sdc1 /mnt/raspbian/boot

vim /mnt/raspbian/boot/cmdline.txt
# 删除原来的内容,改成下面的内容
root=/dev/mmcblk0p2 rootfstype=f2fs rootwait

vim /mnt/raspbian/etc/fstab
# 把ext4换成f2fs

解除挂载,拔下sd卡插进树莓派,上电试试吧。

cd
umount /mnt/raspbian/boot /mnt/raspbian

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *