On 28/08/12 18:14, William Harrington wrote:

On Aug 28, 2012, at 10:51 AM, Martin Ward wrote:

On 28/08/12 15:43, William Harrington wrote:
Some more updates since I've gone through the pure64 bit book.

I've been trying different udev configurations that make sense, but our udev bootscript isn't matching.

Our bootscript expects /lib/udev/udevadm (that is fixed with --libexecdir=/lib) expects /bin/udevadm (not a problem for now)

We do need to update our bootscript for udev; however. I think udevadm needs to be in /sbin and so the udev bootscript would need to be updated since it runs: /bin/udevadm and not /sbin/udevadm like it should be.

this is what i do
./configure --prefix=/usr --libdir=/lib --bindir=/sbin --sysconfdir=/etc --libexecdir=/lib --disable-rule_generator --disable-introspection --disable-keymap --disable-gudev --with-usb-ids-path=no --with-pci-ids-path=no --with-systemdsystemunitdir=no --with-firmware-path=/lib/firmware

move the pkg-config file to /usr/lib/

ln -sfv /lib/udev/udevd /sbin/udevd


pkg-config file is taken care of with our make install command so that is well in CLFS.

is it proper to link udevd ?
did it for convenience really, saved changing the bootscripts

In the FHS I don't see /libexec anyway, we should maybe make the libexec directory /sbin.
or /sbin/udev. /lib/udev is fine, but then why link it to /sbin ?

I agree we need the bindir to be /sbin.

The rule generator we need for people who want persistent devices, unless I'm wrong, that's what it is for. systemdsystemunitdir is no anyway with our builds. Thanks for some confirmations, still unsure on libexec and udevd.

true

What is the community's thought on this?

I used this configure option the last round:

--prefix=/usr --with-rootprefix="" --sysconfdir=/etc --libexecdir=/lib --enable-rule_generator --disable-introspection --disable-keymap --disable-gudev --with-usb-ids-path=no
--with-pci-ids-path=no

Althouh this will put libudev into /usr/lib. Do we need to make sure the libs get put into /lib in case someone has /usr as a separate partition and it is not yet mounted when the udev script is ran?

I was looking to see what all may be linked to /usr/lib/libudev libraries but I don't see anything that would harm that. But I would like to make all of this proper.


see above
=================BOOTING================

DEVTMPFS issues.

I've had issues with this and the bootscripts as well.

i've changed the bootscripts slightly to take into account , devtmps on /dev, the /run dir, udev just being a permission and group changing util now, my /tmp is also a tmpfs so i don't need to clean it out every time i reboot

could send you a patch to see what you think


A patch would be good. We need to update the bootscripts.

I can test it and see what goes on then communicate with Jonathan when I see him as he oversees the bootscripts.

cheers

Martin
_______________________________________________
Clfs-dev mailing list
[email protected]
http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org

Thanks for the input Martin,

Sincerely,

William Harrington
_______________________________________________
Clfs-dev mailing list
[email protected]
http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org

patch attached , it's a bit rough, but i think you can get the idea from it

martin
diff -Naur bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/cleanfs 
bootscripts-cross-lfs-2.0-pre1/clfs/init.d/cleanfs
--- bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/cleanfs      2012-08-09 
08:19:10.281075893 +0100
+++ bootscripts-cross-lfs-2.0-pre1/clfs/init.d/cleanfs  2012-08-09 
08:21:00.794670946 +0100
@@ -78,23 +78,15 @@
                find . -xdev -mindepth 1 ! -name lost+found \
                        -delete || failed=1
 
-               boot_mesg -n " /var/lock" ${NORMAL}
-               cd /var/lock &&
-               find . -type f ! -newer /proc -exec rm -f {} \; || failed=1
-
-               boot_mesg " /run" ${NORMAL}
-               cd /run &&
-               find . ! -type d ! -name utmp ! -newer /proc \
-                       -exec rm -f {} \; || failed=1
-               > /run/utmp
+               > /var/run/utmp
                if grep -q '^utmp:' /etc/group ; then
-                       chmod 664 /run/utmp
-                       chgrp utmp /run/utmp
+                       chmod 664 /var/run/utmp
+                       chgrp utmp /var/run/utmp
                fi
 
                (exit ${failed})
                evaluate_retval
-
+                boot_mesg "" ${NORMAL}
                if [ -e /etc/sysconfig/createfiles ]; then
                        if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 
2>/dev/null; then
                                boot_mesg "Creating files and directories..."
diff -Naur bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/mountfs 
bootscripts-cross-lfs-2.0-pre1/clfs/init.d/mountfs
--- bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/mountfs      2012-08-09 
08:19:10.281075893 +0100
+++ bootscripts-cross-lfs-2.0-pre1/clfs/init.d/mountfs  2012-08-09 
08:20:10.263407580 +0100
@@ -29,6 +29,8 @@
                mount -f / || failed=1
                mount -f /proc || failed=1
                mount -f /sys || failed=1
+               mount -f /run || failed=1
+               mount -f /dev || failed=1
                (exit ${failed})
                evaluate_retval
 
diff -Naur bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/mountkernfs 
bootscripts-cross-lfs-2.0-pre1/clfs/init.d/mountkernfs
--- bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/mountkernfs  2012-08-09 
08:19:10.281075893 +0100
+++ bootscripts-cross-lfs-2.0-pre1/clfs/init.d/mountkernfs      2012-08-09 
08:21:43.408835447 +0100
@@ -2,7 +2,7 @@
 ########################################################################
 # Begin $rc_base/init.d/mountkernfs
 #
