History log of /freebsd-current/libexec/rc/rc.d/linux
Revision Date Author Comments
# f99f0ee1 22-May-2024 Alexander Leidinger <netchild@FreeBSD.org>

rc.d: add a service jails config to all base system services

This gives more permissions to services (e.g. network access to
services which require this) when they are started as an automatic
service jail.

The sshd patch is important for the sshd-related functionality as
described in the man-page in the service jails part.

The location of the added env vars is supposed to allow overriding them
in rc.conf, and to hard-disable the use of svcj for some parts where it
doesn't make sense or will not work.

Only a subset of all of the services are fully tested (I'm running this
since more than a year with various services started as service jails).
The untested parts should be most of the time ok, in some edge-cases
more permissions are needed inside the service jail.
Differential Revision: https://reviews.freebsd.org/D40371


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 56902618 12-Oct-2021 Mateusz Piotrowski <0mp@FreeBSD.org>

rc.d/linux: Attempt to mount only if necessary

Currently, if the linux service is run twice, mount(8) fails with:

mount: linprocfs: Device busy
mount: linsysfs: Device busy
mount: devfs: Device busy
mount: fdescfs: Device busy
mount: tmpfs: Device busy

It is a bit more user-friendly if before running mount(8) the service
checks if there are any file systems left to be mounted. This patch
implements this behavior.

Also, while here, create mount points directories (as suggested by
otis).

Reviewed by: trasz
Approved by: trasz (src)
Differential Revision: https://reviews.freebsd.org/D32463


# 6f62e3a7 19-Sep-2021 Xin LI <delphij@FreeBSD.org>

The linux rc.d script mounts several filesystems related to Linux ABI
compatibility layer. When /compat is located on a ZFS other than /,
mount would fail because they were not mounted.

Solve this by moving `linux` to depend on `zfs` which mounts all ZFS
filesystems.

Differential Revision: https://reviews.freebsd.org/D31848
MFC after: 2 weeks


# 45aec462 20-Apr-2021 Edward Tomasz Napierala <trasz@FreeBSD.org>

rc: make the 'linux' script explicitly load filesystem modules

This removes a minor annoyance with Linux jails, where you often
want linux_mounts_enable="NO", yet you want those filesystems
available for mounting in jails; normally mount(8) would result
in kernel automatically loading the KLD, but this doesn't work
inside jails or chroots.

PR: 242955
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29725


# 82431b75 12-Apr-2021 Edward Tomasz Napierala <trasz@FreeBSD.org>

rc: remove the 'archdep' script

It was unused since 405c3050f10, which removed iBCS support.

This also moves the 'linux' rc script slightly earlier, which
might help in some setups. The original version of this patch
moved it even more, before 'mountcritlocal', which would fixe
mount(8) errors due to missing /dev/shm in setups with entries
for /path/to/chroot/dev/shm without the "late" flag; however,
in the end 'kldxref' turned out to depend on 'mountcritlocal'
anyway.

Reported By: pstef
Reviewed By: dchagin
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29590


# e026f424 16-Mar-2021 Edward Tomasz Napierala <trasz@FreeBSD.org>

Fix the 'linux' rc script on aarch64.

Previously it would try to load linux.ko instead of linux64.ko
and fail. While here, don't try to match 'linuxaout'; even if
implemented, it's the same module as `linuxelf`.

Reviewed By: emaste
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29288


# 07cac176 08-Feb-2021 Edward Tomasz Napierala <trasz@FreeBSD.org>

Don't check compat.linux.emul_path before loading linux(4)

Fix e40787f900f to make libexec/rc/rc.d/linux retrieve the sysctl
after loading the kernel module which provides it, not before.

Reported By: jkim
Sponsored By: The FreeBSD Foundation


# e40787f9 02-Feb-2021 Edward Tomasz Napierala <trasz@FreeBSD.org>

Use compat.linux.emul_path instead of hardcoded path in /etc/rc.d/linux

In /etc/rc.d/linux the mounting paths of procfs, sysfs and devfs
are hardcoded to "/compat/linux". Switching to the content of
compat.linux.emul_path sysctl would allow to switch linuxulator
to different place.

Submitted by: freebsdnewbie_freenet.de
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D27807


# 6ef8f9d2 04-Jul-2020 Edward Tomasz Napierala <trasz@FreeBSD.org>

Make the linux rc script use linrdlnk by default.

This fixes Linux gettyname(3), with caveats (see PR).

PR: kern/240767
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D25558


# 5dece9b2 13-Nov-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add 'linux_mounts_enable' rc.conf(5) variable, to make it possible
to disable mounting Linux-specific filesystems under /compat/linux
when 'linux_enable' is set to YES.

Reviewed by: netchild, ian (earlier version)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D22320


# c13f19c0 07-Nov-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Extend the linux rc script to mount the neccessary file systems,
set ELF fallback brand, and load pty(4).

Reviewed by: emaste (earlier version)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21874


# ee0ee18c 03-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add rcvar back to the linux rc script. Without it it was enabled
unconditionally.

Reported by: Michael Butler <imb at protected-networks dot net>
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


# 028af4ae 02-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Rename etc/rc.d/abi to etc/rc.d/linux; after moving out the SysV IPC stuff
it's entirely linux-specific.

Reviewed by: emaste
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21830