Systemd-swap: рдХреБрдЫ рдПрдЖрд░рдПрдо-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдореЛрдВ рдкрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ SystemCallFilters рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЬреВрди 2020  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Nefelim4ag/systemd-swap

рдЕрднрд┐рд╡рд╛рджрди!

рдореИрдВ ArchLinuxARM рдХреЗ рд╕рд╛рде рдХрдИ рд╕рд┐рдВрдЧрд▓ рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░ (рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ Odroid XU4 - рджреЛрдиреЛрдВ ARMv7 рдЖрдзрд╛рд░рд┐рдд) рдкрд░ рд╕рд┐рд╕реНрдЯрдордб -рд╕реНрд╡реИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рд╣реИрдЬреНрдб рдФрд░ -рд╕реНрд╡реИрдк рдореЗрдВ рд╣рд╛рд▓ рдХреЗ рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡рд┐рдлрд▓рддрд╛рдПрдВ рдФрд░ рдХреЛрд░рдбрдВрдк рд╣реБрдПред рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдкреИрдХреЗрдЬ рдЕрджреНрдпрддрдиреЛрдВ рдореЗрдВ x64 ArchLinux рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

systemd-swap 4.2.x рд╡рд┐рднрд┐рдиреНрди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрдВрдк рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╢реЗрд▓-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрддрдГ рдХреЛрдИ zswap/zram рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдвреЗрд░реЛрдВ рдбрдВрдк :

TIME                            PID   UID   GID SIG COREFILE  EXE
Tue 2020-06-27 12:40:15 MDT     269     0     0  31 present   /usr/bin/sort
Tue 2020-06-27 12:40:18 MDT     378     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:21 MDT     512     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:23 MDT     553     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:25 MDT     591     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:28 MDT     617     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:30 MDT     643     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:32 MDT     671     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:34 MDT     708     0     0  31 present   /usr/bin/mkswap
Tue 2020-06-27 12:40:36 MDT     739     0     0  31 present   /usr/bin/blkid

рдпрд╣ рдзрд╛рдЧрд╛ рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рд░реНрдо.рдУрдЖрд░рдЬреА рдордВрдЪреЛрдВ рдкрд░ рд╣реЗрдЬреНрдб рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд┐рд▓рд╛:

https://archlinuxarm.org/forum/viewtopic.php?f=15&t=14549

рд╣реЗрдЬреНрдб рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ systemd рд╕реЗрд╡рд╛ рдореЗрдВ рдХрдИ SystemCallFilters рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдЬреАрдердм рдореБрджреНрджрд╛ рд╣реИ:

https://github.com/jirka-h/haveged/issues/41

рд╣реИрдЬреНрдб рдиреЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ SystemCallFilter рдФрд░ SystemCallErrorNumber рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рдорд╛рдореВрд▓реА рд╕рдорд╛рдпреЛрдЬрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИред рд╕рднреА рдЕрдм ARMv7 (рдФрд░ x64 рднреА) рдмреЛрд░реНрдбреЛрдВ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ SystemCallErrorNumber=EPERM рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП systemd-swap рдХреЗ рд▓рд┐рдП рдПрдХ systemd рд╕реЗрд╡рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдЬреЛрдбрд╝рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ред рд╣реЗрдЬреНрдб рдХреЗ рд▓рд┐рдП рдЬреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕рдХреЗ рд╕рдорд╛рди... systemd-swap.service рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдЫреВрддрд╛ рд░рд╣ рдЧрдпрд╛ред

[Service]
SystemCallErrorNumber=EPERM

рдЙрд╕ 1 рд▓рд╛рдЗрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ - рд╕рд┐рд╕реНрдЯрдордб-рд╕реНрд╡реИрдк 4.2.3 рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ coredumps!

рдореИрдВ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк SystemCallErrorNumber=EPERM рдХреЛ рд╕реЗрд╡рд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЧреИрд░-x64 рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ ... рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рд╣реИред

рдзрдиреНрдпрд╡рд╛рджред

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЖрдкрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ), рдпрд╣ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ systemd-swap SystemCallFilter рд╢реНрд╡реЗрддрд╕реВрдЪреА рдкрд░ рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред

рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдХреМрди рд╕реА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ: рд╕реЛрдЪ:
рдХреНрдпрд╛ рддреБрдо:

  1. рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ SystemCallArchitectures=native рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ?
  2. рд▓рд╛рдЗрди рей рдкрд░ systemd-swap рдореЗрдВ рдПрдХ x рддрд╛рдХрд┐ рд╡рд╣ set -xuo pipefail рдкрдврд╝реЗ рдФрд░ рдлрд┐рд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ? (рдФрд░ рдкреВрд░реНрдг рд▓реЙрдЧ рджреЗрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдкреЗрд╕реНрдЯрдмрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ))ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ x86 рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрд╡рдпрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

рд╣рд╛рдБ, рдпрд╣ рдореЗрд░рд╛ рднреА рдордд рд╣реИред SystemCallErrorNumber=EPERM рдХрд╛ рдЬреЛрдбрд╝ рдХреЗрд╡рд▓ рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреБрд░рдВрдд рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╢рд╛рдпрдж рдЖрджрд░реНрд╢ рдирд╣реАрдВ - рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЗрди 3 рдХреЛ set -xuo pipefail рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ Odroid-XU4 рдкрд░ рддреАрди рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП: https://pastebin.com/UZk74aKx

рдЯреЗрд╕реНрдЯ 1 - рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ SystemCallarchitecture=native. рд╕реЙрд░реНрдЯ рдФрд░ mkswap . рд╕реЗ рд╕рдорд╛рди рд╡рд┐рдлрд▓рддрд╛/рдХреЛрд░рдбрдореНрдкреНрд╕
рдЯреЗрд╕реНрдЯ реи - рд╕рд┐рд╕реНрдЯрдордб-рд╕реНрд╡реИрдк рек.реи.рей рд╕реЗ рдПрдХ рдЧреИрд░-рд╕рдВрд╢реЛрдзрд┐рдд systemd-swap.service рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ред рд╡рд╣реА рд╡рд┐рдлрд▓рддрд╛/рдХреЛрд░рдбрдВрдкред
рдЯреЗрд╕реНрдЯ 3 - SystemCallErrorNumber=EPERM рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛... рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 3 рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╣реА рдкрд╛рд╕реНрдЯрдмрд┐рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкрд░реАрдХреНрд╖рдг" рдкрд░ рдЦреЛрдЬреЗрдВред

рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдХреНрдпрд╛ рдЖрдк SystemCallFilter=@system-service <strong i="5">@swap</strong> <strong i="6">@module</strong> uname рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИ?

рдФрд░ рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рджреБрд░реНрдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ mkswap рдХрд╛ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛ рдХреЗ рдареАрдХ рдмрд╛рдж рдЬрд░реНрдирд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рдЗрд╕реЗ gdb -c <dumped core> рдФрд░ thread apply all bt full рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреАрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрдВрдк рдХрд┐рдП рдЧрдП рдХреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдПрдХ рдХреНрд╖рдгрд┐рдХ рдЗрдХрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреНрдпреВрдирддрдо рдкреБрдирд░реБрддреНрдкрд╛рджрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

