DietPi折腾记

时间:2022-07-23
本文章向大家介绍DietPi折腾记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

随着树莓派的逐步发展,官方的Raspbian系统在一步步完善和开发,软件和资源越来越多,往往也意味着慢慢地臃肿。 而DietPi就是在这样的背景下被开发出来,在DietPi系统中,默认只有一些必要的软件,其他的任何不需要的软件在初始化的DietPi上面都是不存在的;在干净和简洁的同时,在DietPi上安装需要的软件也比其他软件方便和简单。

解压并烧写

  • 在Windows上可以使用Win32DiskImager
  • 在Linux上可以用dd命令
dd if=/path/to/DietPi_vXX.img of=/dev/sdb
#重要提示:
#-适用于高级用户,除非您知道自己在做什么,否则请勿编辑此文件。请改为使用DietPi程序。
#-不要删除未注释的行,因为DietPi程序会按需删除项目。

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#DietPi-Automation设置,仅在DietPi首次启动时应用一次!
#------------------------------------------------- -------------------------------------------------- ---
#####语言/区域选项#####
#语言环境:例如:“ en_GB.UTF-8” /“ de_DE.UTF-8” |一键输入,仅UTF-8!
AUTO_SETUP_LOCALE = C.UTF-8

#键盘布局,例如:“ gb” /“ us” /“ de” /“ fr”
AUTO_SETUP_KEYBOARD_LAYOUT = gb

#时区,例如:“欧洲/伦敦” /“美国/纽约” |完整列表(TZ *):https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
AUTO_SETUP_TIMEZONE =欧洲/伦敦

#####联网选项#####
#启用以太网或WiFi适配器:1 =启用| 0 =禁用
#-如果同时启用了以太网和WiFi,则将优先使用WiFi并禁用以太网。
#-如果使用WiFi,请编辑Dietpi-wifi.txt以预先输入凭据。
AUTO_SETUP_NET_ETHERNET_ENABLED = 1
AUTO_SETUP_NET_WIFI_ENABLED = 0

#强制以太网速度:0 =自动速度| 10 = 10Mbit | 100 = 100Mbit等
#-这主要是针对Pine A64,它可能具有导致不稳定1Gbit链路的硬件问题。
AUTO_SETUP_NET_ETH_FORCE_SPEED = 0

#WiFi国家/地区代码:2个大写字符值(例如,GB US DE JP):https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
AUTO_SETUP_NET_WIFI_COUNTRY_CODE = GB

#如果适用,在下面输入您的静态网络详细信息。
AUTO_SETUP_NET_USESTATIC = 0
AUTO_SETUP_NET_STATIC_IP = 192.168.0.100
AUTO_SETUP_NET_STATIC_MASK = 255.255.255.0
AUTO_SETUP_NET_STATIC_GATEWAY = 192.168.0.1
AUTO_SETUP_NET_STATIC_DNS = 9.9.9.9

# 主机名
AUTO_SETUP_NET_HOSTNAME =饮食

#####其他选项#####
#生成的交换文件大小:0 =禁用| 1 =自动(2GB-RAM =大小)| 2 + =手动(MB)
AUTO_SETUP_SWAPFILE_SIZE = 1
#交换文件位置
AUTO_SETUP_SWAPFILE_LOCATION = / var /交换

#禁用支持的设备的HDMI输出(以及受支持的GPU / VPU):RPi,Odroid C1,Odroid C2
AUTO_SETUP_HEADLESS = 0

#取消屏蔽(启用)systemd-logind服务,默认情况下在DietPi上将其屏蔽
AUTO_UNMASK_LOGIND = 0

#自定义脚本(预先联网和DietPi预先安装)
#-允许您在第一次启动网络之前自动执行自定义脚本。
#-将脚本复制到/boot/Automation_Custom_PreScript.sh,它将自动执行。
#-执行的脚本日志:/var/tmp/dietpi/logs/dietpi-automation_custom_prescript.log

#自定义脚本(联网后和DietPi安装后)
#-允许您在DietPi安装结束时自动执行自定义脚本。
#-选项0 =将脚本复制到/boot/Automation_Custom_Script.sh,它将自动执行。
#-选项1 =在线托管脚本,然后使用例如AUTO_SETUP_CUSTOM_SCRIPT_EXEC = https://myweb.com/myscript.sh,它将自动下载并执行。
#-执行的脚本日志:/var/tmp/dietpi/logs/dietpi-automation_custom_script.log
AUTO_SETUP_CUSTOM_SCRIPT_EXEC = 0

#####软件选项#####
#SSH服务器选择:0 =无/自定义| -1 = Dropbear | -2 = OpenSSH
AUTO_SETUP_SSH_SERVER_INDEX = -1

