Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: os-release
# REQUIRE: mountcritremote FILESYSTEMS
# BEFORE:  LOGIN

. /etc/rc.subr

: ${osrelease_file:=/var/run/os-release}
: ${osrelease_perms:=444}
name="osrelease"
desc="Update ${osrelease_file}"
start_cmd="osrelease_start"
stop_cmd=":"

osrelease_start()
{
	local _version _version_id

	check_startmsgs && echo -n "Updating ${osrelease_file} "
	_version=$(freebsd-version -u)
	_version_id=${_version%%[^0-9.]*}
	t=$(mktemp -t os-release)
	cat > "$t" <<-__EOF__
		NAME=FreeBSD
		VERSION=$_version
		VERSION_ID=$_version_id
		ID=freebsd
		ANSI_COLOR="0;31"
		PRETTY_NAME="FreeBSD $_version"
		CPE_NAME=cpe:/o:freebsd:freebsd:$_version_id
		HOME_URL=https://FreeBSD.org/
		BUG_REPORT_URL=https://bugs.FreeBSD.org/
__EOF__
	install -C -o root -g wheel -m ${osrelease_perms} "$t" "${osrelease_file}"
	rm -f "$t"
	check_startmsgs && echo 'done.'
}

load_rc_config $name
run_rc_command "$1"