Linux与系统运维

Armbian/build脚本分析

1. 脚本目录检测和代码健壮性保证 1.1 程序报错退出脚本 #set -o pipefail # trace ERR through pipes - will be enabled "soon" #set -o nounset ## set -u : exit the script if you try to use an uninitialised variable - one day will be enabled set -e set -o errtrace # trace ERR through - enabled set -o errexit ## set -e : exit the script if any statement returns a non-true return value - enabled # Important, go read http://mywiki.wooledge.org/BashFAQ/105 NOW! 1.2. ./compile.sh脚本目录检测 SRC="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" cd "${SRC}" || exit # check for whitespace in ${SRC} and exit for safety reasons grep -q "[[:space:]]" <<< "${SRC}" && { echo "\"${SRC}\" contains whitespace. Not supported. Aborting." >&2 exit 1 } 2. single.sh 文件加载(位于./lib) 2.1 检查bash版本是否高于5.x # The Armbian functions require Bash 5.x. if [[ "${BASH_VERSINFO:-0}" -lt 5 ]]; then echo "Armbian build scripts require Bash 5.x. Go get it..." >&2 if [[ "${OSTYPE}" == "darwin"* ]]; then echo "Armbian build scripts require brew to be installed and working on macOS. (old Bash version)" >&2 echo "Please install brew, *restart your terminal*." >&2 echo "Then run 'brew install bash coreutils git', *restart your terminal* and then try again." >&2 exit 51 fi exit 50 fi 2.2 macOS系统检查 是否以root运行脚本 Homebrew 包管理器已安装并正常工作 通过 Homebrew 的 coreutils 安装的 realpath 命令是否可用 更新 PATH 环境变量以包含由 Homebrew 安装的 GNU coreutils 二进制文件。 确保 ${SRC} 变量(应指向构建脚本的源目录)位于用户的主目录中。这对于 macOS 上的 Docker 兼容性很重要。 ...

嵌入式与硬件

玩客云刷Openwrt/Armbian

玩客云配置 SOC为晶晨S805,ARM 4核1.5GHz,1G(DDR3)+8G(eMMC),两个USB 2.0,HDMI接口,一个千兆网口(RJ45 ),一个SD卡槽。 刷机工具下载 百度网盘 请输入提取码 (baidu.com) 更新 2024.04.15 OPENWRT高内核直刷 玩客云ws1608/赚钱宝三代和赚钱宝2代WS1508-PCDN、玩客云、京东云等各种云设备-恩山无线论坛 (right.com.cn) GitHub - hzyitc/armbian-onecloud: Armbian for onecloud. 玩客云用armbian ...

嵌入式与硬件

NanoPC-T4开发记录

前言 咸鱼200块淘了块RK3399的T4开发板(裸板),4GRAM,16GBemmc,比起树莓派,价格算很香的了 制作外壳 因为没有外壳,官方的外壳售价一言难尽,并且没有预留GPIO的空间,尝试自己画亚克力外壳。先是用了3DMAX,可惜商家需要dwg格式(即需要autoCAD),简单学习就能上手,需要学习rec,dli等命令的使用。同时经过测量需要M3的六角铜柱,以及M3螺丝,螺母,具体规格可以参考Raspberry-Pi/NanoPC-T4 at master · laningya/Raspberry-Pi (github.com) ...