#文件服务器选择:0 =无/自定义| -1 = ProFTP | -2 =桑巴舞
AUTO_SETUP_FILE_SERVER_INDEX = 0

#记录模式选择:0 =无/自定义| -1 = RAMlog 1h清除| -2 = RAMlog 1h保存清除| -3 = rsyslog + logrotate
AUTO_SETUP_LOGGING_INDEX = -1
#RAMlog最大tmpfs大小(MB)。一次使用50MB应该可以。200MB +用于繁重的Web服务器和访问日志等
AUTO_SETUP_RAMLOG_MAXSIZE = 50

#Web服务器首选项选择:0 = Apache2 | -1 = Nginx | -2 = Lighttpd
#-如果您手动选择了任何Web服务器堆栈,则将忽略此操作。
AUTO_SETUP_WEB_SERVER_INDEX = -2

#DietPi-Autostart:0 =控制台| 7 =控制台自动登录| 1 =科迪| 2 =桌面自动登录| 16 =桌面| 3 = RetroPie | 4 = OpenTyrian | 5 = DietPi-Cloudshell | 6 = Amiberry快速启动| 8 = Amiberry标准启动| 9 = DDX重生| 10 = CAVA频谱| 11 =铬亭| 14 =自定义自动启动服务
#-在首次运行更新和安装完成后,这将在第二次启动时有效。
#-必须在首次运行安装时或通过AUTO_SETUP_AUTOMATED = 1 + AUTO_SETUP_INSTALL_SOFTWARE_ID安装相关软件标题(请参见下文)。
AUTO_SETUP_AUTOSTART_TARGET_INDEX = 0
#自动登录用户名
#-此用户必须在firstrun安装之前存在,否则它将还原为root。
#-适用于所有自动启动选项,但:0、6、14和16
AUTO_SETUP_AUTOSTART_LOGIN_USER = root

#####非交互式首次运行设置#####
#首次登录时,无需任何用户输入即可运行更新,初始设置和软件安装
#-必须将其设置为“ 1”,以下设置才能生效
#-强烈建议还设置CONFIG_BOOT_WAIT_FOR_NETWORK = 2,以在引导过程中强制无限等待网络连接并防止连接超时错误。
AUTO_SETUP_AUTOMATED = 0

#要应用于系统的全局密码
#-影响用户“ root”和“ dietpi”登录密码,以及Dietpi-software安装的所有需要登录密码的软件
#-警告:不支持具有以下任何字符的密码:“ $
AUTO_SETUP_GLOBAL_PASSWORD =饮食

#软件自动安装
#-可用软件ID的列表:https://github.com/MichaIng/DietPi/wiki/DietPi-Software-list
#-根据需要添加任意数量的条目,每行一个。
#-DietPi将自动安装所有先决条件(例如用于台式机的ALSA / X11等)
#-例如以下内容(不带前导“#”)将在首次启动时自动安装LXDE桌面:
#AUTO_SETUP_INSTALL_SOFTWARE_ID = 23

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#Mis DietPi程序设置
#------------------------------------------------- -------------------------------------------------- ---
#DietPi-Survey:1 =选择加入| 0 =退出| -1 =在第一次通话时询问
#-https://dietpi.com/phpbb/viewtopic.php?p=34#p34
SURVEY_OPTED_IN = -1

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#DietPi-Config设置
#------------------------------------------------- -------------------------------------------------- ---
#CPU Governor:省电|保守|按需|性能
CONFIG_CPU_GOVERNOR =按需
#按需采样率|最小值:10000微秒(10毫秒)
CONFIG_CPU_ONDEMAND_SAMPLE_RATE = 25000
#按需采样下降系数:采样率*下降系数/ 1000 =毫秒(当采样率为25000时40 = 1000毫秒)
CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR = 40
#Throttle Up Percentage:节流率下CPU加速/减速的平均CPU使用率百分比
CONFIG_CPU_USAGE_THROTTLE_UP = 50

#CPU频率限制:禁用=禁用
#-Intel CPU使用0-100之间的百分比值(%),例如:55
#-所有其他设备必须使用特定的MHz值,例如:1600
#-对RPi没有影响,请在config.txt中设置“ arm_freq”和“ arm_freq_min”。
CONFIG_CPU_MAX_FREQ =已禁用
CONFIG_CPU_MIN_FREQ =已禁用

#禁用基于Intel的Turbo / Boost步进。不需要此标志,设置<100%MAX频率应禁用Intel CPU上的Turbo。
CONFIG_CPU_DISABLE_TURBO = 0

