Вы здесь

udev и initng

решил перейти на initng
udev не старуте пишет что не найден /sbin/trigger
собственно как стартует udev?
какая еще информация нужна?

зачем тебе initng?
юзай openrc он быстрее инит нг =)

—

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

я не знал про опенрц.щас попробуем

baselayout2+opernrc и все из каробки работает

Я бы не сказал, openrc существенно медленнее. :(
Но initng что-то у меня не получается пока должным образом настроить - буду пытать.

Давно использую initng,
если стартуют много демонов, то сравнивать со стандартынм boot не имеет смысла, initng просто ураган,
reboot вообще практически моментальный.
openrc не пробовал.

Основная проблема в кривых или устаревших ifiles
Вот созданный мной и прекрасно работающий udev стартер

#!/sbin/itype
# This is a i file, used by initng parsed by install_service

# NAME: udev
# DESCRIPTION: The Linux Userspace Device filesystem
# WWW: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html

virtual system/udev {
	critical;
	need = system/udev/filldev system/udev/udevd;
	also_start = system/udev/move_rules;
}

# start the udev daemon
daemon system/udev/udevd {
	critical;
	need = system/udev/mountdev system/initial/mountvirtfs;
	respawn;
	exec daemon = /sbin/udevd;
}

# copy the rules generated before / was mounted read-write
service system/udev/move_rules {
	need = system/udev/udevd system/mountroot/rootrw;
	script start = {
		for file in /dev/.udev/tmp-rules--*
		do
			dest=${file##*tmp-rules--}
			[ "$dest" = '*' ] && break
			{
				/bin/cp $file /etc/udev/rules.d/$dest
				rm -f $file
			} &
		done
		wait
	};
}

daemon system/udev/udevmonitor {
	need = system/udev/udevd;
	env_file = /etc/conf.d/udev;
	stdout = /dev/.udev/udevmonitor.log;
	exec daemon = /sbin/udevadm monitor ${udev_monitor_opts};
}

service system/udev/mountdev {
	critical;
	need = system/initial/mountvirtfs;
	script start = {
		error() {
			echo "${*}" >&2
			exit 1
		}

		[ -e /proc/filesystems ] || error "udev requires a mounted procfs, not started."
		/bin/grep -q '[[:space:]]tmpfs$' /proc/filesystems || error "udev requires tmpfs support, not started."
		[ -d /sys/block ] || error "udev requires a mounted sysfs, not started."

		# mount a tmpfs over /dev, if somebody did not already do it
		/bin/grep -Eq "^[^[:space:]]+[[:space:]]+/dev[[:space:]]+tmpfs[[:space:]]+" /proc/mounts && exit 0

		if /usr/bin/awk 'BEGIN { mv = 0 } /^[^#]/ { if ($2 == "/dev") mv += 1 } END { exit (mv == 1) && ($3 == "tmpfs") ? 0 : 1 }' /etc/fstab; then
			/bin/mount -n /dev
		else
		# Some devices require exec, Bug #92921
			/bin/mount -n -t tmpfs -o "exec,nosuid,mode=0755,size=10M" udev /dev
		fi
		[ $? != 0 ] && error "udev in /dev his own filesystem (tmpfs), not started."

		# Make some default static onces, so we are sure they will exist.
		/bin/mknod -m0666 /dev/null c 1 3
		/bin/mknod -m0666 /dev/zero c 1 5
		/bin/mknod /dev/console c 5 1

		# Send SIGHUP to initng, will reopen /dev/initctl and
		# /dev/initng.
		# we can't assume that initng has pid 1, e.g. when booting
		# from initrd
		# (NOTE: this happen only on a few distros, and is weird)
		/usr/bin/killall -HUP initng

		exit 0
	};
}

# fill /dev
service system/udev/filldev {
	critical;
	need = system/udev/udevd;
	env_file = /etc/conf.d/udev;
	script start = {
		source /etc/conf.d/rc
		if [ "${RC_DEVICE_TARBALL}" = "yes" -a -e /lib/udev-state/devices.tar.bz2 ]
		then
			cd /dev
			/bin/tar -xjf /lib/udev-state/devices.tar.bz2
		fi
		# populate /dev with devices already found by the kernel
		if /bin/grep -s -q 'nocoldplug' /proc/cmdline; then
			rc_coldplug="NO"
			echo "Skipping udev coldplug as requested in kernel cmdline"
		fi

		# Populating /dev with existing devices through uevents
		if  [ ! "${rc_coldplug}" = "NO" ]; then
			/sbin/udevadm trigger
		else
			# Do not run any init-scripts, Bug #206518
			/sbin/udevadm control --env do_not_run_plug_service=1

			# only create device nodes
			/sbin/udevadm trigger --attr-match=dev

			# run persistent-net stuff, bug 191466
			/sbin/udevadm trigger --subsystem-match=net
		fi
		[ "$?" = "0" ] || exit 1

		# Waiting for uevents to be processed
		/sbin/udevadm settle --timeout=${udev_settle_timeout:-60} || exit 1

		/sbin/udevadm control --env do_not_run_plug_service=
		exit 0
	};
	script stop = {
		source /etc/conf.d/rc
		if [ "${RC_DEVICE_TARBALL}" = "yes" ]
		then
			cd /dev
			/bin/tar -cjf /lib/udev-state/devices.tar.bz2
		fi
		exit 0
	};
}

Вот мой runlevel

system/sysctl
system/swap
system/consolefont
system/udev
system/clock
system/hostname
system/urandom
system/hdparm
system/agetty
daemon/acpid
daemon/hald
daemon/syslog-ng
daemon/gpm
daemon/cpufreqd
service/alsasound/mixerstate
daemon/nut/upsmon
daemon/smartd
net/lo
daemon/wwwoffle
daemon/privoxy
daemon/lirc/irexec
daemon/fcron
net/eth0
daemon/bluetooth/hcid
daemon/bluetooth/rfcomm
daemon/pdnsd

Если кому нужно могу выложить полный патч моего /etc/initng.

есть мнение что вам нужно побывать в нижеозначенном баге в течении недели, иначе оно будет вынесено из дерева, что не есть гуд.

!!! All ebuilds that could satisfy "sys-apps/initng" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/initng-9999 (masked by: package.mask, missing keyword)
/usr/portage/profiles/package.mask:
# Tomáš Chvátal <scarabeus@gentoo.org> (14 Nov 2009)
# Mask all packages that fail to comply to cmake eclass
# and where maintainers were not responsive.
# Will be removed in 30 days
# See bug #287583 and those added to it.

Собственно удаляют по причине отсуствия поддержки,
чего я не могу обеспечить
к тому же у меня слабый английский
На сайте initng бардак, автор его забросил
Похоже из portage его всё таки удалят.
Кстати всё что я писал не относится к 9999.

Причина удаления указана явно — Not using cmake-utils eclass but directly calling cmake command, но пока он даже не собирается. Если ты его собрать смог - то видимо можешь поправить.

Я вроде писал выше,сказанное мной не имеет отношения к 9999
Добавляем в /etc/portage/package.unmask
=sys-apps/initng-0.6.10.2
=sys-apps/initng-ifiles-0.1.5
затем ACCEPT_KEYWORDS=~amd64 emerge -pv sys-apps/initng-ifiles
и все работает.
После модификации udev стартера и с бутом не должно быть проблем
9999 использует cvs, а деятели на initng.org уже полгода переводят его на git
cmake они заменили на jam