Platform Notes (GNU/Linux)

From FreeM Wiki
Jump to navigation Jump to search

Port Status

The GNU/Linux port is a Tier 1 Port

Verified Releases

  • FreeM 0.59.2 (04 Aug 2023)

Testing Details

We build and test the GNU/Linux port on a system with the following specifications:

  • amd64-based host
  • Arch Linux running the 6.1.39-1-lts Linux kernel
  • GNU gcc v13.1.1
  • GNU autoconf 2.71
  • GNU automake 1.16.5


Required Kernel Tuning

For the default daemon configuration, you will need a kernel kernel.shmmax parameter of at least 6000000.

To check the current value of this kernel parameter, enter the following command:

$ sysctl kernel.shmmax

If the reported value is less than 6000000, continue with the following procedure. Otherwise, your system already meets the requirements for running FreeM in the default configuration.

To apply an shm_max of 6000000, you will need to do the following:

  • Create a file called 10-shmmax.conf in /etc/sysctl.d, containing the following information:
kernel.shmmax = 6000000
  • Reboot your system

Starting the FreeM Daemon Automatically

systemd

To start the FreeM daemon automatically with systemd, you will need to first decide if you want the daemon to run as a system-level service, or as a user service under your normal user account.

System-Level Service

  • Copy 'scripts/systemd/system/freem.service' from the FreeM distribution to '/etc/systemd/system'
  • Type the following commands as root:
# groupadd freem
# useradd -m -d /home/freem -g freem freem
  • Type the following command for each user who will use FreeM, substituting the user's login name for username:
# usermod -aG freem username
  • Type the following commands as root:
# systemctl daemon-reload
# systemctl enable freem
# systemctl start freem
  • You may then check the status of the daemon with the following command:
# systemctl status freem

If the third line of output contains the text 'active (running)', the service has been successfully configured and started.

User-Level Service

  • Copy 'scripts/systemd/user/freem.service' from the FreeM distribution to '$HOME/.config/systemd/user'
  • Type the following commands:
$ systemctl --user enable freem
$ systemctl --user start freem

$ You may then check the status of the daemon with the following command:

$ sudo systemctl --user status freem

If the third line of output contains the text 'active (running)', the service has been successfully configured and started.

sysvinit

Coming soon.