summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initscripts/initscripts-1.0
Commit message (Collapse)AuthorAgeFilesLines
* initscripts: Add custom mount args for /var/libColin McAllister2024-02-021-2/+2
| | | | | | | | | | | Adds bitbake variable to set additional mount flags for the /var/lib overlayfs or bind mount when using a read-only root filesystem. This can be used to set additional options like "-o nodev". (From OE-Core rev: c3109e40e2c2c881996dd3fcc95fca74f098646d) Signed-off-by: Colin McAllister <colin.mcallister@garmin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Clean up license handling/identifiersRichard Purdie2022-04-0125-347/+93
| | | | | | | | | | | The license is clear, add an SPDX license identification headers to the scripts and drop the weird patch, we don't need it. (From OE-Core rev: 540041ac80cfc91df61b45d48f9c9ebbc9b2e71e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatile.sh: run create_file synchronouslyMatthias Schiffer2021-07-241-1/+1
| | | | | | | | | | | | | | | | | | | The behavior of running create_file in the background was introduced in d44816bedade ("initscripts: Populate volatile from existing file") without further explanation. Besides its questionable benefit, this causes actual issues: - Not all create_file processes may have finished by the time the initscript exits (or when it moves /etc/volatile.cache.build !) - By making the order of commands nondeterminstic, it could hide dependency issues where it was attempted to create files before their containing directories (From OE-Core rev: 1a4ddb0d3f1289e0b67b6eba9be58374d3d7a80b) Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatile.sh: do not log to tty0Matthias Schiffer2021-07-241-4/+4
| | | | | | | | | | | | tty0 may not be the intended console for log messages, or it may not exist at all in kernel configurations without CONFIG_VT. Just use the default stdout/stderr instead. (From OE-Core rev: 669e74d358db59768862515fe584aa1edf6cec04) Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Use initctl on sysvinit onlyKhem Raj2020-12-201-8/+14
| | | | | | | | | | | Check if init system is sysvinit to recreate initctl, this ensures that it can be used with busybox init system as well (From OE-Core rev: 15c467d0206ee30fe708f76b7d5e0033ab687475) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Sinan Kaya <okaya@kernel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: use quotes for shell variable comparisionKhem Raj2020-12-201-1/+1
| | | | | | | | | Helps to execute it with busybox shell (From OE-Core rev: 45ba0ca0352bca46f974d28781ac935d8e9ec3ea) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Fix populate-volatile.sh bug when file/dir existsAndrei Gherzan2020-07-271-12/+12
| | | | | | | | | | | | | | | The blocks which test for entry exitence (file or directory) use a `A && B || C` syntax. This form is not behaving as a if-then-else block even the code logic assumes that. C may run when A is true which breaks the case where VERBOSE is 'no' but the file/directory exists. Along with fixing these specific issues, this patch fixes the other instances where blocks of form `A && B || C` are used as if-then-else. (From OE-Core rev: 1b9ea22acb66554925720e04cf24100664234574) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Fix various shellcheck warnings in populate-volatile.shAndrei Gherzan2020-07-271-29/+29
| | | | | | | (From OE-Core rev: 0a128a238f63d52aa82f8c63ee2f84ab528b3346) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts/sysfs.sh: Mount /sys/firmware/efi/efivars when possibleHaris Okanovic2019-11-101-0/+4
| | | | | | | | | | | | | Without this change, efibootmgr is unable to recover BootOrder if lost during a previous write operation, e.g. exceeded storage capacity. This is problematic using EFI to manage boot flow from Linux (E.g. via RAUC). https://www.kernel.org/doc/Documentation/filesystems/efivarfs.txt (From OE-Core rev: 0fb92b500b7d6b84368ca3a85e675400c6473987) Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: enable alignment.sh init script for big endian ARMAndre McCurdy2019-09-181-0/+0
| | | | | | | (From OE-Core rev: 2e00755bf231f1de5ab96ee5de0859cb0930d544) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: remove warnings on read-only-rootfs (again)Martin Hundebøll2019-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the populate-volatile.sh initscript tests if a configured symlink is already in place, it uses readlink with the '-f' (follow) option: > [ "$(readlink -f $source)" = "$dest" ] If the test fails, it proceeds to delete the exisiting folder/file, and create the configured symlink. However, the '-f' option to readlink makes it follow symlinks pointing at symlinks. If the $dest argument is a symlink, the above test fails, and warnings are printed due to changing a read-only rootfs. This is the case for /tmp, and /etc/resolv.conf: > /tmp -> /var/tmp -> /var/volatile/tmp > /etc/resolv.conf -> /var/run/resolv.conf -> /run/resolv.conf Fix the warnings by removing the '-f' option, so that the test matches the configuration. [ YOCTO #10814 ] (From OE-Core rev: fb028a0a25c02ab56ad262afd8e6e9495a44673d) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Add support for /etc/default/timestampJeroen Hofstee via Openembedded-core2019-03-042-3/+10
| | | | | | | | | | | Source /etc/default/timestamp if present. This allows the rootfs to be read-only / store the file in a persistant location if the whole rootfs is updated. (From OE-Core rev: b4de37b7176630d9585b12c50d537cd561c7aeb9) Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Update volatiles documentation to include bindsJoshua Watt2019-02-191-1/+1
| | | | | | | | | | Volatiles processing now handles bind mounts, so update the comment in the core file to indicate this. (From OE-Core rev: 520e8f5721aab90815186533038c2f9f834546d5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Use double colon for chown OWNER:GROUPKosta Zertsekel2018-11-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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 ‘.’. (From OE-Core rev: 185918234a07cb506d7d7464a49ac33972c7d963) 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>
* initscripts: populate-volatiles: Speed up processingJoshua Watt2018-10-141-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | Checking the requirements for each volatiles file in the populate-volatiles script can be very slow when there are a large number of volatiles files, easily consuming over 80% of the processing time. These checks don't usually uncover any problems so concatenate all the volatiles files together and process them as one large file for a "fast path" option. This ensures that the penalty for checking the requirements is only incurred once. In the event that checking the requirements for the unified file fails, fall back to the slow process of checking each one individually so that the offending one can be skipped. The core file is handled separately because it is responsible for creating the temp directory used by check_requirements and thus must always run first and without having its requirements checked. [YOCTO #12949] (From OE-Core rev: f380fac8a43a75861f3157777b12a317b985a5e1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: read-only-rootfs-hook: Use overlay if availableJoshua Watt2018-10-121-2/+7
| | | | | | | | | | | | Copying files from the read-only /var/lib to tmpfs can be slow and waste memory. If the kernel supports the overlay file system, use it to mount a writable tmpfs on top of the read-only /var/lib and avoid the file copy. (From OE-Core rev: 370fda1b2e8d5dc011522131bba4106de26bfb19) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Avoid starting rpcbind daemon twiceYue Tao2018-05-291-3/+6
| | | | | | | | | | | Check the status before start it to avoid duplicates. (From OE-Core rev: ca3ef7d1ef9b1f0dc4d3170b1ad20d5f725872a1) Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: support persistent /var/logChen Qi2017-08-181-1/+0
| | | | | | | | | | | | Respect VOLATILE_VAR_LOG variable so that if it's set to any valid boolean false value, we could have persistent /var/log on the final image. [YOCTO #6132] (From OE-Core rev: 50914c4a84e0fb6b9bf6bb1864a2d653218753ce) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Populate volatile from existing fileDavid Vincent2017-06-061-2/+14
| | | | | | | | | | | | | | | In some cases, it may be useful to populate a volatile file from an existing one, e.g. a file in a read-only rootfs that may be edited in a read-write destination. To provide this behavior, creation of volatile files has been updated to copy a file which has been given in the <linksource> field. If set to none, the current behavior is preserved. (From OE-Core rev: d44816bedadeef420226dc5efb67065cfcda6634) Signed-off-by: David Vincent <freesilicon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts/sysfs.sh: mount configfs if presentMike Looijmans2017-03-011-0/+4
| | | | | | | | | | | | configfs is another kernel virtual file system that should be mounted if configured, so if it's configured into the kernel, mount it. It is used to configure e.g. USB gadget mode and devicetree overlays. (From OE-Core rev: 4f52130475d026c32f0380d301f56f6fa3df7ac9) Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatile: suppress read-only-rootfs warningsAndré Draszik2016-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | rm: can't remove '/etc/resolv.conf': Read-only file system ln: /etc/resolv.conf: File exists /etc/default/volatiles contains an entry: l root root 0644 /etc/resolv.conf /var/run/resolv.conf which causes populate-volatile.sh to execute the following in link_file(): if [ -L \"$2\" ]; then [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; elif [ -d \"$2\" ]; then ... At the time the image is created, /etc/resolv.conf is already a symlink to /var/run/resolv.conf, but at boot time when populate-volatiles.sh is run, /var/run/resolv.conf doesn't exist, causing it to try to rm -f and ln -sf which of course fails due to the read-only filesystem. [YOCTO #10814] (From OE-Core rev: 765ee275f5499254b1f09e394c757072bea5f459) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatile: don't run commands in backgroundMans Rullgard2016-12-221-3/+3
| | | | | | | | | | | If commands are run asynchronously they may be completed out of order causing problems if later entries depend on earlier ones. (From OE-Core rev: bead9e59768209dd70f9cba51d2f1e5925cc284d) Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatile: improve config file parsingMans Rullgard2016-12-132-5/+7
| | | | | | | | | | | This improves the config file parsing to permit blank lines and comments following an entry or preceeded by whitespace. (From OE-Core rev: 415eaacb83b1c6df5210fb423e3e96e530b1dc42) Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Check for logrotate in dmesg.shOvidiu Vancea2016-08-231-2/+2
| | | | | | | | | | | | | Autodetect previously hardcoded logrotate location because it can be installed in multiple places like /usr/bin/logrotate which is very common besides /usr/sbin (From OE-Core rev: 277a5975d43125623b5a51ddcb48f9ee2474d0fc) Signed-off-by: Ovidiu Vancea <ovidiu.vancea@ni.com> Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: check if swapon/swapoff exists before executing themMing Liu2016-05-303-3/+3
| | | | | | | | | | | | | | | Not all built images contain swapon/swapoff, for instance, it is configurable with or without them in busybox. So it'd better to check if they exist or not before executing them. Redirecting the potential errors to /dev/null is not good enough, which might suppress the *real* errors. (From OE-Core rev: 2cb1142710cc2beb762c4c2b8edd44d3a97dafa0) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: populate-volatiles.sh: add mount-bind featureJens Rehsack2016-02-141-0/+10
| | | | | | | | | | | | | | | | Add ability to run "mount --bind" to populate-volatiles. Since several programs use realpath to determine several full qualified file names, there is no symlink to be resolved. So when speccing /run/lock - that's the location - not /var/run/lock because of the program is smarter than the operator/distributor. See https://github.com/rehsack/meta-jens/blob/jethro/recipes-core/initscripts/initscripts/volatiles for an example how to use the "b" feature. (From OE-Core rev: ab42fcaf1427a29c31ac2e93965e20849b1b1234) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: hide the error in case system is not writeableMing Liu2015-12-011-1/+1
| | | | | | | | | | | | To avoid reporting errors for /etc/timestamp is not writeable in a readonly system. Reported-by: Niklas Soderlund <niklas.soderlund@external.atlascopco.com> (From OE-Core rev: 463bef8b055f8305b7aac5045fefe4276b1432ad) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts/sysfs.sh: Mount devtmpfs on /dev/ if neededMike Looijmans2015-10-271-0/+4
| | | | | | | | | | | | | | | | | | When booting from an initrd disk, or when the kernel config option DEVTMPFS_MOUNT isn't provided, /dev/ will not be mounted at boot. This small addition will check if /dev/ is "useful", and if not, will mount devtmpfs if the kernel provides it. With this change, it is possible to set an initscripts style image type to "cpio.gz" and boot it as initrd. Without this change, the image won't work properly because of the missing devices. (From OE-Core rev: a1cfb8a2691ed36700c96cbc1a0e744494294d2b) Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Fix regression for requiring /bin/bashJason Wessel2015-08-101-2/+2
| | | | | | | | | | | | | | | | | | | It is not possible to create a rootfs with only busybox + initscipts. This is a result of a regression from commit a4b53872a8a9a2743299acbff015f7f2750a69d6 (initscripts: add /sbin/sushell for systemd service debug-shell). The /sbin/sushell should just use /bin/sh else you end up with a problem when creating the end image with a failed smart transaction shown below: ERROR: Unable to install packages. Command '/proj/bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/smart --quiet --data-dir=/proj/bitbake_build/tmp/work/qemuarma9-wrs-linux-gnueabi/wrlinux-image-glibc-small/1.0-r1/rootfs/var/lib/smart install -y dropbear@armv7at2_vfp hac@armv7at2_vfp run-postinsts@all kernel-modules@qemuarma9 packagegroup-core-boot@qemuarma9' returned 1: error: Can't install initscripts-1.0-r155.0@armv7at2_vfp: no package provides /bin/bash (From OE-Core rev: 4917e36a77bd6821b45db52caa43939d344d92f6) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: add /sbin/sushell for systemd service debug-shellKai Kang2015-07-091-0/+5
| | | | | | | | | | | | | | | | | Add file /sbin/sushell for systemd service debug-shell which starts with /bin/sushell when SELinux is enabled. Copy and add sushell file from Fedora 22. Add runtime dependency bash as well when systemd is enabled to eliminate QA warning: WARNING: QA Issue: /sbin/sushell_initscripts contained in package initscripts requires /bin/bash, but no providers found in its RDEPENDS [file-rdeps] (From OE-Core rev: a4b53872a8a9a2743299acbff015f7f2750a69d6) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: fix bashism in bootmisc.shBen Shelton2014-07-231-1/+5
| | | | | | | | | | | | | | | | | | | | In the commit 'initscripts: save /etc/timestamp with seconds accuracy', a bashism was introduced in the bootmisc.sh script in the code to set the current date from the stored value in /etc/timestamp. This causes that operation to fail with the following message when /bin/sh is not bash: /etc/init.d/rc: /etc/rcS.d/S55bootmisc.sh: line 73: syntax error: bad substitution Fixed by using pattern matching removal rather than bash-specific substring expansion. [YOCTO #6566] (From OE-Core rev: c8a451adc71e4ce9ab963f61d7830c2d75aaffca) Signed-off-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: Add support for /etc/default/urandomRichard Tollerton2014-07-191-0/+1
| | | | | | | | | | | | Source /etc/default/urandom if present. This allows the rootfs to remain read-only while enabling the user to override the location of the random seed file. (From OE-Core rev: 415e1a4ac8120b28118671698459b098c965a4f6) 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>
* initscripts: make hostname.sh coreutils-compatibleRichard Tollerton2014-07-191-1/+1
| | | | | | | | | | | inetutils and busybox hostname utils support `hostname -F`; coreutils hostname doesn't. So just use `cat` instead. (From OE-Core rev: acb8674e498468088d867ffae9a458caa08d95d5) 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>
* initscripts: Use current date as an additional source of entropyKen Sharp2014-07-191-6/+5
| | | | | | | | | | | If the seed file is empty or does not exist, the date is an extremely poor backup source of entropy, but it is better than nothing. (From OE-Core rev: 0a41a7c20316c7d3330233a624d8cf20ea5a81ae) 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>
* initscripts: parametrize random seed file locationRichard Tollerton2014-07-191-5/+8
| | | | | | | | | | | | Currently, the random seed file location is hardcoded to /var/lib/urandom/random-seed. Refactor it to a parameter (RANDOM_SEED_FILE) so the file location is defined in only one place. (From OE-Core rev: 558ba23cfdd60bf64b9214460a2772be70079796) 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>
* initscripts: save /etc/timestamp with seconds accuracyBlair Elliott2014-07-192-3/+4
| | | | | | | | | | | | Currently, /etc/timestamp is saved with minutes accuracy. To increase the accuracy, modify the save-rtc.sh and bootmisc.sh scripts to save and read /etc/timestamp respectively with seconds accuracy. (From OE-Core rev: 8fed53e4e72230c61f23cb36eda36c228aede1e0) 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>
* initscripts: bootmisc.sh: Make sysctl -p honor VERBOSERichard Tollerton2014-07-191-1/+6
| | | | | | | | | | busybox sysctl may lack the "-q" setting, so simulate it with redirects. (From OE-Core rev: 5672b5188557b940340bdc3e6a3ac30835b829fb) 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>
* initscripts: update populate-volatile.shKai Kang2014-06-241-4/+6
| | | | | | | | | | | | | | | | | | If a partition such as /tmp mounted on a volatile directory which create by script populate-volatile.sh from initscripts, it will show errors. In /var/log/boot, error message: Thu Jun 19 05:39:09 2014: bootlogd. Thu Jun 19 05:39:10 2014: rm: cannot remove '/tmp': Device or resource busy Check volatile directories and if it is be mounted then don't force make it as a link. (From OE-Core rev: cc4b0936c7a6a1563dc88d62d8c9020791eaa446) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: avoid pipe with sedMatthieu Crapet2014-05-081-2/+2
| | | | | | | | | | | | | | | Small optimisation in /etc/init.d/populate-volatile.sh. Replace: cat <file> | sed -e xxx By: sed -e xxx <file> (From OE-Core rev: c91739cd08ed5451a0927586a14db54c4c328ad7) Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: define failure/success/warning/pass functionsRoy Li2014-01-281-0/+31
| | | | | | | | | | | define failure/success/warning/pass functions, some packages' initscript need them, and /etc/core-lsb/lsb_log_message from lsb needs them too. (From OE-Core rev: b78154c4a52b5a198e90bca8f83990fe9251fb72) Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: remove erroneous call to /etc/default/rcS in mountnfs.shRoss Burton2013-11-241-2/+0
| | | | | | | | | | This doesn't exist when using systemd as it's part of the sysvinit package, and this script doesn't need it. (From OE-Core rev: 426a22bb67c7823ee733f8c2bd85421b785c3631) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: filter out empty lines from volatiles in check_requirements()Ming Liu2013-09-101-2/+2
| | | | | | | | | | So far the rules of check_requirements() is too strict to lead mismatch when empty lines exist in volatiles. (From OE-Core rev: 71ab9ee58b0ba5e3f5cbf403d1b8fb79fc7f5ed1) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* read-only-rootfs-hook.sh: check before bind mounting /var/libChen Qi2013-08-261-4/+29
| | | | | | | | | | | | | | | | It's possible that /var/lib is on a separate writable partition. In such situation, we should not bind mount /var/lib with tmpfs, becasue it's already writable. This patch fixes this problem by checking whether /var/lib is already on a writable partition. [YOCTO #4888] (From OE-Core rev: 86ac10995fd08226f82d87e23fda5d4898c3190f) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* checkroot.sh: check for conflicting configurationsChen Qi2013-08-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our current boot scripts, two ways are used to determine whether the rootfs is read-only or not. One by checking the READ_ONLY_ROOTFS value in /etc/default/rcS, the other by checking the /etc/fstab entry. >From a normal Linux user's point of view, the way of checking the /etc/fstab entry is preferred. However, as there are several boot scripts that need to know whether rootfs is read-only or not, checking /etc/fstab in each script brings too much overhead. Thus, these boot scripts use the READ_ONLY_ROOTFS value in /etc/default/rcS. In normal use cases, there would be no problem, as both /etc/default/rcS and the /etc/fstab are modified at rootfs time. However, if the user changes the mount option for rootfs in /etc/fstab to read-write, and he/she forgets to change the value in /etc/default/rcS, there would be unexpected results. For example, the udev-cache would still be disabled. So at a minimal, a check for conflicting configurations between /etc/fstab and /etc/default/rcS should be added in checkroot.sh so that there would be reasonable warnings if users have configured the system in a non-consistent way. [YOCTO #4880] (From OE-Core rev: 1565a0c5a3f245703e280ca90cf11d3f9374788a) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: remove obsolete device_table.txtChen Qi2013-08-201-197/+0
| | | | | | | | | | | | | | | | device_table.txt was once used by an init script named 'devices' to create the basic files under /dev. However, it's no longer used now. The devices init script has been removed, and makedevs command has been disabled by default in busybox. Besides, considering the device managers and devtmpfs filesystem, this file is not likely to be used again. So we remove it. (From OE-Core rev: cc3842255ade0ad6fb312f06f5e5e1edd9767c94) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate-volatile.sh: use 'cp -a' to avoid potential problemChen Qi2013-08-161-1/+2
| | | | | | | | | | | | Previously, dead links in target directory will not be copied. This is incorrect as dead links are not uncommon in our rootfs. So we use '-a' option instead. (From OE-Core rev: 742440441222e0627abbdd3eb2ee16401e8f4adf) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate-volatile.sh: don't spawn background process at rootfs timeChen Qi2013-08-161-3/+3
| | | | | | | | | | | | | | | | | | | If we're building a read-only rootfs, we'll get the following error now and then. tar: .: file changed as we read it The root cause is that we spawn background process at rootfs time. When the tar command is running, it's possible that files under rootfs are changed by background processes, thus this error. [YOCTO #4937] (From OE-Core rev: 4bd419f95868d5b8707a45cee5f6c5c6a840a65b) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate-volatile.sh: use $ROOT_DIR/var/volatile/tmp as TMPDIRChen Qi2013-08-161-1/+1
| | | | | | | | | | | | | | | | | | It's possible that a 'No such directory' error occurs when doing check_requirement in populate-volatile.sh at rootfs time. This is because the $ROOT_DIR/var/tmp might be a dead link. Use $ROOT_DIR/var/volatile/tmp as the TMPDIR instead to avoid this error. [YOCTO #4883] [YOCTO #4103] (From OE-Core rev: 7c2c36a97bab46c73a3a1fb743ad3ec67a4c072e) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* checkroot.sh: respect the value of ENABLE_ROOTFS_FSCKChen Qi2013-08-121-1/+1
| | | | | | | | | | | | | | Previously, fsck is always disabled because the value of rootcheck in the checkroot.sh script is always set to 'no'. We should respect the value of ENABLE_ROOTFS_FSCK in /etc/default/rcS to allow for filesystem check. (From OE-Core rev: 5c11cf4db8f43003fb7132b92a78659f70f07ce0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initscripts: add dmesg file to /var/logJackie Huang2013-07-102-0/+26
| | | | | | | | | | | | | We should create the /var/log/dmesg.log file as a default. If we don't then a later kernel error can flush the dmesg ring buffer, losing valuable debug information. (From OE-Core rev: faa8cc6c2a582a32c695f3f2b0d45b6892c769fd) Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>