summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/sysvinit
AgeCommit message (Collapse)Author
2021-04-23Revert "inittab: Add getty launch on hvc0 for qemuppc64"Kevin Hao
This reverts commit ed69ef20167da0986bc9363d1a91e62001995af4. The console entry has already been added into /etc/inittab based on the SERIAL_CONSOLES. So drop this redundant entry. Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 633f0c6b74e3caa2bae52ca60c61b811b7b2215d) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-04-23sysvinit-inittab/start_getty: Check /sys for the tty device existenceKevin Hao
The hvc tty driver doesn't populate a file like /proc/tty/driver/serial, so the current implementation of start_getty doesn't work for the hvc console. By checking the /sys/class/tty/ for the tty device existence, it should support more console types and also make the codes more simple. Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 670ceef0f6584ece5ce4176610255226a6148570) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-03-11inittab: Add getty launch on hvc0 for qemuppc64Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02sysvinit: upgrade 2.98 -> 2.99zhengruoqin
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-21recipes: Update common-licenses references to match new namesRichard Purdie
The licenses were renamed to match their SPDX names, fix the references in LIC_FILES_CHKSUM in OE-Core. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-05psplash (sysvinit): add textual updatesTrevor Woerner
The psplash program contains a hidden text box immediately above the progress bar. Any text sent via a "MSG" command through psplash's fifo will be displayed, centred, above the progress bar. Add the ability to show which startup script is currently running, in sync with updates to the progress bar. If a startup script takes a bit longer than others and the progress bar stops momentarily, this allows the user to know which script is responsible. This feature is added with a knob, default off, for enabling or disabling this feature. The knob is in the form of a PACKAGECONFIG against the sysvinit recipe: psplash-text-updates NOTE: this knob can be changed in the filesystem at runtime by editing /etc/default/rcS regardless of how it is set in the build. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-05psplash: fix working on first boot (sysvinit)Trevor Woerner
The psplash program has a mechanism for showing updates graphically in the form of a progress bar. The program is told when and how much to fill the progress bar via text messages sent through a fifo. If the fifo doesn't exist when the psplash program starts, it tries to create it. If the fifo doesn't exist or can't be created, the psplash program will refuse to run. In various circumstances when a system is booted for the very first time, the filesystem is mounted, initially, read-only. As a result the psplash program is not able to run. On systems where the root filesystem is not meant to be read-only, it will eventually be mounted read-write. Therefore the psplash program can run on shutdown, and all subsequent boots. Only the first boot is affected. If a fifo is created and included in the filesystem as part of the recipe, then filesystems that are meant to be read-only will have psplash work, as well as the cases where (on first boot) a read-write filesystem is initially mounted read-only. NOTE: this is only an issue with sysvinit, and non-qemu machines. systemd-based systems don't suffer from this first-boot issue, and neither do the qemu machines. NOTE 2: when psplash is done, it removes the fifo. Therefore the fifo used for communicating with psplash doesn't hang around unnecessarily in the filesystem. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-05PSPLASH_FIFO_DIR: refactorTrevor Woerner
Add an entry for the psplash fifo directory to /etc/default/rcS and have the pieces of code that need it source it from there rather than duplicating the definition in multiple places throughout the code. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-30sysvinit: upgrade 2.97 -> 2.98Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-20rcS: Define identifier for init system usedKhem Raj
This will help in defining init system specific portions of initscripts which are shared Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Sinan Kaya <okaya@kernel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24sysvinit: remove bashism to be compatible with dashFedor Ross
Replace the equality operator '==' with '=' inside of '[]' to be compatible with bash and dash. Signed-off-by: Fedor Ross <fedor.ross@ifm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-13sysvinit: Remove ${B} assignmentMichael Gloff
The VERSION variable is not set unless the top level Makefile is used as the version is derived from the Changelog. If VERSION is not set, none of the binaries built in the sysvinit recipe will have a valid version output. Before: INIT: version booting After: INIT: version 2.96 booting Using the top level Makefile does not cause any additional builds to occur. Signed-off-by: Michael Gloff <mgloff@emacinc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-02sysvinit rc: Use PSPLASH_FIFO_DIR for progress fifoMichael Gloff
psplash expects the fifo to be in /run or specified by PSPLASH_FIFO_DIR. This patch allows psplash to quit normally. Also, fix the work around of using echo directly into the fifo and use psplash-write. Signed-off-by: Michael Gloff <mgloff@emacinc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-02sysvinit: update 2.96 -> 2.97Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-12sysvinit-inittab: Add support for tty devices with 10 or more number.Yuki Hoshino
"start_getty" support for tty devices with under 10 number. When SERIAL_CONSOLES has tty devices with 10 or more number, do not't start getty and output the following message. ---------- sh 1: unknown operand ---------- Signed-off-by: Yuki Hoshino <yuki.hoshino@miraclelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28sysvinit: remove logsave.8Jeremy Puhlman
logsave is a duplicate from e2fsprogs, which was already removed, but the man page remained which is also a duplicate. However it does not get modifed on install so it conflicts with the e2fsprogs version. Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28sysvinit: Fix install order/dependencyMark Hatle
It is possible for sysvinit to be installed before the passwd/group files are installed from base-passwd. This results in an warning that the shutdown group can't be found. Adding a dependeny on base-passwd will resolve this issue. This has similar symptoms to the problem that oe-core commit 0227e929021263c51d2e7db36224000fecb01f1c fixed. The fix is simular in that it ensures that base-passwd is installed first, just at runtime vs setscene time. Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08sysvinit: Fix Reproducibility issueRichard Purdie
With a sequence like: bitbake sysvinit bitbake sysvinit -c clean bitbake sysvinit -c package_write_ipk -f then the resulting package has two files with group "root/70" rather than "root/shutdown". The issue is that of do_package is a setscene task, base-passwd isn't present. This patch fixes that dependency but there may be other cases of this problem around. [YOCTO #13776] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09sysvinit: update 2.88dsf -> 2.96Alexander Kanavin
Remove 0001-This-fixes-an-issue-that-clang-reports-about-mutlipl.patch, the problem has been fixed upstream. Rebase the other patches. License-Update: copyright years Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21distro_features_check: expand with MACHINE_FEATURES and COMBINED_FEATURES, ↵Denys Dmytriyenko
rename Besides checking DISTRO_FEATURES for required or conflicting features, being able to check MACHINE_FEATURES and/or COMBINED_FEATURES may also be useful at times. Temporarily support the old class name with a warning about future deprecation. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-22sysvinit: Include sys/sysmacros.h for major/minor definitions on musl tooKhem Raj
Fixes musl issue implicit declaration of function 'minor' is invalid in C99 [-Wimplicit-function-declaration] which eventually ends up with a linker error Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-30busybox-inittab/sysvinit-inittab: add rconflictsChangqing Li
when both installed, do_rootfs report error like: file /etc/inittab conflicts between attempted installs of busybox-inittab-1.30.1-r0.qemux86 and sysvinit-inittab-2.88dsf-r10.qemux86 so add each other to rconflicts Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26sysvinit: consolidate patchesRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12sysvinit-inittab: support non-busybox-getty on serial consolesAndré Draszik
Busybox' getty has code to try to make itself a session leader, whereas util-linux' agetty doesn't. It expects this to happen from outside. When getty is not a session leader, many things don't work on the serial console, e.g. setting the terminal process group, job control doesn't work, etc. Executing image tests also fails with AssertionErrors, because Feb 5 16:12:55 qemuarm getty[590]: /dev/ttyAMA1: cannot get controlling tty: Operation not permitted Feb 5 16:12:55 qemuarm getty[590]: /dev/ttyAMA1: cannot set process group: Inappropriate ioctl for device Update the start_getty script to invoke getty via the setsid utility if needed, i.e. if /sbin/getty is not busybox getty. [YOCTO #13058] Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-06meta: Use double colon for chown OWNER:GROUPKosta Zertsekel
Rationale - excerp from `info chown` ==================================== OWNER‘:’GROUP If the OWNER is followed by a colon and a GROUP (a group name or numeric group ID), with no spaces between them, the group ownership of the files is changed as well (to GROUP). Some older scripts may still use ‘.’ in place of the ‘:’ separator. POSIX 1003.1-2001 (*note Standards conformance::) does not require support for that, but for backward compatibility GNU ‘chown’ supports ‘.’ so long as no ambiguity results. New scripts should avoid the use of ‘.’ because it is not portable, and because it has undesirable results if the entire OWNER‘.’GROUP happens to identify a user whose name contains ‘.’. Signed-off-by: Kosta Zertsekel <zertsekel@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-14sysvinit: Fix build with glibc 2.28 + libxcryptKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15sysvinit-inittab: do not use 'exit 1' to postpone to first bootAlexander Kanavin
Instead, first check if we need to do anything at all during first boot, and if so, either postpone to first boot via pkg_postinst_ontarget() when running on host, or run the necessary setup code when running on target. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-04sysvinit: inherit distro_features_checkRobert Yang
Use distro_features_check so that we can have a uniform controller. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-02initscripts: don't use update-alternativesMarkus Lehtonen
Stop using update-alternatives for managing /etc/init.d/functions. Also, make the initscripts-functions subpackage to (runtime) conflict with lsbinitscripts. [YOCTO #10944] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2017-09-21sysvinit-inittab: start_getty: Cleanup commentsAndrea Adami
Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21sysvinit-inittab: start_getty: consider whitespaces in tty driver nameAndrea Adami
Unbreak serial console when driver name contains spaces (PXA serial). Fix commit ac0e954 "start_getty: Over added SERIAL_CONSOLE cause error in userspace log" Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-06-03start_getty: Over added SERIAL_CONSOLE cause error in userspace logChoong YinThong
Error log will be logged into /var/log/message. Added in more condition checking on the script. Check /proc/tty/drivers and /proc/tty/driver/* file system to retrieve active targeted serial. Only establish getty with active serial in runtime. [YOCTO #10844] Reviewed-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Choong YinThong <yin.thong.choong@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-16sysvinit-inittab: fix getty device removalLeonardo Sandoval
getty devices were not being removed in some cases because device name was not at the end of the line, for example a ttyS1 device: S1:12345:respawn:/bin/start_getty 115200 ttyS1 vt102 Removing this limitation allows sed to remove any line containing the device. Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-23sysvinit-inittab: make TERM=vt102 on serial consolesAndré Draszik
This makes more sense than the default TERM=linux (as set by the linux kernel). In addition, when using busybox init, it tries to achieve the same (in a different way). Both agetty, and busybox getty support the terminal type as the last argument. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-10sysvinit-inittab_2.88dsf.bb: Allow aliasing with SERIAL_CONSOLES_CHECKCalifornia Sullivan
With some hardware the name of the device node and the name in /proc/console differ. This causes SERIAL_CONSOLES_CHECK to not enable working consoles in these cases. This patch changes SERIAL_CONSOLES_CHECK to have an optional alias for the checked consoles. The new format is: <device>:<alias to check(optional)> Fixes [YOCTO #9440]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-06sysvinit-inittab: restrict labels to 4 charsStephano Cetola
The current recipe creates inittab labels based off the device node name of TTYs used as consoles. If those names exceed the 4 character label limit of inittab, it will break. This change takes the last 4 chars of the device names in order to avoid any errors. [ YOCTO #9529 ] Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13sysvinit: make lastb.1 an alternativeDan McGregor
util-linux has an alternative for it. Add it to sysvinit too. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-24sysvinit: downgrade ALTERNATIVE_PRIORITY[mountpoint]Richard Tollerton
sysvinit is objectively less maintained than util-linux or busybox, each of which may supply its own mountpoint implementation. Adjust the ALTERNATIVE_PRIORITY to select the sysvinit implementation as the last resort. Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28sysvinit-inittab: Move start_getty scrip to base_bindir.Philip Tricca
When this file is in ${sysconfdir}/init.d, SELinux labels it as a generic init script (initrc_t). This causes problms at runtime because SELinux doesn't let the login process execute generic init script. Moving this helper script to base_bindir results in it being labeled as a generic binary (bin_t). Nearly every SELinux domain is allowed to execute generic binaries and the login process is one of them. Signed-off-by: Philip Tricca <flihp@twobit.us> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12sysvinit: Fix build with muslKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01sysvinit-inittab: Add wrapper script to verify console existsSaul Wold
Add a wrapper script around getty to check if a given console exists, this allows for multiple Console ttys to be specified for various boards without having additional BSP types just for different console types. [YOCTO #8689] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-30sysvinit: Fix makefile bug found with clangKhem Raj
This is due to specifying .h files on linker cmdline clang driver is picky about it, and its not entirely correct either (From OE-Core rev: de45b5e68faeefe3d68818d456f280b98f397634) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-29sysvinit-inittab: Run ttys on ttys that don't have tty in the nameRandy Witt
On qemuarm64 the second serial port in SERIAL_CONSOLES will be hvc0. Since that doesn't have tty in the name, a correct label didn't get added to inittab. This change makes both names with tty and without work. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-10sysvinit: Only enable recipe in builds where its applicableRichard Purdie
Similarly to systemd, only enable the recipe in builds where sysvinit is configured in DISTRO_FEATURES. This allows the new cleanup mechanism to handle it correctly in existing builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-21sysvinit: Add lastb to alternativesBryan Evenson
SysVinit creates lastb as a symlink to last during the build. Just as other applications may provide last, other applications may provide lastb. Add alternatives designations for lastb to avoid installation conflicts with other applications. Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21sysvinit-inittab: Fix no tty in runlevel 1.Aníbal Limón
When switch to runlevel 1 (Single user mode), tty was not re-spawn and appears to be a machine hang. [YOCTO #5336] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23meta: set proper S valuePetter Mabäcker
After removal of auto-creating S we must ensure that all recipes are using a proper value for S. Fix all recipes that only need to set S equals to WORKDIR. [YOCTO #5627] Signed-off-by: Petter Mabäcker <petter@technux.se>
2014-11-20sysvinit-inittab: Disable the carrier detect requirement for serial consolesOtavio Salvador
This aligns the params of getty with the ones used in Debian. From the getty(8) manpage: ,----[ getty(8) manpage ] | -L, --local-line | | Force the line to be a local line with no need for carrier | detect. This can be useful when you have a locally attached | terminal where the serial line does not set the carrier detect | signal. `---- Reported-by: Craig McQueen <craig.mcqueen@beamcommunications.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Tested-by: Craig McQueen <craig.mcqueen@beamcommunications.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-08-11sysvinit: allow stack size configuration from rcSScot Salmon
For certain swap/overcommit settings (e.g. when overcommit is disabled on a real-time system), we need to limit the stack size used by initscripts. When the STACK_SIZE environment variable is set (usually in /etc/default/rcS), ulimit the stack size to the value specified. Make the stack size ulimit a soft limit, which allows the user to increase the stack size where required without having to run the respective application as root. Signed-off-by: Scot Salmon <scot.salmon@ni.com> Signed-off-by: Gratian Crisan <gratian.crisan@ni.com> Signed-off-by: Ben Shelton <ben.shelton@ni.com> Acked-by: Rich Tollerton <rich.tollerton@ni.com> Acked-by: Brad Mouring <brad.mouring@ni.com> Acked-by: Bill Pittman <bill.pittman@ni.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-23sysvinit: bootlogd: ensure /var/log/boot is created in volatilesRichard Tollerton
bootlogd does not write to /var/log/boot if it does not exist, so if using the volatiles facility (presumed to mount /var/log under a tmpfs), ensure that /var/log/boot gets created. Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>