dd if=/dev/zero of=test count=32 bs=1M
sudo systemd-run -t -d -p Type=exec -p "SystemCallFilter=@system-service <strong i="13">@swap</strong> @module" -p SystemCallArchitectures=native mkswap test`

рдореИрдВ AArch64/ARM64, ARMv8 рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, uname рдХреЛ SystemCallFilter рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЕрднреА рднреА рдбрдВрдк рд╣реЛрддрд╛ рд╣реИред :( рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреЛрдИ рдкреНрд░рддреАрдХ рдирд╣реАрдВред

FWIW, рдореИрдВ zswap_enabled=0 рдФрд░ zram_enabled=1 рдЪрд▓рд╛рддрд╛ рд╣реВрдВ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд╡реИрдк рд╡рд┐рднрд╛рдЬрди рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ zram рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реНрд╡реИрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ Odroid-N2 рднреА рд╣реИ рдЬреЛ archlinuxarm рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рдЬреНрдпрд╛рджрд╛рддрд░ Odroid-XU4 рдФрд░ Pi3 рдХреЗ рд╕рдорд╛рди рд╣реИред рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ N2 рдкрд░ рд╕рд┐рд╕реНрдЯрдордб-рд╕реНрд╡реИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдмрд╕ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВрдиреЗ N2 рдкрд░ "рд╕реНрдЯреЙрдХ" рд╕реЗрд╡рд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдордб-рд╕реНрд╡реИрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ zswap рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ рдФрд░ zram рдХреЛ XU4 рдХреА рддрд░рд╣ рд╣реА рд╕рдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ред N2 рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ - рдХреЛрдИ рдХреЛрд░рдбрдВрдк рдирд╣реАрдВред N2 ARMv8/aarch64 рд╣реИред XU4/Pi3 рджреЛрдиреЛрдВ ARMv7 рд╣реИрдВред рдЖрдкрдХреА рддрд░рд╣, рдореИрдВ рднреА ARMv8/aarch64 рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдореИрдВ рдкреБрд░рд╛рдиреЗ Pi3 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдЦреЛрдж рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рдкрд░ рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рд░реНрдо рдХреЗ рдмрдЬрд╛рдп рд░рд╛рд╕реНрдкрд┐рдпрди (рдпрд╛ ???) рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ ARMv7 рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджрд╛ рд╣реЛ?

рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдореЗрдВ рдЕрднреА рднреА рдЦреБрд╢реА рд╣реИ ... рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ рддреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭреЗрдВред

Jul 01 20:20:59 xu4 systemd-swap[256]: /usr/bin/systemd-swap: line 52: 
   335 Bad system call         (core dumped) mkswap "${zram_dev}" &> /dev/null
Jul 01 20:20:59 xu4 systemd-swap[256]: + systemctl daemon-reload
Jul 01 20:21:00 xu4 systemd-coredump[338]: Process 335 (mkswap) of user 0 dumped core.

                                           Stack trace of thread 335:
                                           #0  0x00000000b6e04e58 posix_fadvise64 (libc.so.6 + 0xd2e58)


           PID: 335 (mkswap)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 31 (SYS)
     Timestamp: Wed 2020-07-01 20:20:59 MDT (18min ago)
  Command Line: mkswap /dev/zram0
    Executable: /usr/bin/mkswap
 Control Group: /system.slice/systemd-swap.service
          Unit: systemd-swap.service
         Slice: system.slice
       Boot ID: 734e377074d04e70a5da783259d3fb10
    Machine ID: b16181464c2c4ea7adb0a759515a8a9a
      Hostname: xu4
       Storage: /var/lib/systemd/coredump/core.mkswap.0.734e3770[...]00.lz4
       Message: Process 335 (mkswap) of user 0 dumped core.

                Stack trace of thread 335:
                #0  0x00000000b6e04e58 posix_fadvise64 (libc.so.6 + 0xd2e58)



Thread 1 (LWP 335):
#0  0xb6e04e58 in posix_fadvise64 () from /usr/lib/libc.so.6
No symbol table info available.
#1  0xb6e8fe68 in blkid_probe_set_device () from /usr/lib/libblkid.so.1
No symbol table info available.
#2  0x00000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
quit

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ ARMv7 рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджрд╛ рд╣реЛ?

рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@system-service рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА fadvise64 рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдореВрд╣реЛрдВ рдХреЛ рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ (рджреЗрдЦреЗрдВ systemd-analyze syscall-filter @system-service ) , рддреЛ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреЛрдИ рдЕрдВрддрд░ рдЗрд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЙрд╕ рд╕рдЯреАрдХ рд╕рд┐рд╕реНрдХрд▓ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рдпрд╣ рд╕реАрдзреЗ systemd-swap рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдордб рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдХрд╛рд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SystemCallErrorNumber=EPERM рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕реЗ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕реЗрд╡рд╛ рдЗрдХрд╛рдИ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдкреНрд░рдлреБрд▓реНрд▓рд┐рдд рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдбрд┐рдмрдЧ рдлрд╝реНрд▓реИрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рдХреЛрд░рдбрдореНрдк рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ mkswap рдореЗрдВ рдХреМрди рд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдореИрдВ рдЕрднреА рднреА SystemCallErrorNumber=EPERM - рд╣рд╛рд╣рд╛рд╣рд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдореВрд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИред рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА! рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд╕реНрдЯрдордб рд╕реЗрд╡рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдмрдЪрд╛рддрд╛ рд╣реИред рдореИрдВ

рдореИрдВ рдХреБрдЫ рд╣рдж рддрдХ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдПрдЖрд░рдПрдорд╡реА7 рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЗрд╕рдХреА рдХреЛрд░рдбрдВрдкрд┐рдВрдЧ рдХреНрдпреЛрдВ рд╣реИред рдпрд╣ рди рдХреЗрд╡рд▓ mkswap , рдмрд▓реНрдХрд┐ рдпрд╣ sort рдФрд░ blkid ред рдореИрдВ рдкреБрд░рд╛рдиреЗ ARMv7 R-Pis рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ ArchlinuxARM рдФрд░ рд░рд╛рд╕реНрдкрд┐рдпрди/рдбреЗрдмрд┐рдпрди рдХреА рддрд╛рдЬрд╝рд╛/рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рдкрдирд╛рдПрдБ рдХрд░реВрдБрдЧрд╛ред рджреЛрдиреЛрдВ systemd-swap рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рджреЛрдиреЛрдВ OSes рдореЗрдВ рд╣реЛрддреА рд╣реИред рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдФрд░ рдЕрдзрд┐рдХ рдорд╛рдВрд╕рд▓ рдбрдВрдк рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрдмрдХрд┐ рдбрд┐рдмрдЧ рдкреНрд░рддреАрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рдЕрднреА рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдХреНрд░реИрд╢ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

mkswap рдХреЙрд▓ blkid_probe_set_device рдЬреЛ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд░реАрдб-рдлрд╝реЙрд░рд╡рд░реНрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП posix_fadvise (syscall рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдкрддрд▓рд╛ рдЖрд╡рд░рдг) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд╕рднреА рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреНрд░реИрд╢рд┐рдВрдЧ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ fadvise64 syscall рдХрд╛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрддреНрддрд░ рдбрд┐рдмрдЧ рдкреНрд░рддреАрдХреЛрдВ/рдПрдХ рддрд╛рдЬрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рдмрд┐рдирд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдореИрдВ mkswap (рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╛рди рд╣реИ?), sort рдФрд░ blkid рдХреБрдЫ рдЕрдиреНрдп рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  • рдХреНрдпрд╛ рд╡реЗ рд╕рднреА рдЖрдордВрддреНрд░рдгреЛрдВ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ?
  • рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХреНрд╖рдгрд┐рдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ?
  • рдХреНрдпрд╛ fadvise64 рдХреЛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ?

рд╣рд╛рдВ, mkswap , sort , рдФрд░ blkid рд╣рд░ рдмрд╛рд░ рдХреНрд░реИрд╢ - рд╣рдореЗрд╢рд╛ posix_fadvise64 рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЗ рд╕рд╛рдеред рдРрд╕рд╛ рд╣реА mkswap рдХреНрд╖рдгрд┐рдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ fadvise64 (рдФрд░ fadvise64_64) рджреЛрдиреЛрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ @system-service systemd syscall рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрдЪреА рдореЗрдВ рд╣реИрдВред рдЗрд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред :(

рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рдЬрд╛ рд░рд╛рд╕реНрдкрд┐рдпрди рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рднреА рдХрд┐рдпрд╛ ... рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рдПрдЖрд░рдПрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рдмрд╛рд╣рд░ strace mkswap temp рдЪрд▓рд╛рдирд╛ рдФрд░ рдХреЛрдИ рднреА syscall рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ:

fadvise64_64(3, 0, 0, POSIX_FADV_RANDOM) = 0

strace mkswap temp рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ systemd (рдЖрдкрдХреА рдХреНрд╖рдгрд┐рдХ рдЗрдХрд╛рдИ рд╕рдВрд╢реЛрдзрд┐рдд - рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░!) @system-service <strong i="19">@swap</strong> <strong i="20">@module</strong> @debug рд╕рднреА рд╢реНрд╡реЗрддрд╕реВрдЪреА рд╡рд╛рд▓реЗ рд╢реЛ рд╕рд┐рд╕реНрдЯрдордб рдХреЛ fadvise64_64 рдХреЙрд▓ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ:

fadvise64_64(3, 0, 0, POSIX_FADV_RANDOM) = ?
+++ killed by SIGSYS (core dumped) +++

рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди/рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрдВрддрд┐рдо рдЫреЛрд░ рдкрд░ рд╣реВрдВред рдореИрдВ

рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ ARMv7 рдкрд░ рдХреБрдЫ systemd/seccomp рдЕрдЬреАрдмрддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯрдордб рдХреЛ рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд syscall рдХреЗ рд▓рд┐рдП рдПрдХ seccomp рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @ рд╕реЗ рдХреБрдЫрдЕрдкреНрд░рдЪрд▓рд┐рдд рдпрд╛ @SystemCallFilter=~ptrace рдЬреИрд╕реЗ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреАрдмрдЧ рдХрд░реЗрдВ), рдХреНрдпрд╛ рдпрд╣ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдВрдмреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдордб рдореЗрдВрдЯреЗрдирд░/рджреЗрд╡реЛрдВ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдЬрдм рддрдХ SystemCallErrorNumber=EPERM рдХреЛ рднреА рд╕реЗрд╡рд╛ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ ARMv7 рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм systemd/seccomp рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдЕрдкрдиреА рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрди SystemCall* рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде systemd-swap.service рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛:

SystemCallArchitectures=native
SystemCallFilter=@system-service <strong i="10">@swap</strong> <strong i="11">@module</strong>
SystemCallFilter=~finit_module
SystemCallErrorNumber=EPERM

рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ finit_module рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП zram рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

Odroid-N2 (aarch64) рдкрд░ ArchlinuxARM w/systemd 245.6 рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗ - zram рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред SystemCallErrorNumber=EPERM рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ N2/aarch64 рдФрд░ seccomp рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реБрдЖ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

Jul 02 19:08:26 n2 systemd[1]: Starting Manage swap spaces on zram, files and partitions....
Jul 02 19:08:27 n2 systemd-swap[3924]: INFO: Load: /etc/systemd/swap.conf
Jul 02 19:08:27 n2 systemd-swap[3924]: WARN: Combining zram with zswap/swapfc/swapd_auto_swapon [...]
Jul 02 19:08:27 n2 systemd-swap[3924]: INFO: Zram: check availability
Jul 02 19:08:27 n2 systemd-swap[3924]: INFO: Zram: not part of kernel, trying to find zram module
Jul 02 19:08:27 n2 systemd-swap[3963]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:27 n2 systemd[1]: Started Manage swap spaces on zram, files and partitions..
Jul 02 19:08:28 n2 systemd-swap[4040]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:29 n2 systemd-swap[4042]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:30 n2 systemd-swap[4043]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:31 n2 systemd-swap[4044]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:49 n2 systemd-swap[4052]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:50 n2 systemd-swap[4053]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:51 n2 systemd-swap[4054]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:52 n2 systemd-swap[4056]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:53 n2 systemd-swap[4057]: modprobe: ERROR: could not insert 'zram': Operation not permitted
Jul 02 19:08:54 n2 systemd-swap[3924]: INFO: Zram: module successfully loaded
Jul 02 19:08:54 n2 systemd-swap[3924]: INFO: Zram: trying to initialize free device
Jul 02 19:08:54 n2 systemd-swap[3924]: WARN: Zram: zramctl can't find free device
Jul 02 19:08:54 n2 systemd-swap[3924]: INFO: Zram: using workaround hook for hot add
Jul 02 19:08:54 n2 systemd-swap[3924]: ERRO: Zram: this kernel does not support hot adding zram devices [...]
Jul 02 19:08:54 n2 systemd[1]: systemd-swap.service: Main process exited, code=exited, status=1/FAILURE
Jul 02 19:08:54 n2 systemd[1]: systemd-swap.service: Failed with result 'exit-code'.

рдПрдХ рдкреНрд░рд╛рдЪреАрди Pi2 (armv7l) рдкрд░ рднреА ArchlinuxARM w/systemd 245.6 рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ! zram рдореЙрдбреНрдпреВрд▓ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

Jul 02 19:14:07 alarmpi systemd[1]: Starting Manage swap spaces on zram, files and partitions....
Jul 02 19:14:08 alarmpi systemd-swap[299]: INFO: Load: /etc/systemd/swap.conf
Jul 02 19:14:08 alarmpi systemd[1]: Started Manage swap spaces on zram, files and partitions..
Jul 02 19:14:08 alarmpi systemd-swap[299]: WARN: Combining zram with zswap/swapfc/swapd_auto_swapon [...]
Jul 02 19:14:08 alarmpi systemd-swap[299]: INFO: Zram: check availability
Jul 02 19:14:08 alarmpi systemd-swap[299]: INFO: Zram: not part of kernel, trying to find zram module
Jul 02 19:14:09 alarmpi systemd-swap[299]: INFO: Zram: module successfully loaded
Jul 02 19:14:10 alarmpi systemd-swap[299]: INFO: Zram: trying to initialize free device
Jul 02 19:14:10 alarmpi systemd-swap[299]: INFO: Zram: initialized: /dev/zram0
Jul 02 19:14:12 alarmpi systemd-swap[299]: INFO: Zram: trying to initialize free device
Jul 02 19:14:13 alarmpi systemd-swap[299]: INFO: Zram: initialized: /dev/zram0
Jul 02 19:14:14 alarmpi systemd-swap[299]: INFO: Zram: trying to initialize free device
Jul 02 19:14:14 alarmpi systemd-swap[299]: INFO: Zram: initialized: /dev/zram1
Jul 02 19:14:16 alarmpi systemd-swap[299]: INFO: Zram: trying to initialize free device
Jul 02 19:14:16 alarmpi systemd-swap[299]: INFO: Zram: initialized: /dev/zram2
Jul 02 19:14:17 alarmpi systemd-swap[299]: INFO: swapD: pickup devices from systemd-gpt-auto-generator
Jul 02 19:14:17 alarmpi systemd-swap[299]: INFO: swapD: searching swap devices

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ armv7l рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ SystemCallFilter/seccomp рд╕рд╛рдорд╛рди рдЯреВрдЯрд╛ рд╣реБрдЖ/рдЕрдирджреЗрдЦрд╛ рд╣реИ... рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ coredumps рд╣реИ рдЬрдм рддрдХ рдХрд┐ SystemCallErrorNumber=EPERM рднреА .service рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╣реА Pi2 рдФрд░ рд░рд╛рд╕реНрдкрд┐рдпрди (рдмрдирд╛рдо ArchlinuxARM) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ Odroid-XU4 (armv7l рднреА) рдкрд░ - рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк SystemCallErrorNumber=EPERM рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдЖрддреА рд╣реИ рдФрд░ armv7l рдкрд░ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЯреВрдЯреА рд╣реБрдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред ЁЯСН рдореИрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЧреБрдЧрд▓рд┐рдВрдЧ/рдкрдврд╝рдирд╛/рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдХреБрдЫ рд╕рдмреВрдд рдФрд░/рдпрд╛ рд╕рдмреВрдд рдХреЗ рд╕рд╛рде рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕рд┐рд╕реНрдЯрдордб рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ

рдЖрдкрдХреА рдорджрдж рдФрд░ рдзреИрд░реНрдп рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВ! рдзрдиреНрдпрд╡рд╛рджред

рдЬрдм рддрдХ SystemCallErrorNumber=EPERM рдХреЛ рднреА рд╕реЗрд╡рд╛ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ ARMv7 рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм systemd/seccomp рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рд╛рдВ, рдпрд╣реА рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓ рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред

SystemCallErrorNumber=EPERM рд╕рд┐рд░реНрдл рд░рд┐рдЯрд░реНрди EPERM рдмрдЬрд╛рдп рднреЗрдЬрдиреЗ рдХреА рдЕрдкрдорд╛рдирдЬрдирдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП SIGSYS рдФрд░ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд░ рдбрдВрдкрд┐рдВрдЧред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдХрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рд╕рдлрд▓рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ, рд╕рдорд╛рдзрд╛рди рдХрд╣реВрдВрдЧрд╛ред

рдЕрдЧрд▓рд╛ рдХрджрдо рд╕рд┐рд╕реНрдЯрдордб рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдмрдВрдж рд╣реИред

https://freedesktop.org/wiki/Software/systemd/Debugging/

рдЖрдкрдХреЛ рдХрд╛рдордпрд╛рдмреА рдорд┐рд▓реЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕рдПрдЖрд░рдПрдо рдмрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдЕрдиреНрдп рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ?

рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдЖрд░рдПрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЪреАрдЬ рдпрд╛ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдЪреАрдЬ рд╣реИ?

рд▓рд┐рдирдХреНрд╕ рдХреА рдмрд╛рдд, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд╕рдЦреНрдд рд╣реЛрдирд╛ рд╕рд┐рд╕реНрдЯрдордб рдХреА рд╢реНрд╡реЗрддрд╕реВрдЪреА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдПрдЖрд░рдПрдо рд╕рд┐рд╕реНрдХреЛ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд┐рд╕реНрдХреЛ рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

pheiduck picture pheiduck  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adrelanos picture adrelanos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dou4cc picture dou4cc  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

terencode picture terencode  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cerebrux picture cerebrux  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