#系统范围的代理设置
#-不要修改,必须使用Dietpi-config>“网络选项:适配器”来应用
CONFIG_PROXY_ADDRESS = MyProxyServer.com
CONFIG_PROXY_PORT = 8080
CONFIG_PROXY_USERNAME =
CONFIG_PROXY_PASSWORD =

#延迟启动,直到建立网络:0 =禁用| 1 = 10秒最大等待时间(默认)| 2 =无限等待
CONFIG_BOOT_WAIT_FOR_NETWORK = 1

#在G_CHECK_URL假定URL失效之前的连接超时(以秒为单位)。如果您具有“不稳定”连接或DNS解析器速度较慢,则增加。
#-将其设置为“ 0”以允许无限的时间,但是不建议您避免无限地挂起后台脚本,例如每日DietPi更新检查。
#-负或非整数值将导致默认值为10秒。
CONFIG_G_CHECK_URL_TIMEOUT = 10
#在G_CHECK_URL放弃并提示错误之前,每次尝试连接均超时。
#-任何小于“ 1”的值或非整数值将导致默认尝试2次。
CONFIG_G_CHECK_URL_ATTEMPTS = 2
#常规连接和DNS测试
#-检查网络连接时IP ping。默认值:9.9.9.9(Quad9 DNS IP)
CONFIG_CHECK_CONNECTION_IP = 9.9.9.9
#-检查DNS解析器时要ping的域。默认值:dns9.quad9.net(Quad9 DNS域)
CONFIG_CHECK_DNS_DOMAIN = dns9.quad9.net

#DietPi检查更新:允许DietPi每天检查更新,并使用少于1 KiB的文件下载进行引导。
CONFIG_CHECK_DIETPI_UPDATES = 1

#网络时间同步:0 =禁用| 1 =仅引导| 2 =开机+每天| 3 =启动+每小时| 4 =守护进程+漂移
CONFIG_NTP_MODE = 2

#串行控制台:如果不需要串行控制台,则设置为0。
CONFIG_SERIAL_CONSOLE_ENABLE = 1

# 声卡
CONFIG_SOUNDCARD =无

#LCD面板插件
#-请勿修改,必须使用Dietpi-config来配置/设置选项
CONFIG_LCDPANEL =无

#IPv6
CONFIG_ENABLE_IPV6 = 1

#最好将IPv4与APT和wget一起使用,注意:如果仍然禁用了IPv6,这将无效!
CONFIG_PREFER_IPV4 = 1

#应用于/etc/apt/sources.list的APT镜像|此处的值也将在第一次运行设置期间应用
#-Raspbian:https://www.raspbian.org/RaspbianMirrors
CONFIG_APT_RASPBIAN_MIRROR = http://raspbian.raspberrypi.org/raspbian/
#-Debian:https://www.debian.org/mirror/official#list
CONFIG_APT_DEBIAN_MIRROR = https://deb.debian.org/debian/

#NTP镜像,应用于/etc/ntp.conf
#-有关完整列表,请访问:https://www.ntppool.org/zone/@
#-请从值中删除初始整数和句号(删除“ 0”。),例如:debian.pool.ntp.org
CONFIG_NTP_MIRROR = debian.pool.ntp.org

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#DietPi-软件设置
#------------------------------------------------- -------------------------------------------------- ---
#在此处输入您的EmonCMS.org编写API密钥。它会在EmonPi / Hub安装期间自动应用。
#-例如:SOFTWARE_EMONHUB_APIKEY = b4dfmk2o203mmxx93a
SOFTWARE_EMONHUB_APIKEY =

#VNC服务器
SOFTWARE_VNCSERVER_WIDTH = 1280
SOFTWARE_VNCSERVER_HEIGHT = 720
SOFTWARE_VNCSERVER_DEPTH = 16
SOFTWARE_VNCSERVER_DISPLAY_INDEX = 1
SOFTWARE_VNCSERVER_SHARE_DESKTOP = 0

#ownCloud / Nextcloud
#-管理员帐户的可选用户名,默认为“ admin”,在安装过程中应用
SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME =管理员
#-可选数据目录,默认分别是“ / mnt / dietpi_userdata / owncloud_data”和“ / mnt / dietpi_userdata / nextcloud_data”,在安装过程中会应用
#注意:此选项适用于高级用户。为了完全兼容,请将此选项保留为默认值,然后使用Dietpi-drive_manager移动DietPi用户数据位置。
SOFTWARE_OWNCLOUD_DATADIR = / mnt / dietpi_userdata / owncloud_data
SOFTWARE_NEXTCLOUD_DATADIR = / mnt / dietpi_userdata / nextcloud_data

