Provide fake /proc/stat if it's not readable

to make unpatched htop work
This commit is contained in:
Zhong Jianxin 2021-12-20 11:35:04 +08:00 committed by Alexander Sosedkin
parent 98eca42af0
commit f88b0825c5

View file

@ -1,9 +1,12 @@
# Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. # Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE.
{ config, writeScript }: { config, writeScript, writeText }:
let let
inherit (config.build) installationDir extraProotOptions; inherit (config.build) installationDir extraProotOptions;
fakeProcStat = writeText "fakeProcStat" ''
btime 0
'';
in in
writeScript "login" '' writeScript "login" ''
@ -28,6 +31,12 @@ writeScript "login" ''
fi fi
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 \ exec ${installationDir}/bin/proot-static \
-b ${installationDir}/nix:/nix \ -b ${installationDir}/nix:/nix \
-b ${installationDir}/bin:/bin \ -b ${installationDir}/bin:/bin \
@ -35,6 +44,7 @@ writeScript "login" ''
-b ${installationDir}/tmp:/tmp \ -b ${installationDir}/tmp:/tmp \
-b ${installationDir}/usr:/usr \ -b ${installationDir}/usr:/usr \
-b ${installationDir}/dev/shm:/dev/shm \ -b ${installationDir}/dev/shm:/dev/shm \
$BIND_PROC_STAT \
-b /:/android \ -b /:/android \
--link2symlink \ --link2symlink \
--sysvipc \ --sysvipc \