-# Description : Mount proc, sysfs and run (tmpfs)
+# Description : Mount proc and sysfs
 #
 # Authors     : Gerard Beekmans - [email protected]
 #
@@ -21,23 +21,25 @@
 
                if ! mountpoint /proc >/dev/null; then
                        boot_mesg -n " /proc" ${NORMAL}
-                       mount -n /proc || failed=1
+                       mount -n -o nosuid,noexec,nodev -t proc proc /proc || 
failed=1
                fi
 
                if ! mountpoint /sys >/dev/null; then
                        boot_mesg -n " /sys" ${NORMAL}
-                       mount -n /sys || failed=1
+                       mount -n -o nosuid,noexec,nodev -t sysfs sys /sys || 
failed=1
+               fi
+               if ! mountpoint /run >/dev/null; then
+                       boot_mesg -n " /run" ${NORMAL}
+                       mount -n -o mode=0755,nosuid,nodev -t tmpfs run /run || 
failed=1
+               fi
+               if ! mountpoint /dev >/dev/null; then
+                       boot_mesg -n " /dev" ${NORMAL}
+                       mount -n -o mode=0755,nosuid -t devtmpfs dev /dev || 
failed=1
                fi
-
-                if ! mountpoint /run >/dev/null; then
-                        boot_mesg -n " /run" ${NORMAL}
-                        mount -n /run || failed=1
-                fi
-
-               boot_mesg "" ${NORMAL}
-
                (exit ${failed})
-               evaluate_retval
+                                       
+                mkdir -m 1777 /run/lock
+                mkdir -p /dev/{pts,shm}           
                ;;
 
        *)
diff -Naur bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/sendsignals 
bootscripts-cross-lfs-2.0-pre1/clfs/init.d/sendsignals
--- bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/sendsignals  2012-08-09 
08:19:10.281075893 +0100
+++ bootscripts-cross-lfs-2.0-pre1/clfs/init.d/sendsignals      2012-08-09 
08:21:59.374913669 +0100
@@ -23,7 +23,7 @@
 
                sleep ${KILLDELAY}
 
-               if [ "${error_value}" = 0 ]; then
+               if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
                        echo_ok
                else
                        echo_failure
@@ -35,7 +35,7 @@
 
                sleep ${KILLDELAY}
 
-               if [ "${error_value}" = 0 ]; then
+               if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
                        echo_ok
                else
                        echo_failure
diff -Naur bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/udev 
bootscripts-cross-lfs-2.0-pre1/clfs/init.d/udev
--- bootscripts-cross-lfs-2.0-pre1.old/clfs/init.d/udev 2012-08-09 
08:19:10.281075893 +0100
+++ bootscripts-cross-lfs-2.0-pre1/clfs/init.d/udev     2012-08-09 
08:20:23.827113607 +0100
@@ -21,67 +21,43 @@
 
 case "$1" in
     start)
-       boot_mesg "Copying static entries..."
-       cp --preserve=all --recursive --remove-destination /lib/udev/devices/* 
/dev
-       evaluate_retval
-       
-       boot_mesg "Setting Permissons on /dev/shm..."
-       chmod 1777 /dev/shm
-       evaluate_retval
-
        echo "" > /sys/kernel/uevent_helper
 
        # start udevd
-       boot_mesg "Starting udevd..."
-       /lib/udev/udevd --daemon
+       boot_mesg "\nStarting udevd..."
+       /sbin/udevd --daemon
        evaluate_retval
 
        # start coldplugging
        boot_mesg "Performing Coldplugging..."
 
        # unlikely, but we may be faster than the first event
-       mkdir -p /run/udev/queue
+       #mkdir -p /run/.udev/queue
 
        # configure all devices
-       /bin/udevadm trigger --action=add
+       /sbin/udevadm trigger --action=add --type=subsystems
+       /sbin/udevadm trigger --action=add --type=devices
        
        # this replaces the old loop, exits after all devices are done
-       /bin/udevadm settle
+       /sbin/udevadm settle
 
        echo_ok
        ;;
 
     stop)
        boot_mesg "Stopping udevd..."
-       killproc /lib/udev/udevd
+       killproc /sbin/udevd
        ;;
 
     restart)
        boot_mesg "Restarting udevd..."
-       killproc /lib/udev/udevd
-       loadproc /lib/udev/udevd --daemon
+       killproc /sbin/udevd
+       loadproc /sbin/udevd --daemon
        evaluate_retval
        ;;
 
     status)
-       statusproc /lib/udev/udevd
-       ;;
-
-    reload)
-       boot_mesg "Reloading udev rules..."
-       udevadm control reload_rules
-       cp --preserve=all --recursive --update /lib/udev/devices/* /dev
-       evaluate_retval
-       ;;
-
-    force-reload)
-       boot_mesg "Updating all available device nodes in /dev..."
-       udevadm control reload_rules
-       rm -rf /run/udev /dev/disk
-       cp --preserve=all --recursive --update /lib/udev/devices/* /dev
-       /bin/udevadm trigger
-       /bin/udevadm settle
-       evaluate_retval
+       statusproc /sbin/udevd
        ;;
 
     *)
_______________________________________________
Clfs-dev mailing list
[email protected]
http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org

Reply via email to