You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mabbs/_posts/2020-12-07-picore.md

37 lines
5.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
layout: post
title: 在树莓派上体验piCore
tags: [树莓派, piCore]
---
麻雀虽小,五脏俱全<!--more-->
# 起因
最近想让协会的打印机共享到网络上,但是又没有什么好的方法,如果用电脑的话体积有点太大了,所以我就考虑用树莓派来共享。
我手头有一个吃灰多年的树莓派有一个问题是我应该在上面装什么操作系统比较好一般来说在树莓派上肯定是装官方的Raspberry Pi OS会更好一些但是官方的系统很大下载也有点慢所以就想找个小一点的系统来处理。
最终我找到了一个叫做Tiny Core Linux的发行版它有一个专门为树莓派开发的一个叫做piCore的发行版下载下来只需要23MiB可以说是非常不错了毕竟就算是Raspberry Pi OS lite也要400多MiB。
另外,点击[这里](http://www.tinycorelinux.net/12.x/aarch64/releases/RPi/piCore64-12.0.zip)就可以下载安装包了。
# 使用方法
总体来说piCore还是挺不错的文档写的也还可以该有的功能基本上都有了。安装很简单和树莓派一样直接把镜像写入MicroSD卡就可以直接使用了。不过有一个问题是它的系统不是直接挂载分区使用的它的根目录是在内存里面的所以如果直接断电所作的操作没有办法保存。
不过他们提供了一种方案来解决这个问题,在对根目录下的文件进行操作后,可以执行`filetool.sh -b`把修改写到一个特别的文件里面,之后每一次开机系统都会读那个特别的文件来保持重启后数据不会丢失。
第一次启动的时候系统会自动生成SSH的Key所以第一次启动就要执行上面的命令。这些事情在README都有写。另外就是使用完整分区的问题根据这个发行版的设计所有的操作会写到第二个分区里面但是默认情况下第二个分区只有16MiB所以要扩大这个分区的大小。
顺便一说这个系统的默认用户名是tc密码是piCore。
扩大的方法在README里面也有写但是全英文而且写的也不太清晰让我很难受而且在国内貌似几乎没有人使用piCore导致我第一次搞这个东西的时候很痛苦所以我还是在这里记录一下吧。
## 扩大分区
首先第一步执行`sudo fdisk -u /dev/mmcblk0`然后输入p查看分区接下来记住第二个分区的StartLBA。记好以后输入d删除第二分区并且输入n重新创建分区。其中出现First Sector的时候输入刚刚记住的数字其他的就默认就行了。最后输入w保存。
很神奇的是用fdisk操作分区的时候并不会让被操作分区的数据丢失貌似它只会修改分区表也许这才是fdisk真正做的事情吧……
在此之后需要重启一次,然后执行`resize2fs /dev/mmcblk0p2`让文件系统获得真正的大小就OK了。
## 安装软件
这个系统安装软件也很神奇,由于它的系统在内存中,安装软件肯定也不能直接安装到指定的位置。他们设计了一种很神奇的安装方法,就是把程序写到一个镜像里面,然后使用的时候挂载就可以用了。直接操作可能会比较麻烦,所以他们设计了一个脚本让任何人都可以随便安装软件。
像debian系列的发行版都使用的是`apt`来管理软件的piCore也整了一个类似的东西叫做`tce-ab`,用起来比`apt`还要方便,它是一个可交互的脚本,想安装软件可以直接在里面搜索。方便确实很方便,而且清华源里也提供了这个系统的镜像源,还是挺不错的。
不过卸载的时候就有点麻烦了,它貌似没有卸载的命令,需要自己手动去`/mnt/mmcblk0p2/tce/optional/`这个路径把软件删掉。不过其实还好,文件都在一起,倒是也没有特别的麻烦。
## 配置Wifi
因为piCore默认没有Wifi的驱动我还以为它不能用Wifi不过还好这个安装软件的功能可以直接安装Wifi的管理软件和驱动用起来挺方便的直接搜索wifi就可以安装不过我在里面又找到了一个叫做`firmware-rpi-wifi`的包,虽然不知道需不需要安装,但是看起来好像需要的样子就安上了。
还有一个问题就是即使安好后也不能自动连接Wifi这个问题处理起来也很简单第一次连Wifi是用的一个叫做`wifi.sh`的脚本,连好以后就可以在`/opt/bootlocal.sh`文件里写一句`wifi.sh -a`这样它以后每次启动都会自动连接Wifi了。不过还有一点需要注意在做完这些配置之后都需要执行`filetool.sh -b`来保证修改能在下一次重启的时候被应用。
# 与Raspberry Pi OS lite的对比
这样一波操作下来感觉基本上Raspberry Pi OS lite和piCore在功能上也没啥区别了吧piCore不仅更快还更小从安装包来看piCore要比Raspberry Pi OS lite小20倍
这样看来还是piCore更好啊为什么国内连相关的文章都搜不到呢也许是因为piCore需要自己探索吧大家一般都用的是树莓派官方的系统而且因为Raspberry Pi OS lite用的是apt管理更方便所以就没人用piCore了吧……
不过树莓派不就是用来折腾的嘛所以我还是更支持piCore😀