Attached to Project: CRUX-ARM
Opened by Jose V Beneyto - 2013-11-02
Last edited by Jose V Beneyto - 2013-11-26
Opened by Jose V Beneyto - 2013-11-02
Last edited by Jose V Beneyto - 2013-11-26
FS#62 - initramfs: fix weird problems related to mdev
we have some weird problems related to mdev
1. the /etc/rc script required an extra 'mdev -s' invocation to find the install media
2. after use fdisk, we can see new device nodes for these new partitions
for problem 2 there is a guy who related the same here http://stackoverflow.com/questions/8313196/mdev-racing-when-creating-and-deleting-device-node
anyway a deep review of mdev from busybox should be made to avoid these weird errors
we can also take ideas from http://sepen.it.cx/crux/ports/crux-3.0/sepen/mdev/
Problem 2:
# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 988 MB, 988282880 bytes
31 heads, 61 sectors/track, 1020 cylinders
Units = cylinders of 1891 * 512 = 968192 bytes
/dev/mmcblk0p1 1 264 249581+ 83 Linux
fdisk created second partition
# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 988 MB, 988282880 bytes
31 heads, 61 sectors/track, 1020 cylinders
Units = cylinders of 1891 * 512 = 968192 bytes
/dev/mmcblk0p1 1 264 249581+ 83 Linux
/dev/mmcblk0p2 265 529 250557+ 83 Linux
# ls /dev/mmcblk0*
/dev/mmcblk0 /dev/mmcblk0p1
After changing /dev/pts mount and mdev¡s register as hotplug agent order in rc script as suggested in http://git.busybox.net/busybox/plain/docs/mdev.txt, mmc devices are detected correctly at boot time but we have problems with new created partitions yet.
# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 988 MB, 988282880 bytes
31 heads, 61 sectors/track, 1020 cylinders
Units = cylinders of 1891 * 512 = 968192 bytes
/dev/mmcblk0p1 1 264 249581+ 83 Linux
/dev/mmcblk0p2 265 529 250557+ 83 Linux
/dev/mmcblk0p3 530 633 98332 83 Linux
# cat /proc/partitions
major minor #blocks name
179 0 965120 mmcblk0
179 1 249581 mmcblk0p1
179 2 250557 mmcblk0p2
Proposed patch: Sorts /dev/tmps mount, hotplug and mdev -s
diff –git a/filesystem/rc b/filesystem/rc
index 5b19485..f81c98a 100755
— a/filesystem/rc
+++ b/filesystem/rc
@@ -128,17 +128,17 @@ mount -a && \
mount -o remount,rw /
checkReturn
-echo -e -n " ${BOLD}${BLUE}*${NORM} Populating /dev via mdev... "
-mdev -s
+echo -e -n " ${BOLD}${BLUE}*${NORM} Creating and mounting /dev/pts... "
+mkdir /dev/pts
+mount -t devpts devpts /dev/pts
checkReturn
echo -e -n " ${BOLD}${BLUE}*${NORM} Registering mdev as hotplug agent... "
echo "/bin/mdev" > /proc/sys/kernel/hotplug
checkReturn
-echo -e -n " ${BOLD}${BLUE}*${NORM} Creating and mounting /dev/pts... "
-mkdir /dev/pts
-mount -t devpts devpts /dev/pts
+echo -e -n " ${BOLD}${BLUE}*${NORM} Populating /dev via mdev... "
+mdev -s
checkReturn
echo -e -n " ${BOLD}${BLUE}*${NORM} Starting kernel log daemon... "
@@ -159,9 +159,6 @@ echo -e -n " ${BOLD}${BLUE}*${NORM} Saving boot messages... "
dmesg > /var/log/boot
checkReturn
-# run mdev again to fix issues with mmc devices. yeah, it is weird but worked
-mdev -s
-
echo -e " ${BOLD}${BLUE}*${NORM} Trying to find and mount the media installer..."
find_and_mount_media
or we can just add this script I wrote for mdev port: http://sepen.it.cx/crux/ports/crux-3.0/sepen/mdev/start_mdev
+1