mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-07-12 18:19:42 -07:00
e8fd3a6c43
5 ganhos mensuráveis identificados rodando o sistema vivo: 1. /etc/sysctl.d → /storage/.config/sysctl.d, e systemd-sysctl roda Before=sysinit.target — /storage só monta em local-fs.target. O symlink ficava dangling quando systemd-sysctl lia, então archr.conf (BBR/fq_codel, vm.dirty_writeback_centisecs=1500, ip_forward, etc.) nunca era aplicado no boot. Verificado: rodando sysctl -p manual depois do boot, dirty_writeback_centisecs vai de 500 → 1500. Replicar os defaults da distro em /usr/lib/sysctl.d (rootfs, sempre disponível) garante aplicação antes de /storage subir; o /etc/ sysctl.d permanece como ponto de override do usuário. 2. enable.turbo-mode=1 em system.cfg padrão. A baseline validada do R36S inclui CPU turbo @ 1512 MHz via cpufreq/boost (vdd_arm regulator-max=1.45V), mas o default era 0 — clamp em 1416 MHz sem opt-in. O nó scaling_max_freq sobe para 1512000 assim que boost=1, comprovado live no device. Quem precisar do clamp térmico de 1416 desliga via Settings > Advanced. 3. rpcbind.service rodando idle custava ~11 MB de RAM em um device com 1 GB total, sem nada usando NFS. O upstream já fornece rpcbind.socket (Listen :111 + /run/rpcbind.sock) e systemd faz activation on-demand — mount.nfs dispara o daemon quando o user realmente monta um share. Trocado enable_service rpcbind.service por rpcbind.socket. 4. archr-touchscreen-keyboard ficava acordando a cada 5s mesmo em devices sem touchscreen (R36S, R33S, etc), e com Restart=always um exit do helper provocava restart infinito. Adicionado bail-out precoce quando DEVICE_HAS_TOUCHSCREEN != true, e Restart trocado para on-failure para honrar o exit limpo. Em devices sem touchscreen o serviço passa a ficar inativo após o primeiro boot. 5. setrootpass cryptpw sha512 + smbpasswd + syncthing generate custavam ~6s a cada boot — chamado pelo autostart 007-rootpw com a senha já configurada. Adicionado short-circuit que compara o hash sha256 da senha contra o cache em /storage/.cache/.archr-rootpass. sha256: se nada mudou, sai em 20ms. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
30 lines
1.3 KiB
Makefile
30 lines
1.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
PKG_NAME="rpcbind"
|
|
PKG_VERSION="1.2.7"
|
|
PKG_SHA256="f6edf8cdf562aedd5d53b8bf93962d61623292bfc4d47eedd3f427d84d06f37e"
|
|
PKG_LICENSE="OSS"
|
|
PKG_SITE="http://rpcbind.sourceforge.net/"
|
|
PKG_URL="${SOURCEFORGE_SRC}/rpcbind/rpcbind/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
|
PKG_DEPENDS_TARGET="toolchain libtirpc systemd"
|
|
PKG_LONGDESC="The rpcbind utility is a server that converts RPC program numbers into universal addresses."
|
|
PKG_BUILD_FLAGS="-cfg-libs"
|
|
|
|
PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_rpcsvc_mount_h=no \
|
|
--disable-warmstarts \
|
|
--disable-libwrap \
|
|
--enable-rmtcalls \
|
|
--with-statedir=/tmp \
|
|
--with-rpcuser=root"
|
|
|
|
post_install() {
|
|
# rpcbind.service rodando idle custa ~11 MB de RAM em um device com
|
|
# 1 GB. O upstream já fornece rpcbind.socket com Listen :111 e
|
|
# /run/rpcbind.sock; habilitar só o socket entrega o mesmo
|
|
# comportamento funcional (mount.nfs ativa o daemon sob demanda)
|
|
# sem o overhead permanente quando o handheld não está usando NFS.
|
|
enable_service rpcbind.socket
|
|
}
|