起因#最开始使用 Linux 是使用的云服务器,后来就想着自己也能够拥有一个实体的机器,能够随时在线。然后就知道了开发板这种产品,因为钱包有限,精挑细选后选择了香橙派 Zero3。

起初是在上面搭了很多的东西,但是随着时间和一些其他原因就没再怎么维护了。暑假时知道了 QQ 放开了群机器人的权限,于是想再试试用这一块板子搭建群聊机器人。

介绍#这一块板子是昨年发布的,使用的是全志的 H618 处理器;内存采用了 LPDDR4,拥有 1GB/1.5GB/2GB/4GB 几种规格可选;自带蓝牙和 Wifi 模块;拥有 26 + 13 个 pin 针脚;以太网接口使用的是 RJ45 千兆网口,供电使用 5V3A ,支持 Micro HDMI 的 HDMI 输出。

在当时来说是性价比很高的一块板子。特别是 1G 内存版 99 元,当时有很多人都在讨论。虽然生态不如国外的树莓派,但是树莓派价格被炒起来后有越来越多人转向使用这种所谓的“山寨派”,生态只会越来越好。对我而言就只是一台小型的 Linux 服务器,不需要对硬件进行什么更改,官方也提供了 Ubuntu 的系统镜像,这就已经足够。

开始之前#需要准备以下东西

香橙派本体5V3A 电源和一根 type-c 电源线(电源最好就是 5V3A,2A 也行,太高板子有几率烧掉)一个 TTL 转 USB 模块和三根杜邦线(如果你有 Mico HDMI 线和一个支持 HDMI 的屏幕也可以不用)一张闪迪的 TF 卡(官方推荐的是闪迪,所以我也一直使用的是闪迪的卡,并没有试过其他的)一个读卡器一根网线(可选)有线或者无线网络环境一台电脑这一块板子以前是使用过的,但是由于 TF 卡用到了别处,所以需要先将卡进行格式化,所有常见的文件系统都可以使用,后面烧录的时候都会统一成 EXT4 的。

烧录 TF 卡#开发板本身只有一个板载的微型 Linux ,只能用来检查板子有没有坏掉,所以需要烧录一个系统到 TF 卡上然后插到开发板上面。

首先下载并安装官方推荐的烧录工具 balenaEtcher,或者使用 SD Card Formatter。

下载并解压官方的 Ubuntu 镜像。

将 TF 卡使用读卡器连接到电脑上,启动 balenaEtcher,选择镜像文件,需要烧录的存储介质,然后点击「Flash!」 。

等待烧录,烧录结束后会进行验证,可以跳过,但我还是乖乖等一会儿吧,不急这一时。

烧录结束后直接叉掉 balenaEtcher 的窗口然后拔出读卡器即可。

开机!#将 TF 卡插入开发板后使用杜邦线连接开发板和 TTL 转 USB 模块,然后将 TTL 转 USB 模块插在电脑上。TTL 转 USB 模块一般有 5 个针脚,其中 3.3V 和 5V 的供电不需要插任何东西,其余三个针脚使用杜邦线进行链接。杜邦线的连接方式如下:

USB 转 TTL 模块的 GND 接到开发板的 GND 上USB 转 TTL 模块的 RX 接到开发板的 TX 上USB 转 TTL 模块的 TX 接到开发板的 RX 上

小TIP: 串口的TX和RX是需要交叉连接的,如果不想仔细区分TX和RX的顺序,可以把串口的TX和RX先随便接上,如果测试串口没有输出再交换下TX和RX的顺序,这样就总有一种顺序是对的。下载并安装支持串口通信的终端软件,我使用了 Tabby Terminal。安装好后打开 Tabby Terminal ,点击右上角小齿轮进入设置。配置和连接中点击「 + 新建」按钮,选择「新配置」。弹出的基本配置菜单选择「串口连接」。名称我填了「Orange_Pi_Zero3 (Serial)」,设备的话哪个亮了选哪个,我这里是COM3,波特率填115200,其他看选择更改,我直接点击保存了。

现在新建一个窗口,选择 「Orange_Pi_Zero3 (Serial)」 ,然后接通香橙派的电源。此时会开始系统初始化,3 分钟左右就会进入系统。(我这里已经是修改之后了)

进行基本配置#连接网线,或者使用nmtui进入图形化无线网络连接界面连接无线网。

连接好网络后首先进行一次apt-get update -y && apt-get upgrade -y来更新系统基础软件。然后配置ssh。

配置 SSH#使用sudo vim /etc/ssh/sshd_config来编辑 sshd (默认sudo密码为orangepi)按照自己的需求进行配置,主要修改的有:

# ssh 端口

Port 22

# 是否允许 Root 直接连接

PermitRootLogin yes

# 是否允许密钥验证登录

PubkeyAuthentication yes

# 是否允许密码验证登录

PasswordAuthentication yes

# 是否允许空密码

PermitEmptyPasswords no

因为我的香橙派是在宿舍这个小内网中使用,不会放在公网上,所以我就就只修改了端口并且允许 Root 直接连接和使用密码验证登录,在公网上建议使用密钥登录并不允许 Root 直接连接。