# 无线热点
SOFTWARE_WIFI_HOTSPOT_SSID = DietPi-HotSpot
#-密钥至少需要8个字符
SOFTWARE_WIFI_HOTSPOT_KEY =饮食热点
SOFTWARE_WIFI_HOTSPOT_CHANNEL = 3

#X.org
#-DPI 96(默认)120(+ 25%)144(+ 50%)168(+ 75%)192(+ 100%)
SOFTWARE_XORG_DPI = 96

#铬
SOFTWARE_CHROMIUM_RES_X = 1280
SOFTWARE_CHROMIUM_RES_Y = 720
SOFTWARE_CHROMIUM_AUTOSTART_URL = https://dietpi.com

#家庭助理
#-可选的Python构建依赖项和模块,某些HA组件可能需要
#空格分隔的列表(不带引号!)将与Home Assistant一起自动安装(如果存在)
SOFTWARE_HOMEASSISTANT_APT_DEPS =
#最好添加版本字符串最多的Python模块,例如:firstModule == 1.2.3 secondModule == 4.5.6
SOFTWARE_HOMEASSISTANT_PIP_DEPS =

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#开发设置
#------------------------------------------------- -------------------------------------------------- ---
DEV_GITBRANCH =主
DEV_GITOWNER = MichaIng

#------------------------------------------------- -------------------------------------------------- ---
#D E T-P I
#设置,由Dietpi-update自动添加
#------------------------------------------------- -------------------------------------------------- ---

把里面的配置文件,我翻译了一下

将 DietPi 系统固件烧写到 SD 卡后,SD 卡会被划分为2个分区:

boot 分区和 rootfs 分区。

其中 boot 分区中与 DietPi 相关的核心文件为 dietpi 目录和系统配置文件 dietpi.txt。dietpi 目录中包含了所有 Dietpi 系统的定制脚本,该目录在第一次运行 DietPi 时会被拷贝到 rootfs 分区并用于一系列的初始化操作,控制初始化操作的配置文件正是 dietpi.txt,建议仔细阅读 dietpi.txt 以了解 DietPi 系统提供了哪些可配置的功能,下面会描述部分比较重要的配置项,里面所有的配置项都需要用户自行去测试是否正常工作。

# 是否使能以太网和 WiFi,当2者同时被使能时,会优先使用 WiFi。
AUTO_SETUP_NET_ETHERNET_ENABLED=1
AUTO_SETUP_NET_WIFI_ENABLED=0
 
# 设置WiFi连接的热点名称和密码
AUTO_SETUP_NET_WIFI_SSID=MySuperDooperWiFi
AUTO_SETUP_NET_WIFI_KEY=0123456789
# available | WPA-PSK / WPA-EAP / NONE | WEP=No longer supported
AUTO_SETUP_NET_WIFI_KEYMGR=WPA-PSK
 
# 设置hostname
AUTO_SETUP_NET_HOSTNAME=DietPi
 
# 设置以太网的速率
# 0=automatic speed | 10 = 10mbit, 100 = 100mbit etc
AUTO_SETUP_NET_ETH_FORCE_SPEED=0
# 设置WiFi连接的热点名称和密码
AUTO_SETUP_NET_WIFI_SSID=pixel
AUTO_SETUP_NET_WIFI_KEY=17221317
# available | WPA-PSK / WPA-EAP / NONE | WEP=No longer supported
AUTO_SETUP_NET_WIFI_KEYMGR=WPA-PSK

设置成这样

就先这样,拔卡开机


第一次启动DietPi

DietPi 的初始化配置比较繁琐,但只要完成一次这些初始化配置后,Dietpi 还是值得资深爱好者去使用的。另外,DietPi系统可能会错误识别H3/H5的具体板子型号,这并不会影响系统正常运行,只要CPU型号的识别是正确的即可。 首先,必须连接好网线,DietPi 的初始化操作要求必须能连接上网络。 第一次运行 DietPi 系统时,DietPi 会扩展 rootfs 分区,扩展完成后会重启系统。重启系统后,会根据 dietpi.txt 里的配置进行进行一系列的初始化操作,如果在 dietpi.txt 里设置了 CONFIG_SERIAL_CONSOLE_ENABLE=1,那么这一次启动系统会调用 DietPi-Set_Hardware 脚本使能 serial-getty 服务,但是要等待下一次启动系统才能使用调试串口登录。如果你不想再次重启系统,可以选择通过 SSH 或者在 HDMI 上进行登录,登录的账号和密码分别是 root 和 dietpi。登录系统后会继续进行更多的初始化操作,我们根据提示一步步执行即可。以下截图是 DietPi-V6.7 在 NanoPi-K1-Plus 的实测初始化步骤, 不同板子不同版本的 DietPi 的初始化版本可能会有差异