Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 142238 Details for
Bug 208245
sys-fs/udev scripts for OpenRC
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
udev-start.sh
udev-start.sh (text/plain), 4.27 KB, created by
Roy Marples
on 2008-01-30 22:51:21 UTC
(
hide
)
Description:
udev-start.sh
Filename:
MIME Type:
Creator:
Roy Marples
Created:
2008-01-30 22:51:21 UTC
Size:
4.27 KB
patch
obsolete
># Copyright 1999-2007 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 > >[ -e /etc/udev/udev.conf ] && . /etc/udev/udev.conf > >rc_coldplug=${rc_coldplug:-${RC_COLDPLUG:-YES}} >rc_device_tarball=${rc_device_tarball:-${RC_DEVICE_TARBALL:-NO}} > >mount_dev_directory() >{ > # No options are processed here as they should all be in /etc/fstab > ebegin "Mounting /dev for udev" > if fstabinfo --quiet /dev; then > mount -n /dev > else > # Some devices require exec > mount -n -t tmpfs -o exec,nosuid,mode=0755,size=10M none /dev > fi > eend $? >} > >unpack_device_tarball() >{ > # Actually get udev rolling > if yesno "${rc_device_tarball}" && \ > [ -s /lib64/udev/state/devices.tar.bz2 ] > then > ebegin "Populating /dev with saved device nodes" > tar -jxpf /lib64/udev/state/devices.tar.bz2 -C /dev > eend $? > fi >} > >seed_dev() >{ > # Seed /dev with some things that we know we need > ebegin "Seeding /dev with needed nodes" > > # creating /dev/console and /dev/tty1 to be able to write > # to $CONSOLE with/without bootsplash before udevd creates it > [ -c /dev/console ] || mknod /dev/console c 5 1 > [ -c /dev/tty1 ] || mknod /dev/tty1 c 4 1 > > # udevd will dup its stdin/stdout/stderr to /dev/null > # and we do not want a file which gets buffered in ram > [ -c /dev/null ] || mknod /dev/null c 1 3 > > # copy over any persistant things > if [ -d /lib64/udev/devices ]; then > cp -RPp /lib64/udev/devices/* /dev 2>/dev/null > fi > > # Not provided by sysfs but needed > ln -snf /proc/self/fd /dev/fd > ln -snf fd/0 /dev/stdin > ln -snf fd/1 /dev/stdout > ln -snf fd/2 /dev/stderr > [ -e /proc/kcore ] && ln -snf /proc/kcore /dev/core > > # Create problematic directories > mkdir -p /dev/pts /dev/shm > eend 0 >} > >start_udev() >{ > ebegin "Starting udevd" > start-stop-daemon --start --exec /sbin/udevd -- --daemon > eend $? >} > >populate_udev() >{ > # populate /dev with devices already found by the kernel > if get_bootparam "nocoldplug" ; then > rc_coldplug="NO" > ewarn "Skipping udev coldplug as requested in kernel cmdline" > fi > > # at this point we are already sure to use kernel 2.6.15 or newer > ebegin "Populating /dev with existing devices through uevents" > if yesno "${rc_coldplug}"; then > udevtrigger > else > # only create device nodes > udevtrigger --attr-match=dev > # run persistent-net stuff, bug 191466 > udevtrigger --subsystem-match=net > fi > eend $? > > ebegin "Letting udev process events" > udevsettle --timeout=60 > eend $? > > rm -f /dev/.udev_populate > return 0 >} > >check_persistent_net() >{ > # check if there are problems with persistent-net > local syspath= devs= problem=false > for syspath in /sys/class/net/*_rename*; do > if [ -d "${syspath}" ]; then > devs="${devs} ${syspath##*/}" > problem=true > fi > done > > ${problem} || return 0 > > eerror "UDEV: Your system has a problem assigning persistent names" > eerror "to these network interfaces: ${devs}" > > einfo "Checking persistent-net rules:" > # the sed-expression lists all duplicate lines > # from the input, like "uniq -d" does, but uniq > # is installed into /usr/bin and not available at boot. > dups=$( > RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' > . /lib64/udev/rule_generator.functions > find_all_rules 'NAME=' '.*' | \ > tr ' ' '\n' | \ > sort | \ > sed '$!N; s/^\(.*\)\n\1$/\1/; t; D' > ) > if [ -n "${dups}" ]; then > ewarn "The rules create multiple entries assigning these names:" > eindent > ewarn "${dups}" > eoutdent > else > ewarn "Found no duplicate names in persistent-net rules," > ewarn "there must be some other problem!" > fi > return 1 >} > ># FIXME ># Instead of this script testing kernel version, udev itself should ># Maybe something like udevd --test || exit $? > >mount_dev_directory || exit $? > ># Create a file so that our rc system knows it's still in sysinit. ># Existance means init scripts will not directly run. ># rc will remove the file when done with sysinit. >touch /dev/.rcsysinit > ># Selinux lovin; /selinux should be mounted by selinux-patched init >if [ -x /sbin/restorecon -a -c /selinux/null ]; then > restorecon /dev > /selinux/null >fi > >unpack_device_tarball >seed_dev > >if [ -e /proc/sys/kernel/hotplug ]; then > echo "" >/proc/sys/kernel/hotplug >fi > >start_udev || exit $? > >/lib64/udev/write_root_link_rule >populate_udev >check_persistent_net > ># trigger executing initscript when /etc is writable >IN_HOTPLUG=1 /etc/init.d/udev-postmount start >/dev/null 2>&1 > ># udev started successfully >exit 0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 208245
: 142238 |
142239