完成修改后使用Esc进入 vim 的命令模式,然后输入:wq来保存并退出sshd_config,然后使用systemctl restart sshd就生效了。

更改默认用户#接下来是更改默认用户为我自己常用名he_tong,有两种方式可以实现,一个是直接将原本的默认用户orangepi修改为he_tong,另一个方案是删除orangepi,新增用户he_tong。

两种方式都需要用户orangepi中没有进程在运行,所以需要使用 ssh 连接 root用户:

在串口连接中使用ifconfig查看香橙派的地址,例如我的192.168.1.181在电脑上新建终端,使用下面指令连接香橙派的 ssh:ssh -p <端口> root@<香橙派IP>

# 示例

ssh -p 5114 root@192.168.1.181

此时会让你输入密码,默认密码orangepi,成功连接 ssh 后就可以断掉串口连接了。

切换到root后顺带使用passwd root修改root的密码。然后使用top查看进程。进入top后输入u(小写)筛选用户,输入用户名orangepi就可以查看orangepi下面的所有进程了,使用上下选择,使用k(小写)就可以结束对应的进程。

成功结束orangepi下的所有进程后就可以开始进行更改或者删除了。

更改:更改用户名:usermod -l <新用户名> <旧用户名>更改用户home目录名:usermod -d /home/<新用户名> -m <新用户名>更改用户组名:groupmod -n <新用户名> <旧用户名>删除后新建:删除用户:userdel -r <旧用户名>新建用户:useradd -m <新用户名>修改命令提示符#我想将root和he_tong的命令提示符都修改掉,并且root使用默认的 bash 作为解析器,而he_tong使用 zsh。

首先修改 root 的:

先将完整地.bashrccopy 到root的家目录:cp /etc/skel/.* ~修改命令提示行部分,我想使用 KALI 的命令提示样式,修改完成保存后后source ~/.bashrc即可生效:#

# 默认的:

#

if [ "$color_prompt" = yes ]; then

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

else

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

fi

unset color_prompt force_color_prompt

#

# KALI的:

#

# The following block is surrounded by two delimiters.

# These delimiters must not be modified. Thanks.

# START KALI CONFIG VARIABLES

PROMPT_ALTERNATIVE=twoline

NEWLINE_BEFORE_PROMPT=yes

# STOP KALI CONFIG VARIABLES

if [ "$color_prompt" = yes ]; then

# override default virtualenv indicator in prompt

VIRTUAL_ENV_DISABLE_PROMPT=1

prompt_color='\[\033[;32m\]'

info_color='\[\033[1;34m\]'

prompt_symbol=@

if [ "$EUID" -eq 0 ]; then # Change prompt colors for root user

prompt_color='\[\033[;94m\]'

info_color='\[\033[1;31m\]'

# Skull emoji for root terminal

prompt_symbol=💀

fi

case "$PROMPT_ALTERNATIVE" in

twoline)

PS1=$prompt_color'┌──${debian_chroot:+($debian_chroot)──}${VIRTUAL_ENV:+(\[\033[0;1m\]$(basename $VIRTUAL_ENV)'$prompt_color')}('$info_color'\u\[\033[0;1m\]'$prompt_symbol''$info_color'\h'$prompt_color')-[\[\033[0;1m\]\w'$prompt_color']\n'$prompt_color'└─'$info_color'\$\[\033[0m\] ';;

oneline)

PS1='${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV)) }${debian_chroot:+($debian_chroot)}'$info_color'\u@\h\[\033[00m\]:'$prompt_color'\[\033[01m\]\w\[\033[00m\]\$ ';;

backtrack)

PS1='${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV)) }${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ';;

esac

unset prompt_color

unset info_color

unset prompt_symbol

else

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

fi

unset color_prompt force_color_prompt

esac

接下来修改he_tong的命令解释器为 ZSH

切换到用户he_tong运行oh-my-zsh安装脚本(二选一):# 境外:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 境内:

sh -c "$(curl -fsSL https://install.ohmyz.sh/)"

安装主题「Powerlevel10k」:# 境外:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# 境内:

git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

使用主题:vim ~/.zshrc

# 修改 ZSH_THEME 这一项

ZSH_THEME="powerlevel10k/powerlevel10k"

安装插件:# zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# zsh-history-substring-search

git clone https://github.com/zsh-users/zsh-history-substring-search.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search

# zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# zsh-you-should-use

git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-you-should-use

启用插件:vim ~/.zshrc

# 修改 plugins 这一项

plugins=(git copypath zsh-you-should-use zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search sudo)

# 使 .zshrc 生效

source ~/.zshrc

最后#以上就是我配置香橙派的主要历程了,写篇文章还是为了备份一些东西,如果对你有什么启发那更好不过了。😘

参考#OrangePi Zero3官方Wiki知乎 Dream 的专栏 - Oh My Zsh, 『 Powerlevel10k 安装 & 配置 』知乎 tongysh​​ 的专栏 - 程序员必备终端神器ohmyzsh的安装与配置过程(保姆级)本文作者: 褐瞳さん本文链接: https://www.hetong-re4per.com/posts/documenting-an-opizero3-use/版权声明: 本文文字在未特别注明下默认使用

CC BY-NC-SA 4.0 许可协议。