From f88b0825c565629c20e016de491579671faf8090 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Mon, 20 Dec 2021 11:35:04 +0800 Subject: [PATCH] Provide fake /proc/stat if it's not readable to make unpatched htop work --- modules/environment/login/login.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/environment/login/login.nix b/modules/environment/login/login.nix index 8861d4a..bf8321b 100644 --- a/modules/environment/login/login.nix +++ b/modules/environment/login/login.nix @@ -1,9 +1,12 @@ # Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. -{ config, writeScript }: +{ config, writeScript, writeText }: let inherit (config.build) installationDir extraProotOptions; + fakeProcStat = writeText "fakeProcStat" '' + btime 0 + ''; in writeScript "login" '' @@ -28,6 +31,12 @@ writeScript "login" '' fi fi + if [ -r /proc/stat ]; then + BIND_PROC_STAT="" + else + BIND_PROC_STAT="-b ${installationDir}${fakeProcStat}:/proc/stat" + fi + exec ${installationDir}/bin/proot-static \ -b ${installationDir}/nix:/nix \ -b ${installationDir}/bin:/bin \ @@ -35,6 +44,7 @@ writeScript "login" '' -b ${installationDir}/tmp:/tmp \ -b ${installationDir}/usr:/usr \ -b ${installationDir}/dev/shm:/dev/shm \ + $BIND_PROC_STAT \ -b /:/android \ --link2symlink \ --sysvipc \